package io.ebeaninternal.server.deploy.parse;
import io.ebean.RawSql;
import io.ebeaninternal.server.deploy.TableJoin;
import io.ebeaninternal.server.deploy.meta.DeployBeanDescriptor;
import io.ebeaninternal.server.deploy.meta.DeployBeanPropertyAssoc;
import io.ebeaninternal.server.rawsql.SpiRawSql;
Wraps information about a bean during deployment parsing.
/**
* Wraps information about a bean during deployment parsing.
*/
public class DeployBeanInfo<T> {
private final DeployUtil util;
private final DeployBeanDescriptor<T> descriptor;
private DeployBeanPropertyAssoc<?> embeddedId;
Create with a DeployUtil and BeanDescriptor.
/**
* Create with a DeployUtil and BeanDescriptor.
*/
public DeployBeanInfo(DeployUtil util, DeployBeanDescriptor<T> descriptor) {
this.util = util;
this.descriptor = descriptor;
}
@Override
public String toString() {
return String.valueOf(descriptor);
}
Return the BeanDescriptor currently being processed.
/**
* Return the BeanDescriptor currently being processed.
*/
public DeployBeanDescriptor<T> getDescriptor() {
return descriptor;
}
Return the DeployUtil we are using.
/**
* Return the DeployUtil we are using.
*/
public DeployUtil getUtil() {
return util;
}
Add named RawSql from ebean.xml.
/**
* Add named RawSql from ebean.xml.
*/
public void addRawSql(String name, RawSql rawSql) {
descriptor.addRawSql(name, (SpiRawSql)rawSql);
}
Add the named query.
/**
* Add the named query.
*/
public void addNamedQuery(String name, String query) {
descriptor.addNamedQuery(name, query);
}
Set that the PK is also a foreign key.
/**
* Set that the PK is also a foreign key.
*/
public void setPrimaryKeyJoin(TableJoin join) {
descriptor.setPrimaryKeyJoin(join);
}
This bean type has an embedded Id property.
/**
* This bean type has an embedded Id property.
*/
public void setEmbeddedId(DeployBeanPropertyAssoc<?> embeddedId) {
this.embeddedId = embeddedId;
}
public Class<?> getEmbeddedIdType() {
return (embeddedId == null) ? null : embeddedId.getTargetType();
}
public boolean isEmbedded() {
return descriptor.isEmbedded();
}
}