/** * Get an Expression language Value object. */ public ElPropertyValue getElGetValue(String propName) { ElPropertyValue elGetValue = elCache.get(propName); if (elGetValue != null) { return elGetValue; } elGetValue = buildElGetValue(propName, null, false); if (elGetValue != null) { elCache.put(propName, elGetValue); } return elGetValue; }
/** * Similar to ElPropertyValue but also uses foreign key shortcuts. * <p> * The foreign key shortcuts means we can avoid unnecessary joins. * </p> */ public ElPropertyDeploy getElPropertyDeploy(String propName) { ElPropertyDeploy elProp = elDeployCache.get(propName); if (elProp != null) { return elProp; } if (!propName.contains(".")) { // No period means simple property and no need to look for // foreign key properties (in order to avoid an extra join) elProp = getElGetValue(propName); } else { elProp = buildElGetValue(propName, null, true); } if (elProp != null) { elDeployCache.put(propName, elProp); } return elProp; }
/** * Create a ElPropertyValue for a *ToOne or *ToMany. */ protected ElPropertyValue createElPropertyValue(String propName, String remainder, ElPropertyChainBuilder chain, boolean propertyDeploy) { // associated or embedded bean BeanDescriptor<?> embDesc = getTargetDescriptor(); if (chain == null) { chain = new ElPropertyChainBuilder(isEmbedded(), propName); } chain.add(this); if (containsMany()) { chain.setContainsMany(); } return embDesc.buildElGetValue(remainder, chain, propertyDeploy); }
/** * Get an Expression language Value object. */ public ElPropertyValue getElGetValue(String propName) { ElPropertyValue elGetValue = elCache.get(propName); if (elGetValue != null) { return elGetValue; } elGetValue = buildElGetValue(propName, null, false); if (elGetValue != null) { elCache.put(propName, elGetValue); } return elGetValue; }
/** * Similar to ElPropertyValue but also uses foreign key shortcuts. * <p> * The foreign key shortcuts means we can avoid unnecessary joins. * </p> */ public ElPropertyDeploy getElPropertyDeploy(String propName) { ElPropertyDeploy elProp = elDeployCache.get(propName); if (elProp != null) { return elProp; } if (!propName.contains(".")) { // No period means simple property and no need to look for // foreign key properties (in order to avoid an extra join) elProp = getElGetValue(propName); } else { elProp = buildElGetValue(propName, null, true); } if (elProp != null) { elDeployCache.put(propName, elProp); } return elProp; }
/** * Create a ElPropertyValue for a *ToOne or *ToMany. */ protected ElPropertyValue createElPropertyValue(String propName, String remainder, ElPropertyChainBuilder chain, boolean propertyDeploy) { // associated or embedded bean BeanDescriptor<?> embDesc = getTargetDescriptor(); if (chain == null) { chain = new ElPropertyChainBuilder(isEmbedded(), propName); } chain.add(this); if (containsMany()) { chain.setContainsMany(); } return embDesc.buildElGetValue(remainder, chain, propertyDeploy); }