com.enterprisemath.dao.big.BigEntityDao Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of em-dao Show documentation
Show all versions of em-dao Show documentation
Simple and powerful data access layer.
package com.enterprisemath.dao.big;
import com.enterprisemath.dao.filter.Criterium;
import com.enterprisemath.dao.filter.Filter;
import java.util.List;
import java.util.Set;
/**
* Data access layer for objects with big data.
*
* Note: Adding functions to this interface will NOT be
* considered as breaking binary compatibility.
*
*
* @author radek.hecl
*/
public interface BigEntityDao {
/**
* Inserts big entity.
*
* @param type entity type
* @param entity entity
* @param options options for query behavior
*/
public void insertBigEntity(String type, BigEntity entity, InsertOptions options);
/**
* Inserts big entities. This gives the chance to optimize bulk insertion.
* Precondition is that all entities must have exactly same fields.
*
* @param type type of entities
* @param entities entities to insert, all entities MUST have same fields
* @param options options for query behavior
*/
public void insertBigEntities(String type, List entities, InsertOptions options);
/**
* Selects big entities.
*
* @param type entity type
* @param filter filter
* @param fields fields to pull
* @param options options for query behavior
* @return iterator for entities
*/
public BigEntityIterator selectBigEntities(String type, Filter filter, Set fields, SelectOptions options);
/**
* Counts big entities.
*
* @param type entity type
* @param criteria criteria
* @param options options for query behavior
* @return number of big entities satisfying the criteria
*/
public long countBigEntities(String type, List> criteria, CountOptions options);
/**
* Updates big entities.
*
* @param type entity type
* @param code code of the updated entity
* @param update update descriptor
* @param options options for query behavior
*/
public void updateBigEntity(String type, String code, BigEntityUpdate update, UpdateOptions options);
/**
* Deletes big entity.
*
* @param type entity type
* @param code identification code
* @param options options for query behavior
*/
public void deleteBigEntity(String type, String code, DeleteOptions options);
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy