本文整理了Java中org.datanucleus.ExecutionContext.getMetaDataManager()
方法的一些代码示例,展示了ExecutionContext.getMetaDataManager()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。ExecutionContext.getMetaDataManager()
方法的具体详情如下:
包路径:org.datanucleus.ExecutionContext
类名称:ExecutionContext
方法名:getMetaDataManager
暂无
代码示例来源:origin: org.datanucleus/datanucleus-ldap
protected RelationByHierarchyStrategy(StoreManager storeMgr, ObjectProvider op, AbstractMemberMetaData mmd, Attributes attributes)
{
super(op, mmd, attributes);
this.fieldNumber = mmd.getAbsoluteFieldNumber();
this.storeMgr = storeMgr;
this.clr = ec.getClassLoaderResolver();
this.effectiveClassMetaData = LDAPUtils.getEffectiveClassMetaData(mmd, ec.getMetaDataManager());
this.isFieldHierarchicalMapped = isChildOfHierarchicalMapping(mmd, ec.getMetaDataManager());
this.isFieldParentOfHierarchicalMapping = isParentOfHierarchicalMapping(mmd, ec.getMetaDataManager());
}
代码示例来源:origin: org.datanucleus/datanucleus-rdbms
/**
* Populate a map with the declared fields of the result class and super classes.
* @param cls the class to find the declared fields and populate the map
*/
private void populateDeclaredFieldsForUserType(Class cls)
{
Field[] declaredFields = cls.getDeclaredFields();
for (Field field : declaredFields)
{
if (!field.isSynthetic() && resultClassFieldsByName.put(field.getName().toUpperCase(), field) != null &&
!field.getName().startsWith(ec.getMetaDataManager().getEnhancedMethodNamePrefix()))
{
throw new NucleusUserException(Localiser.msg("021210", field.getName()));
}
}
if (cls.getSuperclass() != null)
{
populateDeclaredFieldsForUserType(cls.getSuperclass());
}
}
代码示例来源:origin: org.datanucleus/datanucleus-ldap
protected RelationByAttributeStrategy(StoreManager storeMgr, ObjectProvider sm, AbstractMemberMetaData mmd, Attributes attributes)
{
super(sm, mmd, attributes);
this.fieldNumber = mmd.getAbsoluteFieldNumber();
this.storeMgr = storeMgr;
this.clr = ec.getClassLoaderResolver();
this.effectiveClassMetaData = LDAPUtils.getEffectiveClassMetaData(mmd, ec.getMetaDataManager());
this.mappingMetaData = new RelationByAttributeMetaData(mmd, ec.getMetaDataManager());
}
代码示例来源:origin: org.datanucleus/datanucleus-api-jdo
/**
* Accessor for the generic compilation that this criteria query equates to.
* @return The generic compilation
*/
public QueryCompilation getCompilation()
{
if (compilation == null)
{
// Not yet compiled, so compile it
compilation = compile(ec.getMetaDataManager(), ec.getClassLoaderResolver());
}
return compilation;
}
代码示例来源:origin: org.datanucleus/datanucleus-hbase
protected AbstractClassMetaData getCandidateClassMetaData()
{
AbstractClassMetaData cmd = ec.getMetaDataManager().getMetaDataForClass(candidateClass, clr);
if (candidateClass.isInterface())
{
// Query of interface
String[] impls = ec.getMetaDataManager().getClassesImplementingInterface(candidateClass.getName(), clr);
if (impls.length == 1 && cmd.isImplementationOfPersistentDefinition())
{
// Only the generated implementation, so just use its metadata
}
else
{
// Use metadata for the persistent interface
cmd = ec.getMetaDataManager().getMetaDataForInterface(candidateClass, clr);
if (cmd == null)
{
throw new NucleusUserException("Attempting to query an interface yet it is not declared 'persistent'." +
" Define the interface in metadata as being persistent to perform this operation, and make sure" +
" any implementations use the same identity and identity member(s)");
}
}
}
return cmd;
}
代码示例来源:origin: org.datanucleus/datanucleus-mongodb
protected AbstractClassMetaData getCandidateClassMetaData()
{
AbstractClassMetaData cmd = ec.getMetaDataManager().getMetaDataForClass(candidateClass, clr);
if (candidateClass.isInterface())
{
// Query of interface
String[] impls = ec.getMetaDataManager().getClassesImplementingInterface(candidateClass.getName(), clr);
if (impls.length == 1 && cmd.isImplementationOfPersistentDefinition())
{
// Only the generated implementation, so just use its metadata
}
else
{
// Use metadata for the persistent interface
cmd = ec.getMetaDataManager().getMetaDataForInterface(candidateClass, clr);
if (cmd == null)
{
throw new NucleusUserException("Attempting to query an interface yet it is not declared 'persistent'." +
" Define the interface in metadata as being persistent to perform this operation, and make sure" +
" any implementations use the same identity and identity member(s)");
}
}
}
return cmd;
}
代码示例来源:origin: org.datanucleus/datanucleus-hbase
protected AbstractClassMetaData getCandidateClassMetaData()
{
AbstractClassMetaData cmd = ec.getMetaDataManager().getMetaDataForClass(candidateClass, clr);
if (candidateClass.isInterface())
{
// Query of interface
String[] impls = ec.getMetaDataManager().getClassesImplementingInterface(candidateClass.getName(), clr);
if (impls.length == 1 && cmd.isImplementationOfPersistentDefinition())
{
// Only the generated implementation, so just use its metadata
}
else
{
// Use metadata for the persistent interface
cmd = ec.getMetaDataManager().getMetaDataForInterface(candidateClass, clr);
if (cmd == null)
{
throw new NucleusUserException("Attempting to query an interface yet it is not declared 'persistent'." +
" Define the interface in metadata as being persistent to perform this operation, and make sure" +
" any implementations use the same identity and identity member(s)");
}
}
}
return cmd;
}
代码示例来源:origin: org.datanucleus/datanucleus-ldap
protected EmbeddedMappingStrategy(StoreManager storeMgr, ObjectProvider op, AbstractMemberMetaData mmd, Attributes attributes)
{
super(op, mmd, attributes);
this.fieldNumber = mmd.getAbsoluteFieldNumber();
this.storeMgr = storeMgr;
this.clr = ec.getClassLoaderResolver();
this.effectiveClassMetaData = LDAPUtils.getEffectiveClassMetaData(mmd, ec.getMetaDataManager());
}
代码示例来源:origin: org.datanucleus/datanucleus-ldap
protected RelationByDnStrategy(StoreManager storeMgr, ObjectProvider sm, AbstractMemberMetaData mmd, Attributes attributes)
{
super(sm, mmd, attributes);
this.fieldNumber = mmd.getAbsoluteFieldNumber();
this.storeMgr = storeMgr;
this.clr = ec.getClassLoaderResolver();
this.effectiveClassMetaData = LDAPUtils.getEffectiveClassMetaData(mmd, ec.getMetaDataManager());
this.mappingMetaData = new RelationByDnMetaData(mmd, ec.getMetaDataManager());
if (mappingMetaData.getOwnerAttributeName() == null)
{
// Sanity check on metadata
throw new NucleusUserException("Member " + mmd.getFullFieldName() + " stores multiple values and has owner LDAP attribute as NULL. The metadata is incorrect and needs to set this.");
}
}
代码示例来源:origin: org.datanucleus/datanucleus-ldap
LdapName base = LDAPUtils.getSearchBase(cmd, ec.getMetaDataManager());
List<Object> objects = LDAPUtils.getObjectsOfCandidateType(storeMgr, ec, cmd, base, attributeFilter, true, false);
代码示例来源:origin: org.datanucleus/datanucleus-api-jdo
@Override
public JDOQLTypedQuery<T> saveAsNamedQuery(String name)
{
assertIsOpen();
JDOPersistenceManagerFactory.checkJDOPermission(JDOPermission.GET_METADATA);
QueryMetaData qmd = new QueryMetaData(name);
qmd.setLanguage(Query.LANGUAGE_JDOQL);
Query query = getInternalQuery();
qmd.setQuery(query.toString());
qmd.setResultClass(query.getResultClassName());
qmd.setUnique(query.isUnique());
Map<String, Object> queryExts = query.getExtensions();
if (queryExts != null && !queryExts.isEmpty())
{
Iterator<Map.Entry<String, Object>> queryExtsIter = queryExts.entrySet().iterator();
while (queryExtsIter.hasNext())
{
Map.Entry<String, Object> queryExtEntry = queryExtsIter.next();
qmd.addExtension(queryExtEntry.getKey(), "" + queryExtEntry.getValue());
}
}
query.getExecutionContext().getMetaDataManager().registerNamedQuery(qmd);
return this;
}
代码示例来源:origin: org.datanucleus/datanucleus-rdbms
/**
* Convenience method that takes a result set that contains a discriminator column and returns the class name that it represents.
* @param discrimMapping Mapping for the discriminator column
* @param dismd Metadata for the discriminator
* @param rs The result set
* @param ec execution context
* @return The class name for the object represented in the current row
*/
public static String getClassNameFromDiscriminatorResultSetRow(JavaTypeMapping discrimMapping, DiscriminatorMetaData dismd, ResultSet rs, ExecutionContext ec)
{
String rowClassName = null;
if (discrimMapping != null && dismd.getStrategy() != DiscriminatorStrategy.NONE)
{
try
{
String discriminatorColName = discrimMapping.getDatastoreMapping(0).getColumn().getIdentifier().getName();
String discriminatorValue = rs.getString(discriminatorColName);
rowClassName = ec.getMetaDataManager().getClassNameFromDiscriminatorValue(discriminatorValue, dismd);
}
catch (SQLException e)
{
// discriminator column doesn't exist with this name
}
}
return rowClassName;
}
代码示例来源:origin: org.datanucleus/datanucleus-rdbms
AbstractClassMetaData cmd = ec.getMetaDataManager().getMetaDataForEntityName(className);
if (cmd != null)
代码示例来源:origin: org.datanucleus/datanucleus-rdbms
private Object processSubObjectFields(JavaTypeMapping mapping, Class fieldType, StatementClassMapping relationMappings)
{
ClassLoaderResolver clr = ec.getClassLoaderResolver();
AbstractClassMetaData relatedCmd = ec.getMetaDataManager().getMetaDataForClass(fieldType, clr);
if (mapping instanceof ReferenceMapping)
{
// Special case where we have a ReferenceMapping and single implementation with FK
ReferenceMapping refMapping = (ReferenceMapping)mapping;
if (refMapping.getMappingStrategy() == ReferenceMapping.PER_IMPLEMENTATION_MAPPING)
{
JavaTypeMapping[] subMappings = refMapping.getJavaTypeMapping();
if (subMappings != null && subMappings.length == 1)
{
relatedCmd = ec.getMetaDataManager().getMetaDataForClass(subMappings[0].getType(), clr);
fieldType = clr.classForName(subMappings[0].getType());
}
}
}
ResultObjectFactory relationROF = new PersistentClassROF(ec, rs, false, relationMappings, relatedCmd, fieldType);
return relationROF.getObject();
}
}
代码示例来源:origin: org.datanucleus/datanucleus-hbase
if (relationType != RelationType.NONE && MetaDataUtils.getInstance().isMemberEmbedded(ec.getMetaDataManager(), clr, mmd, relationType, null))
embMmds.add(mmd);
AbstractClassMetaData embCmd = ec.getMetaDataManager().getMetaDataForClass(mmd.getType(), clr);
ObjectProvider embOP = ec.getNucleusContext().getObjectProviderFactory().newForEmbedded(ec, embCmd, op, fieldNumber);
FieldManager ffm = new FetchEmbeddedFieldManager(embOP, result, embMmds, table);
代码示例来源:origin: org.datanucleus/datanucleus-neodatis
/**
* Utility method to process the passed persistable object.
* We know that this object has no ObjectProvider when it comes in here.
* @param fieldNumber Absolute field number
* @param pc The persistable object
*/
protected void processPersistable(int fieldNumber, Object pc)
{
ExecutionContext ec = op.getExecutionContext();
ObjectProvider theSM = null;
// No ObjectProvider but object returned to us by NeoDatis so we know it is persistent
// Connect a ObjectProvider in P_CLEAN state with all fields loaded
AbstractClassMetaData acmd = ec.getMetaDataManager().getMetaDataForClass(pc.getClass(),
ec.getClassLoaderResolver());
Object id = NeoDatisUtils.getIdentityForObject(pc, acmd, ec, odb);
theSM = ec.getNucleusContext().getObjectProviderFactory().newForPersistentClean(ec, id, pc);
// Recurse to all fields of this object since just assigned its ObjectProvider
theSM.provideFields(theSM.getClassMetaData().getAllMemberPositions(),
new AssignObjectProviderFieldManager(theSM, odb));
}
代码示例来源:origin: org.datanucleus/datanucleus-excel
public Object fetchObjectField(int fieldNumber)
{
ClassLoaderResolver clr = ec.getClassLoaderResolver();
AbstractMemberMetaData mmd = cmd.getMetaDataForManagedMemberAtAbsolutePosition(fieldNumber);
RelationType relationType = mmd.getRelationType(clr);
// Special cases
if (relationType != RelationType.NONE && MetaDataUtils.getInstance().isMemberEmbedded(ec.getMetaDataManager(), clr, mmd, relationType, null))
{
// Embedded field
if (RelationType.isRelationSingleValued(relationType))
{
// TODO Null detection
List<AbstractMemberMetaData> embMmds = new ArrayList<AbstractMemberMetaData>();
embMmds.add(mmd);
AbstractClassMetaData embCmd = ec.getMetaDataManager().getMetaDataForClass(mmd.getType(), clr);
ObjectProvider embOP = ec.getNucleusContext().getObjectProviderFactory().newForEmbedded(ec, embCmd, op, fieldNumber);
FieldManager fetchEmbFM = new FetchEmbeddedFieldManager(embOP, sheet, rowNumber, embMmds, table);
embOP.replaceFields(embCmd.getAllMemberPositions(), fetchEmbFM);
return embOP.getObject();
}
else if (RelationType.isRelationMultiValued(relationType))
{
throw new NucleusUserException("Dont support embedded multi-valued field at " + mmd.getFullFieldName() + " with Excel");
}
}
return fetchObjectFieldInternal(fieldNumber, mmd, clr, relationType);
}
代码示例来源:origin: org.datanucleus/datanucleus-odf
@Override
public Object fetchObjectField(int fieldNumber)
{
ClassLoaderResolver clr = ec.getClassLoaderResolver();
AbstractMemberMetaData mmd = cmd.getMetaDataForManagedMemberAtAbsolutePosition(fieldNumber);
RelationType relationType = mmd.getRelationType(clr);
// Special cases
if (relationType != RelationType.NONE && MetaDataUtils.getInstance().isMemberEmbedded(ec.getMetaDataManager(), clr, mmd, relationType, null))
{
// Embedded field
if (RelationType.isRelationSingleValued(relationType))
{
// TODO Null detection
List<AbstractMemberMetaData> embMmds = new ArrayList<AbstractMemberMetaData>();
embMmds.add(mmd);
AbstractClassMetaData embCmd = ec.getMetaDataManager().getMetaDataForClass(mmd.getType(), clr);
ObjectProvider embOP = ec.getNucleusContext().getObjectProviderFactory().newForEmbedded(ec, embCmd, op, fieldNumber);
FieldManager fetchEmbFM = new FetchEmbeddedFieldManager(embOP, row, embMmds, table);
embOP.replaceFields(embCmd.getAllMemberPositions(), fetchEmbFM);
return embOP.getObject();
}
else if (RelationType.isRelationMultiValued(relationType))
{
throw new NucleusUserException("Dont support embedded multi-valued field at " + mmd.getFullFieldName() + " with ODF");
}
}
return fetchObjectFieldInternal(fieldNumber, mmd, clr, relationType);
}
代码示例来源:origin: org.datanucleus/datanucleus-rdbms
AbstractClassMetaData paramCmd = ec.getMetaDataManager().getMetaDataForClass(obj.getClass(), clr);
AbstractMemberMetaData paramFieldMmd = paramCmd.getMetaDataForMember(fieldName);
if (paramOP != null)
代码示例来源:origin: org.datanucleus/datanucleus-rdbms
/**
* Method to bind the specified unbound variable (as cross join) on the assumption that the type is a persistable class.
* @param expr Unbound expression
* @param type The type to bind as
*/
public SQLExpression bindVariable(UnboundExpression expr, Class type)
{
String varName = expr.getVariableName();
Symbol varSym = compilation.getSymbolTable().getSymbol(varName);
if (varSym.getValueType() == null)
{
varSym.setValueType(type);
}
AbstractClassMetaData cmd = ec.getMetaDataManager().getMetaDataForClass(type, clr);
if (cmd != null)
{
// Variable is persistent type, so add cross join (may need changing later on in compilation)
DatastoreClass varTable = storeMgr.getDatastoreClass(varSym.getValueType().getName(), clr);
SQLTable varSqlTbl = stmt.join(JoinType.CROSS_JOIN, null, null, null, varTable, "VAR_" + varName, null, null, null, null, true, null);
SQLTableMapping varSqlTblMapping = new SQLTableMapping(varSqlTbl, cmd, varTable.getIdMapping());
setSQLTableMappingForAlias(varName, varSqlTblMapping);
return exprFactory.newExpression(stmt, varSqlTbl, varTable.getIdMapping());
}
return null;
}
内容来源于网络,如有侵权,请联系作者删除!