Interface OfBizDelegator

All Known Implementing Classes:
DefaultOfBizDelegator, LockedDatabaseOfBizDelegator, MockOfBizDelegator, WrappingOfBizDelegator

@PublicApi public interface OfBizDelegator
A wrapper around DelegatorInterface that does not throw GenericEntityException.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final String
     
    static final String
     
    static final String
     
    static final String
     
  • Method Summary

    Modifier and Type
    Method
    Description
    int
    bulkCopyColumnValuesByAnd(String entityName, Map updateColumns, Map criteria)
    This can be used to perform an update on the entityName of all the rows identified by AND criteria of the fields specified by the criteria map.
    int
    bulkUpdateByAnd(String entityName, Map<String,?> updateValues, Map<String,?> criteria)
    This can be used to perform an update on the entityName of all the rows identified by AND criteria of the fields specified by the criteria map.
    int
    bulkUpdateByPrimaryKey(String entityName, Map<String,?> updateValues, List<Long> keys)
    This can be used to perform an update on the entityName of all the rows identified by the keys with the values stored in the updateValues.
    org.ofbiz.core.entity.GenericValue
    createValue(String entityName, Map<String,Object> fields)
    Creates a new GenericValue, and persists it.
    void
    Creates a new GenericValue, and persists it without trying to automatically populate the ID column.
    List<org.ofbiz.core.entity.GenericValue>
     
    List<org.ofbiz.core.entity.GenericValue>
    findAll(String s, List<String> orderBy)
     
    List<org.ofbiz.core.entity.GenericValue>
    findByAnd(String entityName, List<org.ofbiz.core.entity.EntityCondition> expressions)
     
    List<org.ofbiz.core.entity.GenericValue>
    findByAnd(String entityName, Map<String,?> fields)
    Finds GenericValue records by all of the specified fields (ie: combined using AND).
    List<org.ofbiz.core.entity.GenericValue>
    findByAnd(String entityName, Map<String,?> fields, List<String> orderBy)
     
    List<org.ofbiz.core.entity.GenericValue>
    findByCondition(String entityName, org.ofbiz.core.entity.EntityCondition entityCondition, Collection<String> fieldsToSelect)
    Finds GenericValues by the conditions specified in the EntityCondition object with no specified order.
    List<org.ofbiz.core.entity.GenericValue>
    findByCondition(String entityName, org.ofbiz.core.entity.EntityCondition entityCondition, Collection<String> fieldsToSelect, List<String> orderBy)
    Finds GenericValues by the conditions specified in the EntityCondition object.
    List<org.ofbiz.core.entity.GenericValue>
    findByField(String entityName, String fieldName, Object fieldValue)
    Finds GenericValue records by the specified field value.
    List<org.ofbiz.core.entity.GenericValue>
    findByField(String entityName, String fieldName, Object fieldValue, String orderBy)
    Finds GenericValue records by the specified field value.
    org.ofbiz.core.entity.GenericValue
    findById(String entityName, Long id)
    Find a Generic Entity by its numeric ID.
    List<org.ofbiz.core.entity.GenericValue>
    findByLike(String entityName, Map<String,?> map)
     
    List<org.ofbiz.core.entity.GenericValue>
    findByLike(String entityName, Map<String,?> map, List<String> orderBy)
     
    List<org.ofbiz.core.entity.GenericValue>
    findByOr(String entityName, List<? extends org.ofbiz.core.entity.EntityCondition> expressions, List<String> orderBy)
     
    org.ofbiz.core.entity.GenericValue
    findByPrimaryKey(String entityName, Long id)
    Find a Generic Entity by its single numeric Primary Key.
    org.ofbiz.core.entity.GenericValue
    findByPrimaryKey(String entityName, Map<String,?> fields)
    Find a Generic Entity by its Primary Key.
    findListIteratorByCondition(String entityType, org.ofbiz.core.entity.EntityCondition condition)
    Returns a new OfBizListIterator.
    findListIteratorByCondition(String entityName, org.ofbiz.core.entity.EntityCondition whereEntityCondition, org.ofbiz.core.entity.EntityCondition havingEntityCondition, Collection<String> fieldsToSelect, List<String> orderBy, org.ofbiz.core.entity.EntityFindOptions entityFindOptions)
    Returns a new OfBizListIterator.
    long
    getCount(String entityName)
    Runs a COUNT * query over the given entity.
    long
    getCountByAnd(String entityName, Map<String,?> fields)
    Runs a COUNT * query over the given entity with some WHERE conditions.
    long
    getCountByAnd(String entityName, org.ofbiz.core.entity.EntityCondition condition)
    Runs a COUNT * query over the given entity with some WHERE conditions.
    org.ofbiz.core.entity.DelegatorInterface
    Returns the underlying raw Entity Engine DelegatorInterface.
    org.ofbiz.core.entity.model.ModelReader
    Returns a model reader that can be used to retrieve all the different entitynames configured in the entitymodel.
    List<org.ofbiz.core.entity.GenericValue>
    getRelated(String relationName, org.ofbiz.core.entity.GenericValue gv)
     
    List<org.ofbiz.core.entity.GenericValue>
    getRelated(String relationName, org.ofbiz.core.entity.GenericValue gv, List<String> orderBy)
     
    org.ofbiz.core.entity.GenericValue
    makeValue(String entityName)
    Creates an Entity in the form of a GenericValue without persisting it.
    org.ofbiz.core.entity.GenericValue
    makeValue(String entityName, Map<String,Object> fields)
    Creates an Entity in the form of a GenericValue without persisting it.
    void
    Refreshes the sequencer that is used to retrieve unique IDs in the database.
    void
    removeAll(List<org.ofbiz.core.entity.GenericValue> genericValues)
     
    int
     
    int
    removeByCondition(String entityName, org.ofbiz.core.entity.EntityCondition condition)
     
    int
    removeById(String entityName, Long id)
    Remove the given entity from the DB.
    int
    removeByOr(String entityName, String entityId, List<Long> ids)
    This can be used to remove rows for a given entity based on entityName and where entityId</q
    boolean
    removeRelated(String relationName, org.ofbiz.core.entity.GenericValue schemeGv)
    Remove all the entities related to the passed generic value via the passed relationship name.
    int
    removeValue(org.ofbiz.core.entity.GenericValue value)
     
    void
    store(org.ofbiz.core.entity.GenericValue gv)
     
    void
    storeAll(List<org.ofbiz.core.entity.GenericValue> genericValues)
     
    List<org.ofbiz.core.entity.GenericValue>
    transform(String entityName, org.ofbiz.core.entity.EntityCondition entityCondition, List<String> orderBy, String lockField, org.ofbiz.core.entity.Transformation transformation)
    Applies the given transformation to any entities matching the given condition.
    org.ofbiz.core.entity.GenericValue
    transformOne(String entityName, org.ofbiz.core.entity.EntityCondition entityCondition, String lockField, org.ofbiz.core.entity.Transformation transformation)
    Applies the given transformation to the entity matching the given condition.
  • Field Details

  • Method Details

    • findByField

      List<org.ofbiz.core.entity.GenericValue> findByField(String entityName, String fieldName, Object fieldValue)
      Finds GenericValue records by the specified field value.
      Parameters:
      entityName - The Name of the Entity as defined in the entity XML file
      fieldName - The field to do filtering by.
      fieldValue - The desired value for the filtering field.
      Returns:
      List of GenericValue instances that match the query
      Throws:
      DataAccessException - If an error occurs in the persistence layer.
    • findByField

      List<org.ofbiz.core.entity.GenericValue> findByField(String entityName, String fieldName, Object fieldValue, String orderBy)
      Finds GenericValue records by the specified field value.
      Parameters:
      entityName - The Name of the Entity as defined in the entity XML file
      fieldName - The field to do filtering by.
      fieldValue - The desired value for the filtering field.
      orderBy - Single field to order by.
      Returns:
      List of GenericValue instances that match the query
      Throws:
      DataAccessException - If an error occurs in the persistence layer.
    • findByAnd

      List<org.ofbiz.core.entity.GenericValue> findByAnd(String entityName, Map<String,?> fields) throws DataAccessException
      Finds GenericValue records by all of the specified fields (ie: combined using AND).
      Parameters:
      entityName - The Name of the Entity as defined in the entity XML file
      fields - The fields of the named entity to query by with their corresponding values
      Returns:
      List of GenericValue instances that match the query
      Throws:
      DataAccessException - If an error occurs in the persistence layer.
    • findByAnd

      List<org.ofbiz.core.entity.GenericValue> findByAnd(String entityName, Map<String,?> fields, List<String> orderBy) throws DataAccessException
      Throws:
      DataAccessException
    • findByAnd

      List<org.ofbiz.core.entity.GenericValue> findByAnd(String entityName, List<org.ofbiz.core.entity.EntityCondition> expressions) throws DataAccessException
      Throws:
      DataAccessException
    • findByOr

      List<org.ofbiz.core.entity.GenericValue> findByOr(String entityName, List<? extends org.ofbiz.core.entity.EntityCondition> expressions, List<String> orderBy) throws DataAccessException
      Throws:
      DataAccessException
    • findByLike

      List<org.ofbiz.core.entity.GenericValue> findByLike(String entityName, Map<String,?> map) throws DataAccessException
      Throws:
      DataAccessException
    • findByLike

      List<org.ofbiz.core.entity.GenericValue> findByLike(String entityName, Map<String,?> map, List<String> orderBy) throws DataAccessException
      Throws:
      DataAccessException
    • removeAll

      void removeAll(List<org.ofbiz.core.entity.GenericValue> genericValues) throws DataAccessException
      Throws:
      DataAccessException
    • removeByAnd

      int removeByAnd(String s, Map<String,?> map) throws DataAccessException
      Throws:
      DataAccessException
    • removeByCondition

      int removeByCondition(String entityName, org.ofbiz.core.entity.EntityCondition condition) throws DataAccessException
      Throws:
      DataAccessException
    • removeById

      int removeById(String entityName, Long id)
      Remove the given entity from the DB.
      Parameters:
      entityName - the entity type (ie TABLE)
      id - the id of the row to delete.
      Returns:
      number of rows effected by this operation
    • removeValue

      int removeValue(org.ofbiz.core.entity.GenericValue value) throws DataAccessException
      Throws:
      DataAccessException
    • storeAll

      void storeAll(List<org.ofbiz.core.entity.GenericValue> genericValues) throws DataAccessException
      Throws:
      DataAccessException
    • findAll

      List<org.ofbiz.core.entity.GenericValue> findAll(String s) throws DataAccessException
      Throws:
      DataAccessException
    • findAll

      List<org.ofbiz.core.entity.GenericValue> findAll(String s, List<String> orderBy) throws DataAccessException
      Throws:
      DataAccessException
    • store

      void store(org.ofbiz.core.entity.GenericValue gv) throws DataAccessException
      Throws:
      DataAccessException
    • createValue

      org.ofbiz.core.entity.GenericValue createValue(String entityName, Map<String,Object> fields) throws DataAccessException
      Creates a new GenericValue, and persists it.

      If there is no "id" in the field values, one is created using the entity sequence.

      Parameters:
      entityName - the entity name.
      fields - field values
      Returns:
      The new GenericValue.
      Throws:
      DataAccessException - if an error occurs in the Database layer
      See Also:
    • createValueWithoutId

      void createValueWithoutId(String entityName, Map<String,Object> fields) throws DataAccessException
      Creates a new GenericValue, and persists it without trying to automatically populate the ID column.

      Use this for entities that don't have a numeric ID column.

      Parameters:
      entityName - the entity name.
      fields - field values
      Throws:
      DataAccessException - if an error occurs in the Database layer
      See Also:
    • makeValue

      org.ofbiz.core.entity.GenericValue makeValue(String entityName)
      Creates an Entity in the form of a GenericValue without persisting it.
      Parameters:
      entityName - the entity name.
      Returns:
      The new GenericValue.
      See Also:
    • makeValue

      org.ofbiz.core.entity.GenericValue makeValue(String entityName, Map<String,Object> fields)
      Creates an Entity in the form of a GenericValue without persisting it.
      Parameters:
      entityName - the entity name.
      fields - initial field values
      Returns:
      The new GenericValue.
      See Also:
    • findById

      org.ofbiz.core.entity.GenericValue findById(String entityName, Long id) throws DataAccessException
      Find a Generic Entity by its numeric ID.

      This method is a synonym for findByPrimaryKey(String, Long)

      Parameters:
      entityName - The Name of the Entity as defined in the entity XML file
      id - The numeric "id" field value that is the primary key of this entity.
      Returns:
      The GenericValue corresponding to the ID
      Throws:
      DataAccessException - DataAccessException
    • findByPrimaryKey

      org.ofbiz.core.entity.GenericValue findByPrimaryKey(String entityName, Long id) throws DataAccessException
      Find a Generic Entity by its single numeric Primary Key.

      This method is a convenience for entities with a numeric primary key on single field called "id". This is the case for most JIRA entities.

      Parameters:
      entityName - The Name of the Entity as defined in the entity XML file
      id - The numeric "id" field value that is the primary key of this entity.
      Returns:
      The GenericValue corresponding to the primary key
      Throws:
      DataAccessException - DataAccessException
      See Also:
    • findByPrimaryKey

      org.ofbiz.core.entity.GenericValue findByPrimaryKey(String entityName, Map<String,?> fields) throws DataAccessException
      Find a Generic Entity by its Primary Key.
      Parameters:
      entityName - The Name of the Entity as defined in the entity XML file
      fields - The field/value pairs of the primary key (in JIRA, mostly just a single field "id")
      Returns:
      The GenericValue corresponding to the primary key
      Throws:
      DataAccessException - DataAccessException
      See Also:
    • getRelated

      List<org.ofbiz.core.entity.GenericValue> getRelated(String relationName, org.ofbiz.core.entity.GenericValue gv) throws DataAccessException
      Throws:
      DataAccessException
    • getRelated

      List<org.ofbiz.core.entity.GenericValue> getRelated(String relationName, org.ofbiz.core.entity.GenericValue gv, List<String> orderBy) throws DataAccessException
      Throws:
      DataAccessException
    • removeRelated

      boolean removeRelated(String relationName, org.ofbiz.core.entity.GenericValue schemeGv)
      Remove all the entities related to the passed generic value via the passed relationship name.
      Parameters:
      relationName - the name of the relationship.
      schemeGv - the gv at the start of the relationship.
      Returns:
      true the database was changed, false otherwise.
    • getCount

      long getCount(String entityName) throws DataAccessException
      Runs a COUNT * query over the given entity.

      Ensure that there is a view-entity defined in entitymodel.xml and entitygroup.xml for the entity you are calling this method with, and that the view-entity is named correctly! The view-entity must be named the name of the normal entity with "Count" appended. For example, for the "Issue" entity, the view-entity must be called "IssueCount". Otherwise an exception will be thrown.

      For JIRA core developers, see EntityEngine's Select factory for a more flexible alternative, including the ability to terminate queries with .count() instead of .asList() to accomplish a count without creating a special view entity for that purpose. For app developers, this can only be done directly through the lower level DelegatorInterface at this time.

      Parameters:
      entityName - entity name
      Returns:
      count
      Throws:
      DataAccessException - if data access problems occur
    • getCountByAnd

      long getCountByAnd(String entityName, org.ofbiz.core.entity.EntityCondition condition)
      Runs a COUNT * query over the given entity with some WHERE conditions.

      In addition to the restrictions given for getCount(String), the view-entity will need to define any columns that you wish to use in the where clause.

      Parameters:
      entityName - entity name
      condition - The EntityCondition object that specifies how to constrain this query
      Returns:
      count
      Throws:
      DataAccessException - if data access problems occur
      See Also:
    • getCountByAnd

      long getCountByAnd(String entityName, Map<String,?> fields)
      Runs a COUNT * query over the given entity with some WHERE conditions.

      In addition to the restrictions given for getCount(String), the view-entity will need to define any columns that you wish to use in the where clause.

      Parameters:
      entityName - entity name
      fields - The fields of the named entity to query by with their corresponding values
      Returns:
      count
      Throws:
      DataAccessException - if data access problems occur
      See Also:
    • findListIteratorByCondition

      OfBizListIterator findListIteratorByCondition(String entityType, org.ofbiz.core.entity.EntityCondition condition) throws DataAccessException
      Returns a new OfBizListIterator.

      IMPORTANT: the returned iterator needs to be properly closed in a finally block to avoid connection leaks.

      Throws:
      DataAccessException
    • findListIteratorByCondition

      OfBizListIterator findListIteratorByCondition(String entityName, org.ofbiz.core.entity.EntityCondition whereEntityCondition, org.ofbiz.core.entity.EntityCondition havingEntityCondition, Collection<String> fieldsToSelect, List<String> orderBy, org.ofbiz.core.entity.EntityFindOptions entityFindOptions) throws DataAccessException
      Returns a new OfBizListIterator.

      IMPORTANT: the returned iterator needs to be properly closed in a finally block to avoid connection leaks.

      Throws:
      DataAccessException
    • bulkUpdateByPrimaryKey

      int bulkUpdateByPrimaryKey(String entityName, Map<String,?> updateValues, List<Long> keys) throws DataAccessException
      This can be used to perform an update on the entityName of all the rows identified by the keys with the values stored in the updateValues.
      Parameters:
      entityName - identifies the table to perform the update on.
      updateValues - is a map where the key is the fieldName and the value is the value to update the column to.
      keys - is a list of Long values that represent the primary keys of the the where clause.
      Returns:
      the number of rows updated
      Throws:
      DataAccessException - If an error occurs in the persistence layer.
    • bulkUpdateByAnd

      int bulkUpdateByAnd(String entityName, Map<String,?> updateValues, Map<String,?> criteria) throws DataAccessException
      This can be used to perform an update on the entityName of all the rows identified by AND criteria of the fields specified by the criteria map.
      Parameters:
      entityName - identifies the table to perform the update on.
      updateValues - is a map where the key is the fieldName and the value is the value to update the column to.
      criteria - map of field to value mapping that will be used to generate the where clause of the update SQL statement. Multiple entries in the map are joined using the AND operator.
      Returns:
      the number of rows updated
      Throws:
      DataAccessException - If an error occurs in the persistence layer.
    • bulkCopyColumnValuesByAnd

      int bulkCopyColumnValuesByAnd(String entityName, Map updateColumns, Map criteria) throws DataAccessException
      This can be used to perform an update on the entityName of all the rows identified by AND criteria of the fields specified by the criteria map.
      Parameters:
      entityName - table na,e
      updateColumns - map of update to - update from columns
      criteria - map of column names and their values that will create WHERE clause
      Returns:
      the number of rows updated
      Throws:
      DataAccessException - If an error occurs in the persistence layer.
    • removeByOr

      int removeByOr(String entityName, String entityId, List<Long> ids) throws DataAccessException, org.ofbiz.core.entity.GenericModelException
      This can be used to remove rows for a given entity based on entityName and where entityId</q
      Parameters:
      entityName - identifies the table to perform the remove on.
      entityId - the Ofbiz fieldName to be used for the identifier, eg WHERE fieldName IN (...). Must be the same case as that found in entitymodel.xml.
      ids - a list of entity IDs of the rows to be removed
      Returns:
      number of rows removed
      Throws:
      org.ofbiz.core.entity.GenericModelException - if the given entityId is not valid for the given entity
      DataAccessException - if there are problems executing/accessing the data store
    • findByCondition

      List<org.ofbiz.core.entity.GenericValue> findByCondition(String entityName, org.ofbiz.core.entity.EntityCondition entityCondition, Collection<String> fieldsToSelect, List<String> orderBy) throws DataAccessException
      Finds GenericValues by the conditions specified in the EntityCondition object.
      Parameters:
      entityName - The Name of the Entity as defined in the entity model XML file
      entityCondition - The EntityCondition object that specifies how to constrain this query
      fieldsToSelect - The fields of the named entity to get from the database; if empty or null all fields will be retreived
      orderBy - The fields of the named entity to order the query by; optionally add a " ASC" for ascending or " DESC" for descending
      Returns:
      List of GenericValue objects representing the search results
      Throws:
      DataAccessException - If an error occurs in the persistence layer.
      Since:
      v3.12
    • findByCondition

      List<org.ofbiz.core.entity.GenericValue> findByCondition(String entityName, org.ofbiz.core.entity.EntityCondition entityCondition, Collection<String> fieldsToSelect) throws DataAccessException
      Finds GenericValues by the conditions specified in the EntityCondition object with no specified order.

      Convenience method for calling findByCondition(String, EntityCondition, Collection, List) with an empty orderBy list.

      Parameters:
      entityName - The Name of the Entity as defined in the entity model XML file
      entityCondition - The EntityCondition object that specifies how to constrain this query
      fieldsToSelect - The fields of the named entity to get from the database; if empty or null all fields will be retreived
      Returns:
      List of GenericValue objects representing the search results
      Throws:
      DataAccessException - If an error occurs in the persistence layer.
      Since:
      v4.1
    • getModelReader

      org.ofbiz.core.entity.model.ModelReader getModelReader()
      Returns a model reader that can be used to retrieve all the different entitynames configured in the entitymodel.
      Returns:
      a ModelReader
      Since:
      4.4
    • refreshSequencer

      void refreshSequencer()
      Refreshes the sequencer that is used to retrieve unique IDs in the database.
      Since:
      4.4
    • getDelegatorInterface

      org.ofbiz.core.entity.DelegatorInterface getDelegatorInterface()
      Returns the underlying raw Entity Engine DelegatorInterface.
      Returns:
      the underlying raw Entity Engine DelegatorInterface.
    • transform

      List<org.ofbiz.core.entity.GenericValue> transform(String entityName, org.ofbiz.core.entity.EntityCondition entityCondition, List<String> orderBy, String lockField, org.ofbiz.core.entity.Transformation transformation)
      Applies the given transformation to any entities matching the given condition.
      Parameters:
      entityName - the type of entity to transform (required)
      entityCondition - the condition that selects the entities to transform (null means transform all)
      orderBy - the order in which the entities should be selected for updating (null means no ordering)
      lockField - the entity field to use for optimistic locking; the value of this field will be read between the SELECT and the UPDATE to determine whether another process has updated one of the target records in the meantime; if so, the transformation will be reapplied and another UPDATE attempted
      transformation - the transformation to apply (required)
      Returns:
      the transformed entities in the order they were selected (never null)
      Since:
      6.2
    • transformOne

      org.ofbiz.core.entity.GenericValue transformOne(String entityName, org.ofbiz.core.entity.EntityCondition entityCondition, String lockField, org.ofbiz.core.entity.Transformation transformation)
      Applies the given transformation to the entity matching the given condition.
      Parameters:
      entityName - the type of entity to transform (required)
      entityCondition - the condition that selects the entity to transform (must select one entity)
      lockField - the entity field to use for optimistic locking; the value of this field will be read between the SELECT and the UPDATE to determine whether another process has updated one of the target records in the meantime; if so, the transformation will be reapplied and another UPDATE attempted
      transformation - the transformation to apply (required)
      Returns:
      the transformed entity (never null)
      Throws:
      IllegalArgumentException - if the given condition selects more than one entity
      Since:
      6.2