com.atlassian.jira.ofbiz
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
static String ISSUE_LINK
           
static String ISSUE_LINK_TYPE
           
static String PROJECT_COMPONENT
           
static String VERSION
           
 
Method Summary
 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 createValueWithoutId(String entityName, Map<String,Object> fields)
          Creates a new GenericValue, and persists it without trying to automatically populate the ID column.
 List<org.ofbiz.core.entity.GenericValue> findAll(String s)
           
 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.
 OfBizListIterator findListIteratorByCondition(String entityType, org.ofbiz.core.entity.EntityCondition condition)
          Returns a new OfBizListIterator.
 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.
 org.ofbiz.core.entity.DelegatorInterface getDelegatorInterface()
          Returns the underlying raw Entity Engine DelegatorInterface.
 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.
 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 refreshSequencer()
          Refreshes the sequencer that is used to retrieve unique IDs in the database.
 void removeAll(List<org.ofbiz.core.entity.GenericValue> genericValues)
           
 int removeByAnd(String s, Map<String,?> map)
           
 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
 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 Detail

VERSION

static final String VERSION
See Also:
Constant Field Values

ISSUE_LINK

static final String ISSUE_LINK
See Also:
Constant Field Values

ISSUE_LINK_TYPE

static final String ISSUE_LINK_TYPE
See Also:
Constant Field Values

PROJECT_COMPONENT

static final String PROJECT_COMPONENT
See Also:
Constant Field Values
Method Detail

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(String, java.util.Map), makeValue(String)

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:
createValue(String, java.util.Map), makeValue(String)

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(String, java.util.Map), createValue(String, java.util.Map)

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:
makeValue(String), createValue(String, java.util.Map)

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(String, java.util.Map)

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:
findByPrimaryKey(String, Long)

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 add-on 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,
                   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:
getCount(String)

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
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


Copyright © 2002-2014 Atlassian. All Rights Reserved.