public class BindingTarget
extends java.lang.Object
implements android.databinding.tool.processing.scopes.LocationScopeProvider
| Constructor and Description |
|---|
BindingTarget(android.databinding.tool.store.ResourceBundle.BindingTargetBundle bundle) |
| Modifier and Type | Method and Description |
|---|---|
void |
addBinding(java.lang.String name,
Expr expr) |
InverseBinding |
addInverseBinding(java.lang.String name,
Expr expr,
java.lang.String bindingClass) |
InverseBinding |
addInverseBinding(java.lang.String name,
SetterStore.BindingGetterCall call) |
java.util.List<Binding> |
getBindings() |
java.lang.String |
getId() |
java.lang.String |
getIncludedLayout() |
java.lang.String |
getIncludedLayoutPackage() |
java.lang.String |
getInterfaceType() |
java.util.List<InverseBinding> |
getInverseBindings() |
ExprModel |
getModel() |
java.lang.String |
getOriginalTag() |
android.databinding.tool.reflection.ModelClass |
getResolvedType() |
java.lang.String |
getTag() |
java.lang.String |
getViewClass() |
void |
injectSafeUnboxing(ExprModel exprModel)
Called after experiment model is sealed to avoid NPE problems caused by boxed primitives.
|
boolean |
isBinder()
This will return true for both DataBinding and ViewBinding targets.
|
boolean |
isUsed() |
java.util.List<android.databinding.tool.store.Location> |
provideScopeLocation() |
void |
resolveCallbackParams() |
void |
resolveListeners() |
void |
resolveMultiSetters()
Called after BindingTarget is finalized.
|
void |
resolveTwoWayExpressions() |
void |
setModel(ExprModel model) |
boolean |
supportsTag() |
public BindingTarget(android.databinding.tool.store.ResourceBundle.BindingTargetBundle bundle)
public boolean isUsed()
public void addBinding(java.lang.String name,
Expr expr)
public java.lang.String getInterfaceType()
public InverseBinding addInverseBinding(java.lang.String name, Expr expr, java.lang.String bindingClass)
public InverseBinding addInverseBinding(java.lang.String name, SetterStore.BindingGetterCall call)
public java.util.List<android.databinding.tool.store.Location> provideScopeLocation()
provideScopeLocation in interface android.databinding.tool.processing.scopes.LocationScopeProviderpublic java.lang.String getId()
public java.lang.String getTag()
public java.lang.String getOriginalTag()
public java.lang.String getViewClass()
public android.databinding.tool.reflection.ModelClass getResolvedType()
public java.lang.String getIncludedLayout()
@Nullable public java.lang.String getIncludedLayoutPackage()
public boolean isBinder()
public boolean supportsTag()
public java.util.List<Binding> getBindings()
public java.util.List<InverseBinding> getInverseBindings()
public ExprModel getModel()
public void setModel(ExprModel model)
public void injectSafeUnboxing(ExprModel exprModel)
public void resolveListeners()
public void resolveCallbackParams()
public void resolveTwoWayExpressions()
public void resolveMultiSetters()
We traverse all bindings and ask SetterStore to figure out if any can be combined. When N bindings are combined, they are demoted from being a binding expression and a new ArgList expression is added as the new binding expression that depends on others.