Package android.databinding.tool.expr
Class ListenerExpr
- java.lang.Object
-
- android.databinding.tool.expr.Expr
-
- android.databinding.tool.expr.ListenerExpr
-
- All Implemented Interfaces:
android.databinding.tool.expr.VersionProvider,android.databinding.tool.processing.scopes.LocationScopeProvider,android.databinding.tool.processing.scopes.ScopeProvider
public class ListenerExpr extends Expr
This wraps an expression, but makes it unique for a particular event listener type. This is used to differentiate listener methods. For example:public void onFoo(String str) {...} public void onFoo(int i) {...}
-
-
Field Summary
-
Fields inherited from class android.databinding.tool.expr.Expr
KEY_END, KEY_JOIN, KEY_JOIN_END, KEY_JOIN_START, KEY_START, mChildren, NO_ID
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ExprcloneToModel(ExprModel model)protected java.lang.StringcomputeUniqueKey()protected java.util.List<Dependency>constructDependencies()android.databinding.tool.writer.KCodegenerateCode()java.lang.StringgetInvertibleError()ModelMethodgetMethod()java.lang.StringgetName()ExprgetTarget()voidinjectSafeUnboxing(android.databinding.tool.reflection.ModelAnalyzer modelAnalyzer, ExprModel model)Called after experiment model is sealed to avoid NPE problems caused by boxed primitives.booleanisDynamic()Whether the result of this expression can change or not.protected android.databinding.tool.reflection.ModelClassresolveType(android.databinding.tool.reflection.ModelAnalyzer modelAnalyzer)java.lang.StringtoString()-
Methods inherited from class android.databinding.tool.expr.Expr
addJustMeToExecutionPath, addLocation, asPackage, assertIsInvertible, canBeEvaluatedToAVariable, canBeInvalidated, cloneToModel, considerElevatingConditionals, constructDynamicChildrenDependencies, enableDirectInvalidation, generateInverse, getAllCalculationPaths, getChildren, getDefaultValue, getDependants, getDependencies, getId, getInvalidFlags, getLocations, getModel, getParents, getPredicateInvalidFlags, getReadSoFar, getRequirementFlagIndex, getRequirementId, getResolvedType, getShouldReadFlags, getShouldReadFlagsWithConditionals, getUniqueKey, getUpdateRegistrationCall, getVersion, hasConditionalDependant, hasId, hasNestedCannotRead, invalidateReadFlags, isBindingExpression, isConditional, isEqualityCheck, isIsUsedInCallback, isObservable, isRead, isUsed, join, join, markAsBindingExpression, markAsReadIfDone, markAsUsed, markAsUsedInCallback, markFlagsAsRead, onSwappedWith, provideScopeLocation, recursivelyInjectSafeUnboxing, resetResolvedType, resolveListeners, resolveTwoWayExpressions, safeUnboxChild, setId, setModel, setRequirementId, setUnwrapObservableFields, shouldReadNow, toCode, toExecutionPath, toExecutionPath, toExecutionPathInOrder, toExecutionPathInOrder, toFullCode, trimShouldReadFlags, unwrapChildTo, unwrapObservableField, unwrapObservableFieldChildren, updateExpr
-
-
-
-
Method Detail
-
resolveType
protected android.databinding.tool.reflection.ModelClass resolveType(android.databinding.tool.reflection.ModelAnalyzer modelAnalyzer)
- Specified by:
resolveTypein classExpr
-
injectSafeUnboxing
public void injectSafeUnboxing(android.databinding.tool.reflection.ModelAnalyzer modelAnalyzer, ExprModel model)Description copied from class:ExprCalled after experiment model is sealed to avoid NPE problems caused by boxed primitives.- Specified by:
injectSafeUnboxingin classExpr
-
getMethod
public ModelMethod getMethod()
-
getTarget
public Expr getTarget()
-
getName
public java.lang.String getName()
-
isDynamic
public boolean isDynamic()
Description copied from class:ExprWhether the result of this expression can change or not. For example, 3 + 5 can not change vs 3 + x may change. Default implementations checks children and returns true if any of them returns true
-
constructDependencies
protected java.util.List<Dependency> constructDependencies()
- Specified by:
constructDependenciesin classExpr
-
computeUniqueKey
protected java.lang.String computeUniqueKey()
- Specified by:
computeUniqueKeyin classExpr
-
generateCode
public android.databinding.tool.writer.KCode generateCode()
- Specified by:
generateCodein classExpr
-
cloneToModel
public Expr cloneToModel(ExprModel model)
- Specified by:
cloneToModelin classExpr
-
getInvertibleError
public java.lang.String getInvertibleError()
- Specified by:
getInvertibleErrorin classExpr- Returns:
- The reason the expression wasn't invertible or null if it was invertible.
-
-