io.ebeaninternal.server.deploy.DeployPropertyParser Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of ebean Show documentation
Show all versions of ebean Show documentation
composite of common runtime dependencies for all platforms
package io.ebeaninternal.server.deploy;
import io.ebeaninternal.server.el.ElPropertyDeploy;
import java.util.HashSet;
import java.util.Set;
/**
* Converts logical property names to database columns with table alias.
*
* In doing so it builds an 'includes' set which becomes the joins required to
* support the properties parsed.
*
*/
public final class DeployPropertyParser extends DeployParser {
private final BeanDescriptor> beanDescriptor;
private final Set includes = new HashSet<>();
public DeployPropertyParser(BeanDescriptor> beanDescriptor) {
this.beanDescriptor = beanDescriptor;
}
@Override
public Set getIncludes() {
return includes;
}
@Override
public String getDeployWord(String expression) {
ElPropertyDeploy elProp = beanDescriptor.getElPropertyDeploy(expression);
if (elProp == null) {
return null;
} else {
addIncludes(elProp.getElPrefix());
return elProp.getElPlaceholder(encrypted);
}
}
@Override
public String convertWord() {
String r = getDeployWord(word);
return r == null ? word : r;
}
private void addIncludes(String prefix) {
if (prefix != null) {
includes.add(prefix);
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy