|
Project Wonder 5.0 | |||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objecter.extensions.eof.ERXEOAccessUtilities
public class ERXEOAccessUtilities
Collection of EOAccess related utilities. EOAccess provides the data access mechanisms for the Enterprise Objects technology.
Nested Class Summary | |
---|---|
static interface |
ERXEOAccessUtilities.AdaptorChannelOperation<T>
Implemented by any adaptor channel operation that needs to run with an open adaptor channel. |
static class |
ERXEOAccessUtilities.ChannelAction
Deals with the nitty-gritty of direct row manipulation by correctly opening, closing, locking and unlocking the needed EOF objects for direct row manipulation. |
static interface |
ERXEOAccessUtilities.DatabaseContextOperation<T>
Implemented by any database operation that needs to run inside of a database context lock. |
Field Summary | |
---|---|
static org.apache.log4j.Logger |
log
logging support |
Constructor Summary | |
---|---|
ERXEOAccessUtilities()
|
Method Summary | ||
---|---|---|
static com.webobjects.foundation.NSArray |
attributePathForKeyPath(com.webobjects.eoaccess.EOEntity entity,
java.lang.String keyPath)
Creates an array of relationships and attributes from the given keypath to give to the EOSQLExpression method sqlStringForAttributePath . |
|
static com.webobjects.eoaccess.EOAttribute |
attributeWithColumnNameFromEntity(java.lang.String columnName,
com.webobjects.eoaccess.EOEntity entity)
|
|
static void |
batchFetchRelationship(com.webobjects.eoaccess.EODatabaseContext databaseContext,
com.webobjects.eoaccess.EORelationship relationship,
com.webobjects.foundation.NSArray objects,
com.webobjects.eocontrol.EOEditingContext editingContext,
boolean skipFaultedRelationships)
Batch fetch a relationship, optionally skipping any relationship that has already faulted in its to-many relationship. |
|
static void |
batchFetchRelationship(com.webobjects.eoaccess.EODatabaseContext databaseContext,
java.lang.String entityName,
java.lang.String relationshipName,
com.webobjects.foundation.NSArray objects,
com.webobjects.eocontrol.EOEditingContext editingContext,
boolean skipFaultedRelationships)
Batch fetch a relationship, optionally skipping any relationship that has already faulted in its to-many relationship. |
|
static com.webobjects.foundation.NSArray |
classPropertiesNotInParent(com.webobjects.eoaccess.EOEntity entity,
boolean includeAttributes,
boolean includeToOneRelationships,
boolean includeToManyRelationships)
|
|
static boolean |
closeDatabaseConnections(com.webobjects.eocontrol.EOObjectStoreCoordinator osc)
Closes the (JDBC) Connection from all database channels for the specified EOObjectStoreCoordinator |
|
static com.webobjects.eoaccess.EOAttribute |
createAggregateAttribute(com.webobjects.eocontrol.EOEditingContext ec,
java.lang.String function,
java.lang.String attributeName,
java.lang.String entityName)
Creates an aggregate integer attribute for a given function name. |
|
static com.webobjects.eoaccess.EOAttribute |
createAggregateAttribute(com.webobjects.eocontrol.EOEditingContext ec,
java.lang.String function,
java.lang.String attributeName,
java.lang.String entityName,
java.lang.Class valueClass,
java.lang.String valueType)
Creates an aggregate attribute for a given function name. |
|
static com.webobjects.eoaccess.EOAttribute |
createAggregateAttribute(com.webobjects.eocontrol.EOEditingContext ec,
java.lang.String function,
java.lang.String attributeName,
java.lang.String entityName,
java.lang.Class valueClass,
java.lang.String valueType,
java.lang.String aggregateName)
Creates an aggregate attribute for a given function name. |
|
static com.webobjects.eoaccess.EOAttribute |
createAggregateAttribute(com.webobjects.eocontrol.EOEditingContext ec,
java.lang.String function,
java.lang.String attributeName,
java.lang.String entityName,
java.lang.Class valueClass,
java.lang.String valueType,
java.lang.String aggregateName,
java.lang.String entityTableAlias)
Creates an aggregate attribute for a given function name. |
|
static com.webobjects.eoaccess.EORelationship |
createFlattenedRelationship(java.lang.String relationshipName,
java.lang.String sourceEntityName,
java.lang.String definition,
int deleteRule,
boolean isMandatory,
boolean isClassProperty)
Programatically adds a flattened relationship to an entity at runtime. |
|
static java.lang.String |
createIndexSQLForEntities(com.webobjects.foundation.NSArray entities)
Deprecated. |
|
static java.lang.String |
createIndexSQLForEntities(com.webobjects.foundation.NSArray entities,
com.webobjects.foundation.NSArray externalTypesToIgnore)
Deprecated. |
|
static java.lang.String |
createIndexSQLForEntitiesForOracle(com.webobjects.foundation.NSArray entities)
Deprecated. |
|
static java.lang.String |
createLogString(com.webobjects.eoaccess.EOAdaptorChannel channel,
com.webobjects.eoaccess.EOSQLExpression expression,
long millisecondsNeeded)
|
|
static com.webobjects.eoaccess.EORelationship |
createRelationship(java.lang.String relationshipName,
java.lang.String sourceEntityName,
java.lang.String sourceAttributeName,
java.lang.String destinationEntityName,
java.lang.String destinationAttributeName,
boolean toMany,
int deleteRule,
boolean isMandatory,
boolean isClassProperty,
boolean shouldPropagatePrimaryKey)
Programatically adds a toOne or toMany relationship to an entity at runtime. |
|
static java.lang.String |
createSchemaSQLForEntitiesInDatabaseContext(com.webobjects.foundation.NSArray entities,
com.webobjects.eoaccess.EODatabaseContext databaseContext,
boolean create,
boolean drop)
Deprecated. |
|
static java.lang.String |
createSchemaSQLForEntitiesInModelWithName(com.webobjects.foundation.NSArray entities,
java.lang.String modelName)
Deprecated. |
|
static java.lang.String |
createSchemaSQLForEntitiesInModelWithNameAndOptions(com.webobjects.foundation.NSArray entities,
java.lang.String modelName,
com.webobjects.foundation.NSDictionary optionsCreate)
Deprecated. |
|
static java.lang.String |
createSchemaSQLForEntitiesInModelWithNameAndOptionsForOracle9(com.webobjects.foundation.NSArray entities,
java.lang.String modelName,
com.webobjects.foundation.NSDictionary optionsCreate)
oracle 9 has a maximum length of 30 characters for table names, column names and constraint names Foreign key constraint names are defined like this from the plugin: TABLENAME_FOEREIGNKEYNAME_FK The whole statement looks like this: ALTER TABLE [TABLENAME] ADD CONSTRAINT [CONSTRAINTNAME] FOREIGN KEY ([FK]) REFERENCES [DESTINATION_TABLE] ([PK]) DEFERRABLE INITIALLY DEFERRED THIS means that the tablename and the columnname together cannot be longer than 26 characters. This method checks each foreign key constraint name and if it is longer than 30 characters its replaced with a unique name. |
|
static java.lang.String |
createSchemaSQLForEntitiesWithOptions(com.webobjects.foundation.NSArray entities,
com.webobjects.eoaccess.EODatabaseContext databaseContext,
com.webobjects.foundation.NSDictionary optionsCreate)
Deprecated. |
|
static com.webobjects.eoaccess.EODatabaseContext |
databaseContextForEntityNamed(com.webobjects.eocontrol.EOObjectStoreCoordinator osc,
java.lang.String entityName)
Returns the database context for the given entity in the given EOObjectStoreCoordinator |
|
static com.webobjects.eoaccess.EODatabaseContext |
databaseContextForObject(com.webobjects.eocontrol.EOEnterpriseObject eo)
Returns the database context for an EO. |
|
static int |
deleteRowsDescribedByQualifier(com.webobjects.eocontrol.EOEditingContext ec,
java.lang.String entityName,
com.webobjects.eocontrol.EOQualifier qualifier)
Deletes rows described by the qualifier. |
|
static com.webobjects.eoaccess.EOEntity |
destinationEntityForKeyPath(com.webobjects.eoaccess.EOEntity entity,
java.lang.String keyPath)
|
|
static com.webobjects.eoaccess.EOEntity |
entityForEo(com.webobjects.eocontrol.EOEnterpriseObject eo)
Returns the EOEntity for the provided EOEnterpriseObject if one exists |
|
static com.webobjects.foundation.NSArray<com.webobjects.eoaccess.EOEntity> |
entityHierarchyForEntity(com.webobjects.eocontrol.EOEditingContext ec,
com.webobjects.eoaccess.EOEntity rootEntity)
|
|
static com.webobjects.foundation.NSArray<java.lang.String> |
entityHierarchyNamesForEntityNamed(com.webobjects.eocontrol.EOEditingContext ec,
java.lang.String rootEntityName)
|
|
static com.webobjects.eoaccess.EOEntity |
entityMatchingString(com.webobjects.eocontrol.EOEditingContext ec,
java.lang.String string)
Finds an entity that is contained in a string. |
|
static com.webobjects.eoaccess.EOEntity |
entityNamed(com.webobjects.eocontrol.EOEditingContext ec,
java.lang.String entityName)
Similar to the helper in EOUtilities, but allows for null editingContext. |
|
static boolean |
entityUsesSeparateTable(com.webobjects.eoaccess.EOEntity entity)
|
|
static com.webobjects.eoaccess.EOEntity |
entityUsingTable(com.webobjects.eocontrol.EOEditingContext ec,
java.lang.String tableName)
Finds an entity that is associated with the table name. |
|
static boolean |
entityWithNamedIsShared(com.webobjects.eocontrol.EOEditingContext ec,
java.lang.String entityName)
Method used to determine if a given entity is a shared entity. |
|
static void |
evaluateSQLWithEntity(com.webobjects.eocontrol.EOEditingContext ec,
com.webobjects.eoaccess.EOEntity entity,
java.lang.String exp)
Utility method used to execute arbitrary SQL. |
|
static void |
evaluateSQLWithEntityNamed(com.webobjects.eocontrol.EOEditingContext ec,
java.lang.String entityName,
java.lang.String exp)
Utility method used to execute arbitrary SQL. |
|
static
|
executeAdaptorChannelOperation(com.webobjects.eoaccess.EODatabaseContext databaseContext,
int maxAttempts,
ERXEOAccessUtilities.AdaptorChannelOperation<T> operation)
Executes the given adaptor channel operation within a database context lock and with a requested open channel, retrying up to maxRetryCount times if the database connection dropped. |
|
static
|
executeAdaptorChannelOperation(java.lang.String modelName,
int maxAttempts,
ERXEOAccessUtilities.AdaptorChannelOperation<T> operation)
Executes the given adaptor channel operation within a database context lock and with a requested open channel, retrying up to maxRetryCount times if the database connection dropped. |
|
static
|
executeDatabaseContextOperation(com.webobjects.eoaccess.EODatabaseContext databaseContext,
int maxAttempts,
ERXEOAccessUtilities.DatabaseContextOperation<T> operation)
Executes the given database context operation within a database context lock, retrying up to maxRetryCount times if the database connection dropped. |
|
static com.webobjects.foundation.NSArray |
externalNamesForEntity(com.webobjects.eoaccess.EOEntity entity,
boolean includeParentEntities)
|
|
static com.webobjects.foundation.NSArray |
externalNamesForEntityNamed(java.lang.String entityName,
boolean includeParentEntities)
|
|
static java.lang.Number |
getNextValFromSequenceNamed(com.webobjects.eocontrol.EOEditingContext ec,
java.lang.String modelName,
java.lang.String sequenceName)
Deprecated. |
|
static java.lang.String |
guessPluginName(com.webobjects.eoaccess.EOModel model)
Tries to get the plugin name for a JDBC based model. |
|
static java.lang.String |
guessPluginNameForConnectionDictionary(com.webobjects.foundation.NSDictionary connectionDictionary)
Tries to get the plugin name for a connection dictionary. |
|
static int |
insertRow(com.webobjects.eocontrol.EOEditingContext ec,
java.lang.String entityName,
com.webobjects.foundation.NSDictionary newValues)
Insert row described dictionary. |
|
static int |
insertRows(com.webobjects.eocontrol.EOEditingContext ec,
java.lang.String entityName,
java.util.Collection<? extends com.webobjects.foundation.NSDictionary<java.lang.String,?>> newValues)
Insert rows described the array of dictionaries. |
|
static boolean |
isOptimisticLockingFailure(com.webobjects.eoaccess.EOGeneralAdaptorException e)
Returns true if the exception is an optimistic locking exception. |
|
static com.webobjects.eoaccess.EORelationship |
lastRelationship(com.webobjects.eoaccess.EORelationship relationship)
Crude hack to get at the end of a relationship path. |
|
static com.webobjects.eocontrol.EOFetchSpecification |
localizeFetchSpecification(com.webobjects.eocontrol.EOEditingContext ec,
com.webobjects.eocontrol.EOFetchSpecification fetchSpecification)
Returns a new fetch spec by morphing sort oderings containing the keys foo.name
returning foo.name_de where appropriate. |
|
static void |
logExpression(com.webobjects.eoaccess.EOAdaptorChannel channel,
com.webobjects.eoaccess.EOSQLExpression expression,
long startTime)
|
|
static void |
makeEditableSharedEntityNamed(java.lang.String entityName)
Utility method to make a shared entity editable. |
|
static com.webobjects.eoaccess.EOModelGroup |
modelGroup(com.webobjects.eocontrol.EOEditingContext ec)
Similar to the helper in EOUtilities, but allows for null editingContext. |
|
static com.webobjects.foundation.NSDictionary |
primaryKeyDictionaryForEntity(com.webobjects.eocontrol.EOEditingContext ec,
java.lang.String entityName)
Utility method to generate a new primary key dictionary using the adaptor for a given entity. |
|
static com.webobjects.foundation.NSArray |
primaryKeysForNewRows(com.webobjects.eocontrol.EOEditingContext ec,
java.lang.String entityName,
int count)
Creates count new primary keys for the entity. |
|
static com.webobjects.foundation.NSArray |
primaryKeysForObjects(com.webobjects.foundation.NSArray eos)
Creates an array containing all of the primary keys of the given objects. |
|
static com.webobjects.eocontrol.EOQualifier |
qualifierFromAttributes(com.webobjects.foundation.NSArray attributes,
com.webobjects.foundation.NSDictionary values)
Creates an AND qualifier of EOKeyValueQualifiers for every keypath in the given array of attributes. |
|
static com.webobjects.foundation.NSArray |
rawRowsForSQLExpression(com.webobjects.eocontrol.EOEditingContext ec,
com.webobjects.eoaccess.EOModel model,
com.webobjects.eoaccess.EOSQLExpression expression,
com.webobjects.foundation.NSArray<com.webobjects.eoaccess.EOAttribute> attributes)
Returns the raw rows for the given EOSQLExpression. |
|
static com.webobjects.foundation.NSArray<com.webobjects.foundation.NSDictionary> |
rawRowsForSQLExpression(com.webobjects.eocontrol.EOEditingContext ec,
java.lang.String modelName,
com.webobjects.eoaccess.EOSQLExpression expression)
Returns the raw rows for the given EOSQLExpression. |
|
static void |
reapplyChanges(com.webobjects.eocontrol.EOEnterpriseObject eo,
com.webobjects.eoaccess.EOGeneralAdaptorException e)
Method used to apply a set of changes to a re-fetched eo. |
|
static com.webobjects.eocontrol.EOEnterpriseObject |
refetchFailedObject(com.webobjects.eocontrol.EOEditingContext ec,
com.webobjects.eoaccess.EOGeneralAdaptorException e)
|
|
static com.webobjects.foundation.NSArray |
relationshipsForAttribute(com.webobjects.eoaccess.EOEntity entity,
com.webobjects.eoaccess.EOAttribute attrib)
Filters a list of relationships for only the ones that have a given EOAttribute as a source attribute. |
|
static com.webobjects.eoaccess.EOEntity |
rootEntityForEntity(com.webobjects.eoaccess.EOEntity entity)
|
|
static com.webobjects.eoaccess.EOEntity |
rootEntityForEntityNamed(java.lang.String entityName)
|
|
static int |
rowCountForFetchSpecification(com.webobjects.eocontrol.EOEditingContext ec,
com.webobjects.eocontrol.EOFetchSpecification spec)
Returns the number of rows the supplied EOFetchSpecification would return. |
|
static void |
setIsAttributeUsedForLocking(com.webobjects.eoaccess.EOAttribute attr,
boolean isUsedForLocking)
Add or remove an attribute from the entities list of attributes used for locking |
|
static void |
setIsClassProperty(com.webobjects.eoaccess.EOProperty property,
boolean isClassProperty)
Add or remove a class property from its entity. |
|
static com.webobjects.foundation.NSArray |
snapshotsForObjectsFromRelationshipNamed(com.webobjects.foundation.NSArray eos,
java.lang.String relKey)
Given an array of EOs, returns snapshot dictionaries for the given related objects. |
|
static com.webobjects.eoaccess.EOAttribute |
sourceAttributeForRelationship(com.webobjects.eoaccess.EOEntity entity,
java.lang.String relationshipName)
Returns the source attribute for the relationship named relationshipName on entity. |
|
static com.webobjects.eoaccess.EOAttribute |
sourceAttributeForRelationship(com.webobjects.eoaccess.EORelationship relationship)
Returns the source attribute for the relationship. |
|
static java.lang.String |
sourceColumnForRelationship(com.webobjects.eoaccess.EOEntity entity,
java.lang.String relationshipName)
Returns the external column name for the source attribute for the relationship named relationshipName on entity. |
|
static java.lang.String |
sourceColumnForRelationship(com.webobjects.eoaccess.EORelationship relationship)
Returns the external column name for the source attribute for the relationship named relationshipName on entity. |
|
static com.webobjects.eoaccess.EOSQLExpression |
sqlExpressionForFetchSpecification(com.webobjects.eocontrol.EOEditingContext ec,
com.webobjects.eocontrol.EOFetchSpecification spec,
long start,
long end)
Creates the SQL which is used by the provided EOFetchSpecification, limited by the given range. |
|
static java.lang.String |
sqlForFetchSpecification(com.webobjects.eocontrol.EOEditingContext ec,
com.webobjects.eocontrol.EOFetchSpecification spec)
Creates the SQL which is used by the provides EOFetchSpecification. |
|
static java.lang.String |
sqlWhereClauseStringForKey(com.webobjects.eoaccess.EOSQLExpression e,
java.lang.String key,
com.webobjects.foundation.NSArray valueArray)
Deprecated. |
|
static int |
updateRowsDescribedByQualifier(com.webobjects.eocontrol.EOEditingContext ec,
java.lang.String entityName,
com.webobjects.eocontrol.EOQualifier qualifier,
com.webobjects.foundation.NSDictionary newValues)
Updates rows described by the qualifier. |
|
static com.webobjects.foundation.NSSet |
verifyAllSnapshots()
In a multi-OSC or multi-instance scenario, when there are bugs, it is possible for the snapshots to become out of sync with the database. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final org.apache.log4j.Logger log
Constructor Detail |
---|
public ERXEOAccessUtilities()
Method Detail |
---|
public static com.webobjects.eoaccess.EOEntity entityMatchingString(com.webobjects.eocontrol.EOEditingContext ec, java.lang.String string)
ec
- editing contextstring
- string to look into
public static com.webobjects.eoaccess.EOEntity entityUsingTable(com.webobjects.eocontrol.EOEditingContext ec, java.lang.String tableName)
ec
- editing contexttableName
- table (external) name to find an entity for
public static boolean entityWithNamedIsShared(com.webobjects.eocontrol.EOEditingContext ec, java.lang.String entityName)
ec
- editing contextentityName
- name of the entity
java.lang.IllegalStateException
- if the entityName provided is nullpublic static java.lang.Number getNextValFromSequenceNamed(com.webobjects.eocontrol.EOEditingContext ec, java.lang.String modelName, java.lang.String sequenceName)
ec
- editing contextmodelName
- name of the model which connects to the database that has the
sequence in itsequenceName
- name of the sequence
public static void evaluateSQLWithEntityNamed(com.webobjects.eocontrol.EOEditingContext ec, java.lang.String entityName, java.lang.String exp)
EOUtilities
rawRowsForSQL
in that it can be used with other statements
besides just SELECT without throwing exceptions.
ec
- editing context that determines which model group and database
context to use.entityName
- name of an entity in the model connected to the database you
wish to execute SQL againstexp
- SQL expressionpublic static void evaluateSQLWithEntity(com.webobjects.eocontrol.EOEditingContext ec, com.webobjects.eoaccess.EOEntity entity, java.lang.String exp)
EOUtilities
rawRowsForSQL
in that it can be used with other statements
besides just SELECT without throwing exceptions.
ec
- editing context that determines which model group and database
context to use.entity
- an entity in the model connected to the database you wish to
execute SQL againstexp
- SQL expressionpublic static java.lang.String sqlForFetchSpecification(com.webobjects.eocontrol.EOEditingContext ec, com.webobjects.eocontrol.EOFetchSpecification spec)
ec
- the EOEditingContextspec
- the EOFetchSpecification in question
public static com.webobjects.foundation.NSArray<com.webobjects.foundation.NSDictionary> rawRowsForSQLExpression(com.webobjects.eocontrol.EOEditingContext ec, java.lang.String modelName, com.webobjects.eoaccess.EOSQLExpression expression)
ec
- the EOEditingContextmodelName
- the name of the model in questionexpression
- the EOSQLExpression in question
public static com.webobjects.foundation.NSArray rawRowsForSQLExpression(com.webobjects.eocontrol.EOEditingContext ec, com.webobjects.eoaccess.EOModel model, com.webobjects.eoaccess.EOSQLExpression expression, com.webobjects.foundation.NSArray<com.webobjects.eoaccess.EOAttribute> attributes)
ec
- the EOEditingContextmodel
- the model in questionexpression
- the EOSQLExpression to fetch withattributes
- the attributes to fetch
public static com.webobjects.eoaccess.EOSQLExpression sqlExpressionForFetchSpecification(com.webobjects.eocontrol.EOEditingContext ec, com.webobjects.eocontrol.EOFetchSpecification spec, long start, long end)
ec
- the EOEditingContextspec
- the EOFetchSpecification in questionstart
- start of rows to fetchend
- end of rows to fetch (-1 if not used)
public static int rowCountForFetchSpecification(com.webobjects.eocontrol.EOEditingContext ec, com.webobjects.eocontrol.EOFetchSpecification spec)
ec
- the EOEditingContextspec
- the EOFetchSpecification in question
public static com.webobjects.eoaccess.EOModelGroup modelGroup(com.webobjects.eocontrol.EOEditingContext ec)
ec
- editing context used to locate the model group (can be null)public static com.webobjects.eoaccess.EOEntity entityNamed(com.webobjects.eocontrol.EOEditingContext ec, java.lang.String entityName)
ec
- editing context used to locate the model group (can be null)entityName
- entity namepublic static com.webobjects.eoaccess.EOAttribute createAggregateAttribute(com.webobjects.eocontrol.EOEditingContext ec, java.lang.String function, java.lang.String attributeName, java.lang.String entityName)
ec
- editing context used to locate the model groupfunction
- name of the function MAX, MIN, etcattributeName
- name of the attributeentityName
- name of the entity
public static com.webobjects.eoaccess.EOAttribute createAggregateAttribute(com.webobjects.eocontrol.EOEditingContext ec, java.lang.String function, java.lang.String attributeName, java.lang.String entityName, java.lang.Class valueClass, java.lang.String valueType)
ec
- editing context used to locate the model groupfunction
- name of the function MAX, MIN, etcattributeName
- name of the attributeentityName
- name of the entityvalueClass
- the java class of this attribute's valuesvalueType
- the EOAttribute value type
public static com.webobjects.eoaccess.EOAttribute createAggregateAttribute(com.webobjects.eocontrol.EOEditingContext ec, java.lang.String function, java.lang.String attributeName, java.lang.String entityName, java.lang.Class valueClass, java.lang.String valueType, java.lang.String aggregateName)
ec
- editing context used to locate the model groupfunction
- name of the function MAX, MIN, etcattributeName
- name of the attributeentityName
- name of the entityaggregateName
- the name to assign to the aggregate column in the queryvalueClass
- the java class of this attribute's valuesvalueType
- the EOAttribute value type
public static com.webobjects.eoaccess.EOAttribute createAggregateAttribute(com.webobjects.eocontrol.EOEditingContext ec, java.lang.String function, java.lang.String attributeName, java.lang.String entityName, java.lang.Class valueClass, java.lang.String valueType, java.lang.String aggregateName, java.lang.String entityTableAlias)
ec
- editing context used to locate the model groupfunction
- name of the function MAX, MIN, etcattributeName
- name of the attributeentityName
- name of the entityaggregateName
- the name to assign to the aggregate column in the queryvalueClass
- the java class of this attribute's valuesvalueType
- the EOAttribute value typeentityTableAlias
- the "t0"-style name of the attribute in this query (or null for "t0")
public static java.lang.String createSchemaSQLForEntitiesInModelWithNameAndOptionsForOracle9(com.webobjects.foundation.NSArray entities, java.lang.String modelName, com.webobjects.foundation.NSDictionary optionsCreate)
createSchemaSQLForEntitiesInModelWithNameAndOptions
public static java.lang.String createSchemaSQLForEntitiesInModelWithNameAndOptions(com.webobjects.foundation.NSArray entities, java.lang.String modelName, com.webobjects.foundation.NSDictionary optionsCreate)
entities
- a NSArray containing the entities for which create table
statements should be generated or null if all entitites in the
model should be used.modelName
- the name of the EOModeloptionsCreate
- a NSDictionary containing the different options. Possible keys
are
YES
and NO
String
containing SQL statements to create
tablespublic static java.lang.String createSchemaSQLForEntitiesWithOptions(com.webobjects.foundation.NSArray entities, com.webobjects.eoaccess.EODatabaseContext databaseContext, com.webobjects.foundation.NSDictionary optionsCreate)
entities
- the entities to create sql fordatabaseContext
- the database context to useoptionsCreate
- the options (@see createSchemaSQLForEntitiesInModelWithNameAndOptions)
public static java.lang.String createSchemaSQLForEntitiesInModelWithName(com.webobjects.foundation.NSArray entities, java.lang.String modelName)
entities
- a NSArray containing the entities for which create table
statements should be generated or null if all entitites in the
model should be used.modelName
- the name of the EOModel YES
and NO
String
containing SQL statements to create
tablespublic static java.lang.String createSchemaSQLForEntitiesInDatabaseContext(com.webobjects.foundation.NSArray entities, com.webobjects.eoaccess.EODatabaseContext databaseContext, boolean create, boolean drop)
entities
- a NSArray containing the entities for which create table
statements should be generated or null if all entitites in the
model should be used.databaseContext
- the databaseContextcreate
- if true, tables and keys are createddrop
- if true, tables and keys are dropped
String
containing SQL statements to create
tablespublic static java.lang.String createIndexSQLForEntitiesForOracle(com.webobjects.foundation.NSArray entities)
public static java.lang.String createIndexSQLForEntities(com.webobjects.foundation.NSArray entities)
public static java.lang.String createIndexSQLForEntities(com.webobjects.foundation.NSArray entities, com.webobjects.foundation.NSArray externalTypesToIgnore)
public static boolean entityUsesSeparateTable(com.webobjects.eoaccess.EOEntity entity)
public static com.webobjects.eoaccess.EOAttribute attributeWithColumnNameFromEntity(java.lang.String columnName, com.webobjects.eoaccess.EOEntity entity)
public static boolean isOptimisticLockingFailure(com.webobjects.eoaccess.EOGeneralAdaptorException e)
e
- the exception as recieved from saveChanges()
public static com.webobjects.foundation.NSArray snapshotsForObjectsFromRelationshipNamed(com.webobjects.foundation.NSArray eos, java.lang.String relKey)
public static com.webobjects.foundation.NSDictionary primaryKeyDictionaryForEntity(com.webobjects.eocontrol.EOEditingContext ec, java.lang.String entityName)
ERXGeneratesPrimaryKeyInterface
for more information about using
a newly created dictionary as the primary key for an enterprise object.
ec
- editing contextentityName
- name of the entity to generate the primary key dictionary for.
public static com.webobjects.foundation.NSArray primaryKeysForObjects(com.webobjects.foundation.NSArray eos)
eos
- array of enterprise objectspublic static com.webobjects.eoaccess.EORelationship lastRelationship(com.webobjects.eoaccess.EORelationship relationship)
relationship
- public static com.webobjects.foundation.NSArray attributePathForKeyPath(com.webobjects.eoaccess.EOEntity entity, java.lang.String keyPath)
sqlStringForAttributePath
. If the last element is a
relationship, then the relationship's source attribute will get chosen. As such, this can only
work for single-value relationships in the last element.
entity
- keyPath
- public static java.lang.String sqlWhereClauseStringForKey(com.webobjects.eoaccess.EOSQLExpression e, java.lang.String key, com.webobjects.foundation.NSArray valueArray)
public static com.webobjects.eoaccess.EODatabaseContext databaseContextForObject(com.webobjects.eocontrol.EOEnterpriseObject eo)
eo
- the EO to get a database context for
public static com.webobjects.eoaccess.EODatabaseContext databaseContextForEntityNamed(com.webobjects.eocontrol.EOObjectStoreCoordinator osc, java.lang.String entityName)
entityName
- osc
- public static boolean closeDatabaseConnections(com.webobjects.eocontrol.EOObjectStoreCoordinator osc)
osc
- the EOObjectStoreCoordinator from which the (JDBC)Connections
should be closedpublic static com.webobjects.eoaccess.EOEntity destinationEntityForKeyPath(com.webobjects.eoaccess.EOEntity entity, java.lang.String keyPath)
public static com.webobjects.eoaccess.EOEntity entityForEo(com.webobjects.eocontrol.EOEnterpriseObject eo)
eo
- the EOEnterpriseObject
public static com.webobjects.foundation.NSArray classPropertiesNotInParent(com.webobjects.eoaccess.EOEntity entity, boolean includeAttributes, boolean includeToOneRelationships, boolean includeToManyRelationships)
public static com.webobjects.foundation.NSArray externalNamesForEntity(com.webobjects.eoaccess.EOEntity entity, boolean includeParentEntities)
public static com.webobjects.foundation.NSArray externalNamesForEntityNamed(java.lang.String entityName, boolean includeParentEntities)
public static com.webobjects.eoaccess.EOEntity rootEntityForEntity(com.webobjects.eoaccess.EOEntity entity)
public static com.webobjects.eoaccess.EOEntity rootEntityForEntityNamed(java.lang.String entityName)
public static void logExpression(com.webobjects.eoaccess.EOAdaptorChannel channel, com.webobjects.eoaccess.EOSQLExpression expression, long startTime)
public static java.lang.String createLogString(com.webobjects.eoaccess.EOAdaptorChannel channel, com.webobjects.eoaccess.EOSQLExpression expression, long millisecondsNeeded)
public static com.webobjects.eocontrol.EOQualifier qualifierFromAttributes(com.webobjects.foundation.NSArray attributes, com.webobjects.foundation.NSDictionary values)
public static com.webobjects.foundation.NSArray relationshipsForAttribute(com.webobjects.eoaccess.EOEntity entity, com.webobjects.eoaccess.EOAttribute attrib)
attrib
- EOAttribute to filter source attributes of
relationships.
public static com.webobjects.eoaccess.EOAttribute sourceAttributeForRelationship(com.webobjects.eoaccess.EOEntity entity, java.lang.String relationshipName)
entity
- EOEntity to find relationship onrelationshipName
- name of relationship on entity
public static com.webobjects.eoaccess.EOAttribute sourceAttributeForRelationship(com.webobjects.eoaccess.EORelationship relationship)
relationship
- relationship on entity to return source attribute for
public static java.lang.String sourceColumnForRelationship(com.webobjects.eoaccess.EOEntity entity, java.lang.String relationshipName)
entity
- EOEntity to find relationship onrelationshipName
- name of relationship on entity
public static java.lang.String sourceColumnForRelationship(com.webobjects.eoaccess.EORelationship relationship)
relationship
- relationship on entity to return the external column name for the source attribute for
public static com.webobjects.eocontrol.EOEnterpriseObject refetchFailedObject(com.webobjects.eocontrol.EOEditingContext ec, com.webobjects.eoaccess.EOGeneralAdaptorException e)
public static void reapplyChanges(com.webobjects.eocontrol.EOEnterpriseObject eo, com.webobjects.eoaccess.EOGeneralAdaptorException e)
eo
- enterprise object to have the changes re-applied to.public static int deleteRowsDescribedByQualifier(com.webobjects.eocontrol.EOEditingContext ec, java.lang.String entityName, com.webobjects.eocontrol.EOQualifier qualifier)
ec
- entityName
- qualifier
- public static int updateRowsDescribedByQualifier(com.webobjects.eocontrol.EOEditingContext ec, java.lang.String entityName, com.webobjects.eocontrol.EOQualifier qualifier, com.webobjects.foundation.NSDictionary newValues)
ec
- entityName
- qualifier
- newValues
- public static int insertRow(com.webobjects.eocontrol.EOEditingContext ec, java.lang.String entityName, com.webobjects.foundation.NSDictionary newValues)
ec
- entityName
- newValues
- public static int insertRows(com.webobjects.eocontrol.EOEditingContext ec, java.lang.String entityName, java.util.Collection<? extends com.webobjects.foundation.NSDictionary<java.lang.String,?>> newValues)
ec
- entityName
- newValues
- public static com.webobjects.foundation.NSArray primaryKeysForNewRows(com.webobjects.eocontrol.EOEditingContext ec, java.lang.String entityName, int count)
ec
- entityName
- count
- public static java.lang.String guessPluginName(com.webobjects.eoaccess.EOModel model)
model
- public static java.lang.String guessPluginNameForConnectionDictionary(com.webobjects.foundation.NSDictionary connectionDictionary)
connectionDictionary
- the connectionDictionary to guess a plugin name for
public static com.webobjects.eocontrol.EOFetchSpecification localizeFetchSpecification(com.webobjects.eocontrol.EOEditingContext ec, com.webobjects.eocontrol.EOFetchSpecification fetchSpecification)
foo.name
returning foo.name_de
where appropriate.
ec
- fetchSpecification
- public static void batchFetchRelationship(com.webobjects.eoaccess.EODatabaseContext databaseContext, java.lang.String entityName, java.lang.String relationshipName, com.webobjects.foundation.NSArray objects, com.webobjects.eocontrol.EOEditingContext editingContext, boolean skipFaultedRelationships)
databaseContext
- the database context to fetch inentityName
- the name of the entity to fetch onrelationshipName
- the name of the relationship in that entity to fetchobjects
- the objects to fetch the relationship oneditingContext
- the editingContext to fetch inskipFaultedRelationships
- if true, skip any object whose relationship has already been faultedpublic static void batchFetchRelationship(com.webobjects.eoaccess.EODatabaseContext databaseContext, com.webobjects.eoaccess.EORelationship relationship, com.webobjects.foundation.NSArray objects, com.webobjects.eocontrol.EOEditingContext editingContext, boolean skipFaultedRelationships)
databaseContext
- the database context to fetch inrelationship
- the relationship to fetchobjects
- the objects to fetch the relationship oneditingContext
- the editingContext to fetch inskipFaultedRelationships
- if true, skip any object whose relationship has already been
faultedpublic static com.webobjects.foundation.NSSet verifyAllSnapshots()
public static void makeEditableSharedEntityNamed(java.lang.String entityName)
entityName
- name of the shared entity to make
shareable.public static com.webobjects.eoaccess.EORelationship createRelationship(java.lang.String relationshipName, java.lang.String sourceEntityName, java.lang.String sourceAttributeName, java.lang.String destinationEntityName, java.lang.String destinationAttributeName, boolean toMany, int deleteRule, boolean isMandatory, boolean isClassProperty, boolean shouldPropagatePrimaryKey)
relationshipName
- name of the relationship to be created on the source entitysourceEntityName
- name of the source entitysourceAttributeName
- name of the attribute in the source entity to be used by the joindestinationEntityName
- name of the destination entitydestinationAttributeName
- name of the attribute in the destination entity to be used by the jointoMany
- if true, the relationship will be toMany, otherwise it will be toOnedeleteRule
- EOClassDescription.DeleteRuleCascade ||
EOClassDescription.DeleteRuleDeny ||
EOClassDescription.DeleteRuleNoAction ||
EOClassDescription.DeleteRuleNullifyisMandatory
- mandatory or notisClassProperty
- class property or notshouldPropagatePrimaryKey
- propagate prmary key or not
public static com.webobjects.eoaccess.EORelationship createFlattenedRelationship(java.lang.String relationshipName, java.lang.String sourceEntityName, java.lang.String definition, int deleteRule, boolean isMandatory, boolean isClassProperty)
relationshipName
- name of the relationship to be created on the source entitysourceEntityName
- name of the source entitydefinition
- data path of the relationship (e.g. department.facility)deleteRule
- EOClassDescription.DeleteRuleCascade ||
EOClassDescription.DeleteRuleDeny ||
EOClassDescription.DeleteRuleNoAction ||
EOClassDescription.DeleteRuleNullifyisMandatory
- mandatory or notisClassProperty
- class property or not
public static <T> T executeDatabaseContextOperation(com.webobjects.eoaccess.EODatabaseContext databaseContext, int maxAttempts, ERXEOAccessUtilities.DatabaseContextOperation<T> operation)
T
- the type of the results of this operationdatabaseContext
- the (possibly unlocked) database context to operate onmaxAttempts
- the maximum number of times to reattempt the operation before failingoperation
- the database context operation to performpublic static <T> T executeAdaptorChannelOperation(com.webobjects.eoaccess.EODatabaseContext databaseContext, int maxAttempts, ERXEOAccessUtilities.AdaptorChannelOperation<T> operation)
T
- the type of the results of this operationdatabaseContext
- the (possibly unlocked) database context to operate onmaxAttempts
- the maximum number of times to reattempt the operation before failingoperation
- the adaptor channel operation to performpublic static <T> T executeAdaptorChannelOperation(java.lang.String modelName, int maxAttempts, ERXEOAccessUtilities.AdaptorChannelOperation<T> operation)
T
- the type of the results of this operationmodelName
- the name of the model to lookup a database context formaxAttempts
- the maximum number of times to reattempt the operation before failingoperation
- the adaptor channel operation to performpublic static void setIsClassProperty(com.webobjects.eoaccess.EOProperty property, boolean isClassProperty)
property
- The property to add or remove from the class properties arrayisClassProperty
- true adds the property to the list of class properties,
false removes it.public static void setIsAttributeUsedForLocking(com.webobjects.eoaccess.EOAttribute attr, boolean isUsedForLocking)
attr
- the attribute to add or removeisUsedForLocking
- true adds the attribute, false removes itpublic static com.webobjects.foundation.NSArray<java.lang.String> entityHierarchyNamesForEntityNamed(com.webobjects.eocontrol.EOEditingContext ec, java.lang.String rootEntityName)
rootEntityName
-
public static com.webobjects.foundation.NSArray<com.webobjects.eoaccess.EOEntity> entityHierarchyForEntity(com.webobjects.eocontrol.EOEditingContext ec, com.webobjects.eoaccess.EOEntity rootEntity)
rootEntity
-
|
Last updated: Tue, Feb 21, 2017 05:45 PM CET | |||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |