java.lang.Object
io.ebeaninternal.server.el.ElPropertyChain
- All Implemented Interfaces:
ExpressionPath,ElPropertyDeploy,ElPropertyValue
A ElGetValue based on a chain of properties.
Used to get the value for an compound expression like customer.name or customer.shippingAddress.city etc.
Note that if any element in the chain returns null, then null is returned and no further processing of the chain occurs.
-
Field Summary
Fields inherited from interface io.ebeaninternal.server.el.ElPropertyDeploy
ROOT_ELPREFIX -
Constructor Summary
ConstructorsConstructorDescriptionElPropertyChain(boolean containsMany, boolean embedded, String expression, ElPropertyValue[] chain) -
Method Summary
Modifier and TypeMethodDescriptionassocIdExpression(String prefix, String operator) assocIdInExpr(String prefix) Return the logical id in expression taking into account embedded id's.assocIdInValueExpr(boolean not, int size) Return the logical id value expression taking into account embedded id's.Object[]assocIdValues(EntityBean bean) assocIsEmpty(SpiExpressionRequest request, String path) Return the logical where clause to support "Is empty".Return the underlying bean property.booleanReturn true if the property is a formula with a join clause.booleanReturn true if there is a property on the path that is a many property.booleancontainsManySince(String sinceProperty) Return true if there is a many property from sinceProperty to the end of this chain.dbColumn()Return the deployment db column for this property.elName()The ElPrefix plus name.elPlaceholder(boolean encrypted) Return the place holder in the form of ${elPrefix}dbColumn.elPrefix()Return the prefix path of the property.intReturn the fetch preference.booleanReturn true if this is an aggregation property.booleanReturn true if this is an ManyToOne or OneToOne associated bean property.booleanReturn true if the property is a OneToMany or ManyToMany associated bean property.booleanReturn true if any path of this path contains a Associated One or Many.booleanReturn true if the property is encrypted in the DB.booleanReturn true if the property is encrypted via Java.intjdbcType()localEncrypt(Object value) Encrypt the input value return the encrypted value.name()Return the name of the property.pathGetNested(Object bean) Return the value ensuring objects prior to the top scalar property are automatically populated.voidproperty()toString()
-
Constructor Details
-
ElPropertyChain
public ElPropertyChain(boolean containsMany, boolean embedded, String expression, ElPropertyValue[] chain)
-
-
Method Details
-
toString
-
fetchPreference
public int fetchPreference()Description copied from interface:ElPropertyDeployReturn the fetch preference. This can be used to control which ToMany relationship is left as a 'join' and which get converted to query join.- Specified by:
fetchPreferencein interfaceElPropertyDeploy
-
isAggregation
public boolean isAggregation()Description copied from interface:ElPropertyDeployReturn true if this is an aggregation property.- Specified by:
isAggregationin interfaceElPropertyDeploy
-
containsManySince
Return true if there is a many property from sinceProperty to the end of this chain.- Specified by:
containsManySincein interfaceElPropertyDeploy
-
containsFormulaWithJoin
public boolean containsFormulaWithJoin()Description copied from interface:ElPropertyDeployReturn true if the property is a formula with a join clause.- Specified by:
containsFormulaWithJoinin interfaceElPropertyDeploy
-
containsMany
public boolean containsMany()Description copied from interface:ElPropertyDeployReturn true if there is a property on the path that is a many property.- Specified by:
containsManyin interfaceElPropertyDeploy- Specified by:
containsManyin interfaceExpressionPath
-
elPrefix
Description copied from interface:ElPropertyDeployReturn the prefix path of the property.This is use to determine joins required to support this property.
- Specified by:
elPrefixin interfaceElPropertyDeploy
-
name
Description copied from interface:ElPropertyDeployReturn the name of the property.- Specified by:
namein interfaceElPropertyDeploy
-
elName
Description copied from interface:ElPropertyDeployThe ElPrefix plus name.- Specified by:
elNamein interfaceElPropertyDeploy- Specified by:
elNamein interfaceExpressionPath
-
elPlaceholder
Description copied from interface:ElPropertyDeployReturn the place holder in the form of ${elPrefix}dbColumn.The ${elPrefix} is replaced by the appropriate table alias.
- Specified by:
elPlaceholderin interfaceElPropertyDeploy
-
isDbEncrypted
public boolean isDbEncrypted()Description copied from interface:ElPropertyValueReturn true if the property is encrypted in the DB.- Specified by:
isDbEncryptedin interfaceElPropertyValue
-
isLocalEncrypted
public boolean isLocalEncrypted()Description copied from interface:ElPropertyValueReturn true if the property is encrypted via Java.- Specified by:
isLocalEncryptedin interfaceElPropertyValue
-
localEncrypt
Description copied from interface:ElPropertyValueEncrypt the input value return the encrypted value.- Specified by:
localEncryptin interfaceElPropertyValue
-
assocIsEmpty
Description copied from interface:ElPropertyValueReturn the logical where clause to support "Is empty".- Specified by:
assocIsEmptyin interfaceElPropertyValue
-
assocIdValues
- Specified by:
assocIdValuesin interfaceExpressionPath
-
assocIdExpression
- Specified by:
assocIdExpressionin interfaceExpressionPath
-
assocIdInExpr
Description copied from interface:ElPropertyValueReturn the logical id in expression taking into account embedded id's.- Specified by:
assocIdInExprin interfaceElPropertyValue
-
assocIdInValueExpr
Description copied from interface:ElPropertyValueReturn the logical id value expression taking into account embedded id's.- Specified by:
assocIdInValueExprin interfaceElPropertyValue
-
isAssocMany
public boolean isAssocMany()Description copied from interface:ElPropertyValueReturn true if the property is a OneToMany or ManyToMany associated bean property.- Specified by:
isAssocManyin interfaceElPropertyValue
-
property
- Specified by:
propertyin interfaceExpressionPath
-
isAssocId
public boolean isAssocId()Description copied from interface:ElPropertyValueReturn true if this is an ManyToOne or OneToOne associated bean property.- Specified by:
isAssocIdin interfaceElPropertyValue- Specified by:
isAssocIdin interfaceExpressionPath
-
isAssocProperty
public boolean isAssocProperty()Description copied from interface:ElPropertyValueReturn true if any path of this path contains a Associated One or Many.- Specified by:
isAssocPropertyin interfaceElPropertyValue
-
dbColumn
Description copied from interface:ElPropertyDeployReturn the deployment db column for this property.- Specified by:
dbColumnin interfaceElPropertyDeploy
-
beanProperty
Description copied from interface:ElPropertyDeployReturn the underlying bean property.- Specified by:
beanPropertyin interfaceElPropertyDeploy
-
jdbcType
public int jdbcType()- Specified by:
jdbcTypein interfaceExpressionPath
-
stringParser
- Specified by:
stringParserin interfaceExpressionPath
-
convert
- Specified by:
convertin interfaceExpressionPath
-
pathGet
- Specified by:
pathGetin interfaceExpressionPath
-
pathGetNested
Description copied from interface:ElPropertyValueReturn the value ensuring objects prior to the top scalar property are automatically populated.- Specified by:
pathGetNestedin interfaceElPropertyValue
-
pathSet
- Specified by:
pathSetin interfaceExpressionPath
-