android.databinding.tool.expr
Class LambdaExpr

java.lang.Object
  extended by android.databinding.tool.expr.Expr
      extended by android.databinding.tool.expr.LambdaExpr
All Implemented Interfaces:
VersionProvider, android.databinding.tool.processing.scopes.LocationScopeProvider, android.databinding.tool.processing.scopes.ScopeProvider

public class LambdaExpr
extends Expr


Field Summary
 
Fields inherited from class android.databinding.tool.expr.Expr
KEY_JOIN, mChildren, NO_ID
 
Constructor Summary
LambdaExpr(Expr expr, CallbackExprModel callbackExprModel)
           
 
Method Summary
protected  java.lang.String computeUniqueKey()
           
protected  java.util.List<Dependency> constructDependencies()
           
protected  android.databinding.tool.writer.KCode generateCode(boolean expand)
           
 java.lang.String generateConstructor()
           
 CallbackExprModel getCallbackExprModel()
           
 int getCallbackId()
           
 CallbackWrapper getCallbackWrapper()
           
 ExecutionPath getExecutionPath()
           
 Expr getExpr()
           
protected  java.lang.String getInvertibleError()
           
 boolean isDynamic()
          Whether the result of this expression can change or not.
 void markAsUsed()
           
 Expr resolveListeners(ModelClass valueType, Expr parent)
           
protected  ModelClass resolveType(ModelAnalyzer modelAnalyzer)
           
 void setup(ModelClass klass, ModelMethod method, int callbackId)
           
 java.util.List<ExecutionPath> toExecutionPath(java.util.List<ExecutionPath> paths)
           
 
Methods inherited from class android.databinding.tool.expr.Expr
addJustMeToExecutionPath, addLocation, addTwoWay, asPackage, assertIsInvertible, canBeEvaluatedToAVariable, canBeInvalidated, computeChildrenKey, considerElevatingConditionals, constructDynamicChildrenDependencies, enableDirectInvalidation, getAllCalculationPaths, getChildren, getDefaultValue, getDependants, getDependencies, getId, getInvalidFlags, getLocations, getModel, getParents, getPredicateInvalidFlags, getReadSoFar, getRequirementFlagIndex, getRequirementId, getResolvedType, getShouldReadFlags, getShouldReadFlagsWithConditionals, getUniqueKey, getVersion, hasConditionalDependant, hasId, hasNestedCannotRead, invalidateReadFlags, isBindingExpression, isConditional, isEqualityCheck, isIsUsedInCallback, isObservable, isRead, isTwoWay, isUsed, join, join, markAsReadIfDone, markAsUsedInCallback, markFlagsAsRead, onSwappedWith, provideScopeLocation, resetResolvedType, resolveTwoWayExpressions, setBindingExpression, setId, setModel, setRequirementId, setTwoWay, shouldReadNow, toCode, toCode, toExecutionPath, toExecutionPathInOrder, toExecutionPathInOrder, toFullCode, toInverseCode, toString, trimShouldReadFlags, updateExpr
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

LambdaExpr

public LambdaExpr(Expr expr,
                  CallbackExprModel callbackExprModel)
Method Detail

getExpr

public Expr getExpr()

getCallbackExprModel

public CallbackExprModel getCallbackExprModel()

resolveType

protected ModelClass resolveType(ModelAnalyzer modelAnalyzer)
Specified by:
resolveType in class Expr

constructDependencies

protected java.util.List<Dependency> constructDependencies()
Specified by:
constructDependencies in class Expr

getCallbackWrapper

public CallbackWrapper getCallbackWrapper()

resolveListeners

public Expr resolveListeners(ModelClass valueType,
                             Expr parent)
Overrides:
resolveListeners in class Expr

computeUniqueKey

protected java.lang.String computeUniqueKey()
Overrides:
computeUniqueKey in class Expr

isDynamic

public boolean isDynamic()
Description copied from class: Expr
Whether 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

Overrides:
isDynamic in class Expr
Returns:
True if the result of this expression may change due to variables

generateCode

protected android.databinding.tool.writer.KCode generateCode(boolean expand)
Specified by:
generateCode in class Expr

generateConstructor

public java.lang.String generateConstructor()

markAsUsed

public void markAsUsed()
Overrides:
markAsUsed in class Expr

getInvertibleError

protected java.lang.String getInvertibleError()
Specified by:
getInvertibleError in class Expr
Returns:
The reason the expression wasn't invertible or null if it was invertible.

toExecutionPath

public java.util.List<ExecutionPath> toExecutionPath(java.util.List<ExecutionPath> paths)
Overrides:
toExecutionPath in class Expr

getExecutionPath

public final ExecutionPath getExecutionPath()

getCallbackId

public int getCallbackId()

setup

public void setup(ModelClass klass,
                  ModelMethod method,
                  int callbackId)