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

io.ebeaninternal.api.LoadManyBuffer Maven / Gradle / Ivy

There is a newer version: 15.8.0
Show newest version
package io.ebeaninternal.api;

import io.ebean.bean.BeanCollection;
import io.ebean.bean.ObjectGraphNode;
import io.ebean.bean.PersistenceContext;
import io.ebeaninternal.server.deploy.BeanDescriptor;
import io.ebeaninternal.server.deploy.BeanPropertyAssocMany;

/**
 * A buffer of bean collections for batch lazy loading and secondary query loading.
 */
public interface LoadManyBuffer {

  /**
   * The batch (max) size;
   */
  int batchSize();

  /**
   * The actual size.
   */
  int size();

  /**
   * Get the ith element from buffer. This can be null.
   */
  BeanCollection get(int i);

  /**
   * Removes an element from the buffer. This will NOT affect size.
   */
  boolean removeFromBuffer(BeanCollection collection);

  BeanPropertyAssocMany beanProperty();

  ObjectGraphNode objectGraphNode();

  BeanDescriptor descriptor();

  PersistenceContext persistenceContext();

  String fullPath();

  void configureQuery(SpiQuery query);

  boolean isUseDocStore();
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy