1 package com.google.android.enterprise.connectedapps.processor.containers;
2 
3 import com.google.android.enterprise.connectedapps.annotations.CrossProfileCallback;
4 import com.google.auto.value.AutoValue;
5 import javax.lang.model.element.Name;
6 import javax.lang.model.element.VariableElement;
7 
8 /** Wrapper of a {@link CrossProfileCallback} parameter on a method. */
9 @AutoValue
10 public abstract class CrossProfileCallbackParameterInfo {
11 
crossProfileCallbackInterface()12   public abstract CrossProfileCallbackInterfaceInfo crossProfileCallbackInterface();
13 
variable()14   public abstract VariableElement variable();
15 
getSimpleName()16   public Name getSimpleName() {
17     return variable().getSimpleName();
18   }
19 
create( Context context, VariableElement variableElement)20   public static CrossProfileCallbackParameterInfo create(
21       Context context, VariableElement variableElement) {
22     return new AutoValue_CrossProfileCallbackParameterInfo(
23         CrossProfileCallbackInterfaceInfo.create(
24             context.elements().getTypeElement(variableElement.asType().toString())),
25         variableElement);
26   }
27 }
28