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