public interface EntityEngine
These methods are considered a higher level alternative to the OfBizDelegator and provide two main advantages:
This interface is still experimental at this stage.
| Modifier and Type | Interface and Description |
|---|---|
static interface |
EntityEngine.SelectFromContext<E> |
static interface |
EntityEngine.WhereContext<E> |
static interface |
EntityEngine.WhereEqualAndContext<E> |
static interface |
EntityEngine.WhereEqualContext<E> |
static interface |
EntityEngine.WhereInContext<E> |
| Modifier and Type | Method and Description |
|---|---|
<E> E |
createValue(EntityFactory<E> entityFactory,
E newValue)
Creates a new Entity and auto populates the ID if no ID is explicitly set.
|
<E> void |
createValueWithoutId(EntityFactory<E> entityFactory,
E newValue)
Creates a new Entity without trying to automatically populate the ID column.
|
int |
delete(Delete.DeleteWhereContext deleteContext)
Allows you to execute an SQL DELETE using a fluent interface.
|
int |
execute(Update.WhereContext updateContext)
Allows you to execute an UPDATE statement using a fluent interface.
|
<E> int |
removeValue(EntityFactory<E> entityFactory,
Long id)
Remove the given entity from the DB.
|
<E> SelectQuery.ExecutionContext<E> |
run(SelectQuery<E> selectQuery) |
<E> EntityEngine.SelectFromContext<E> |
selectFrom(EntityFactory<E> entityFactory)
Starts a dialog to run a SELECT query against EntityEngine.
|
<E> void |
updateValue(EntityFactory<E> entityFactory,
E newValue) |
<E> EntityEngine.SelectFromContext<E> selectFrom(EntityFactory<E> entityFactory)
e.g. to run "SELECT * FROM remotelink WHERE id = ?" (and return a single entity value) you could write:
RemoteIssueLink link = entityEngine.selectFrom(Entity.REMOTE_ISSUE_LINK)
.whereEqual("id", remoteIssueLinkId)
.singleValue();
e.g. to run "SELECT * FROM remotelink WHERE issueid = ? AND app = ? ORDER BY type" you could write:
ListremoteIssueLinks = entityEngine.selectFrom(Entity.REMOTE_ISSUE_LINK) .whereEqual("issueid", issueId) .andEqual("app", app) .orderBy("type");
<E> E createValue(EntityFactory<E> entityFactory, E newValue)
Use this for entities that include an ID column (most of them).
E - entity typeentityFactory - the EntityFactorynewValue - the entity to be created.createValueWithoutId(EntityFactory, Object)<E> void createValueWithoutId(EntityFactory<E> entityFactory, E newValue)
Use this for entities that don't have a numeric ID column.
E - entity typeentityFactory - the EntityFactorynewValue - the entity to be created.createValue(EntityFactory, Object)<E> void updateValue(EntityFactory<E> entityFactory, E newValue)
<E> int removeValue(EntityFactory<E> entityFactory, Long id)
entityFactory - represents the entity type (ie TABLE)id - the id of the row to delete.int execute(Update.WhereContext updateContext)
See the Update class for an example.
updateContext - build up a fluent UPDATE statement here. Should start with Update.into(int delete(Delete.DeleteWhereContext deleteContext)
You should call this using code that looks like:
entityEngine.delete(Delete.from(Entity.ISSUE_SECURITY_LEVEL).whereIdEquals(securityLevelId));
or:
entityEngine.delete(
Delete.from(Entity.ISSUE_SECURITY_LEVEL)
.whereEqual("scheme", schemeId)
.andEqual("name", name)
);
deleteContext - build up a fluent DELETE statement here. Should start with Delete.from(<E> SelectQuery.ExecutionContext<E> run(SelectQuery<E> selectQuery)
Copyright © 2002-2019 Atlassian. All Rights Reserved.