All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.ebeaninternal.server.query.STreePropertyAssocMany Maven / Gradle / Ivy

There is a newer version: 15.8.0
Show newest version
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.
   */
  BeanPropertyAssocMany asMany();

  /**
   * Append exported columns to the select.
   */
  void addSelectExported(DbSqlContext ctx, String prefix);

  /**
   * Return true if this is a ManyToMany with history.
   */
  boolean isManyToManyWithHistory();

  /**
   * Return a reference collection.
   */
  BeanCollection createReferenceIfNull(EntityBean localBean);

  /**
   * Return a reference collection forcing a new reference on REFRESH query.
   */
  BeanCollection createReference(EntityBean localBean, boolean forceNewReference);

  /**
   * Populate the collection for read-only disabled lazy loading (aka Java Collections non mutable empty collection).
   */
  void createEmptyReference(EntityBean localBean);

  /**
   * Return true if the property has a join table.
   */
  boolean hasJoinTable();

  /**
   * Return the intersection table join.
   */
  TableJoin intersectionTableJoin();

  /**
   * Add a bean to the collection.
   */
  void addBeanToCollectionWithCreate(EntityBean contextParent, EntityBean detailBean, boolean withCheck);

  /**
   * Return true if the property is excluded from history.
   */
  boolean isExcludedFromHistory();

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy