package io.ebeaninternal.server.query;
import io.ebean.bean.BeanCollection;
import io.ebean.bean.EntityBean;
import io.ebeaninternal.server.deploy.BeanPropertyAssocMany;
import io.ebeaninternal.server.deploy.DbSqlContext;
import io.ebeaninternal.server.deploy.TableJoin;
public interface STreePropertyAssocMany extends STreePropertyAssoc {
Return as BeanPropertyAssocMany.
/**
* Return as BeanPropertyAssocMany.
*/
BeanPropertyAssocMany<?> asMany();
Append exported columns to the select.
/**
* Append exported columns to the select.
*/
void addSelectExported(DbSqlContext ctx, String prefix);
Return true if this is a ManyToMany with history.
/**
* Return true if this is a ManyToMany with history.
*/
boolean isManyToManyWithHistory();
Return a reference collection.
/**
* Return a reference collection.
*/
BeanCollection<?> createReferenceIfNull(EntityBean localBean);
Return a reference collection forcing a new reference on REFRESH query.
/**
* Return a reference collection forcing a new reference on REFRESH query.
*/
BeanCollection<?> createReference(EntityBean localBean, boolean forceNewReference);
Return true if the property has a join table.
/**
* Return true if the property has a join table.
*/
boolean hasJoinTable();
Return the intersection table join.
/**
* Return the intersection table join.
*/
TableJoin getIntersectionTableJoin();
Add a bean to the collection.
/**
* Add a bean to the collection.
*/
void addBeanToCollectionWithCreate(EntityBean contextParent, EntityBean detailBean, boolean withCheck);
Return true if the property is excluded from history.
/**
* Return true if the property is excluded from history.
*/
boolean isExcludedFromHistory();
}