本文整理了Java中org.datanucleus.ExecutionContext.findObjectProvider()
方法的一些代码示例,展示了ExecutionContext.findObjectProvider()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。ExecutionContext.findObjectProvider()
方法的具体详情如下:
包路径:org.datanucleus.ExecutionContext
类名称:ExecutionContext
方法名:findObjectProvider
暂无
代码示例来源:origin: org.datanucleus/datanucleus-ldap
public void transactionPreCommit()
{
// insert
while (!objectsToPersist.isEmpty())
{
HashSet<Object> insert = new HashSet<Object>(objectsToPersist);
for (Object pc : insert)
{
ec.findObjectProvider(pc, true);
}
objectsToPersist.removeAll(insert);
}
// delete
ec.deleteObjects(objectsToDelete.toArray());
}
代码示例来源:origin: org.datanucleus/datanucleus-rdbms
ObjectProvider elementSM = ec.findObjectProvider(element);
if (elementSM != null && elementSM.isEmbedded())
代码示例来源:origin: org.datanucleus/datanucleus-rdbms
ObjectProvider embSM = ec.findObjectProvider(value);
if (embSM == null || ec.getApiAdapter().getExecutionContext(value) == null)
sm = ec.findObjectProvider(value);
代码示例来源:origin: org.datanucleus/datanucleus-rdbms
/**
* Method to return the ObjectProvider for an embedded PC object (element, key, value).
* It creates one if the element is not currently managed.
* @param op ObjectProvider of the owner
* @param obj The embedded PC object
* @param ownerMmd The meta data for the owner field
* @param pcType Object type for the embedded object (see ObjectProvider EMBEDDED_PC etc)
* @return The ObjectProvider
*/
public ObjectProvider getObjectProviderForEmbeddedPCObject(ObjectProvider op, Object obj, AbstractMemberMetaData ownerMmd, short pcType)
{
ExecutionContext ec = op.getExecutionContext();
ObjectProvider objOP = ec.findObjectProvider(obj);
if (objOP == null)
{
objOP = ec.getNucleusContext().getObjectProviderFactory().newForEmbedded(ec, obj, false, op, ownerMmd.getAbsoluteFieldNumber());
}
objOP.setPcObjectType(pcType);
return objOP;
}
代码示例来源:origin: org.datanucleus/datanucleus-ldap
private void updateAsChild(Object value, EmbeddedMetaData embeddedMetaData)
ObjectProvider embeddedSM = ec.findObjectProvider(value);
boolean insert = false;
if (embeddedSM == null)
代码示例来源:origin: org.datanucleus/datanucleus-ldap
private void updateEmbedded(Object value)
{
if (value == null)
{
// create an instance with empty fields, this will null-out all embedded fields
// TODO Populate the owner object in this call
ObjectProvider embeddedSM = ec.getNucleusContext().getObjectProviderFactory().newForEmbedded(ec, effectiveClassMetaData, null, -1);
int[] allMemberPositions = embeddedSM.getClassMetaData().getAllMemberPositions();
for (int i : allMemberPositions)
{
embeddedSM.makeDirty(i);
}
//get the dummy value
value = embeddedSM.getObject();
}
ObjectProvider embeddedSM = ec.findObjectProvider(value);
boolean insert = false;
if (embeddedSM == null)
{
embeddedSM = getEmbeddedObjectProvider(value);
insert = true;
}
EmbeddedMetaData embeddedMetaData = mmd.getEmbeddedMetaData();
List<AbstractMemberMetaData> embeddedMmds = new ArrayList<AbstractMemberMetaData>(Arrays.asList(embeddedMetaData.getMemberMetaData()));
updateMerge(embeddedSM, attributes, embeddedMmds, embeddedMetaData, insert);
}
代码示例来源:origin: org.datanucleus/datanucleus-rdbms
ObjectProvider embSM = ec.findObjectProvider(value);
if (embSM == null || api.getExecutionContext(value) == null)
sm = ec.findObjectProvider(value);
代码示例来源:origin: org.datanucleus/datanucleus-rdbms
/**
* Method to extract the value of the persistable from a ResultSet.
* @param ec The ExecutionContext
* @param resultSet The ResultSet
* @param exprIndex The parameter positions in the result set to use.
* @param ownerOP ObjectProvider for the owning object
* @param fieldNumber Absolute number of field in owner object
* @return The (deserialised) persistable object
*/
public Object getObject(ExecutionContext ec, ResultSet resultSet, int[] exprIndex, ObjectProvider ownerOP, int fieldNumber)
{
Object obj = getDatastoreMapping(0).getObject(resultSet, exprIndex[0]);
if (obj != null)
{
// Assign a StateManager to the serialised object if none present
ObjectProvider embSM = ec.findObjectProvider(obj);
if (embSM == null || ec.getApiAdapter().getExecutionContext(obj) == null)
{
ec.getNucleusContext().getObjectProviderFactory().newForEmbedded(ec, obj, false, ownerOP, fieldNumber);
}
}
return obj;
}
}
代码示例来源:origin: org.datanucleus/datanucleus-rdbms
/**
* Method to extract the value of the persistable from a ResultSet.
* @param ec execution context
* @param resultSet The ResultSet
* @param exprIndex The parameter positions in the result set to use.
* @param ownerOP ObjectProvider for the owning object
* @param fieldNumber Absolute number of field in owner object
* @return The (deserialised) persistable object
*/
public Object getObject(ExecutionContext ec, ResultSet resultSet, int[] exprIndex, ObjectProvider ownerOP, int fieldNumber)
{
Object obj = getDatastoreMapping(0).getObject(resultSet, exprIndex[0]);
ApiAdapter api = ec.getApiAdapter();
if (api.isPersistable(obj))
{
// Assign a StateManager to the serialised object if none present
ObjectProvider embSM = ec.findObjectProvider(obj);
if (embSM == null || api.getExecutionContext(obj) == null)
{
ec.getNucleusContext().getObjectProviderFactory().newForEmbedded(ec, obj, false, ownerOP, fieldNumber);
}
}
return obj;
}
}
代码示例来源:origin: org.datanucleus/datanucleus-rdbms
if (ec.getApiAdapter().isPersistable(obj))
ObjectProvider paramOP = ec.findObjectProvider(obj);
AbstractClassMetaData paramCmd = ec.getMetaDataManager().getMetaDataForClass(obj.getClass(), clr);
AbstractMemberMetaData paramFieldMmd = paramCmd.getMetaDataForMember(fieldName);
代码示例来源:origin: org.datanucleus/datanucleus-rdbms
/**
* Get the value of a managed field/property in the provided object.
* @param ec execution context
* @param mmd metadata for the field/property
* @param object the pc object
* @return The field value
*/
public static Object getValueForMemberOfObject(ExecutionContext ec, AbstractMemberMetaData mmd, Object object)
{
if (ec == null)
{
// Transient or detached maybe
return ClassUtils.getValueOfFieldByReflection(object, mmd.getName());
// TODO What if this is a property?
}
ObjectProvider sm = ec.findObjectProvider(object);
if (!mmd.isPrimaryKey())
{
// Make sure the field is loaded
sm.isLoaded(mmd.getAbsoluteFieldNumber());
}
FieldManager fm = new SingleValueFieldManager();
sm.provideFields(new int[] {mmd.getAbsoluteFieldNumber()}, fm);
return fm.fetchObjectField(mmd.getAbsoluteFieldNumber());
}
代码示例来源:origin: org.datanucleus/datanucleus-rdbms
/**
* Accessor for the ObjectProvider of the embedded PC object when provided with the owner object.
* @param ownerOP ObjectProvider of the owner
* @return ObjectProvider of the embedded object
*/
private ObjectProvider getObjectProviderForEmbeddedObject(ObjectProvider ownerOP)
{
AbstractMemberMetaData theMmd = getRealMemberMetaData();
Object value = ownerOP.provideField(theMmd.getAbsoluteFieldNumber()); // Owner (non-embedded) PC
TypeManager typeManager = ownerOP.getExecutionContext().getTypeManager();
value = mmd.isSingleCollection() ? typeManager.getContainerAdapter(value).iterator().next() : value;
if (value == null)
{
return null;
}
ExecutionContext ec = ownerOP.getExecutionContext();
ObjectProvider thisOP = ec.findObjectProvider(value);
if (thisOP == null)
{
// Assign a ObjectProvider to manage our embedded object
thisOP = ec.getNucleusContext().getObjectProviderFactory().newForEmbedded(ec, value, false, ownerOP, theMmd.getAbsoluteFieldNumber());
thisOP.setPcObjectType(objectType);
}
return thisOP;
}
}
代码示例来源:origin: org.datanucleus/datanucleus-rdbms
ObjectProvider vsm = ec.findObjectProvider(oldValue);
代码示例来源:origin: org.datanucleus/datanucleus-rdbms
ObjectProvider otherOP = op.getExecutionContext().findObjectProvider(pc);
if (otherOP == null)
otherOP = op.getExecutionContext().findObjectProvider(other);
代码示例来源:origin: org.datanucleus/datanucleus-rdbms
ObjectProvider elemOP = ec.findObjectProvider(elem);
if (elemOP == null || ec.getApiAdapter().getExecutionContext(elem) == null)
代码示例来源:origin: org.datanucleus/datanucleus-neodatis
ObjectProvider sm = ec.findObjectProvider(obj);
if (sm == null)
代码示例来源:origin: org.datanucleus/datanucleus-api-jdo
ObjectProvider op = ec.findObjectProvider(pc);
if (op == null)
代码示例来源:origin: org.datanucleus/datanucleus-api-jdo
ObjectProvider op = ec.findObjectProvider(pc);
if (op == null)
代码示例来源:origin: org.datanucleus/datanucleus-api-jdo
ObjectProvider op = ec.findObjectProvider(pc);
if (op == null)
代码示例来源:origin: org.datanucleus/datanucleus-api-jdo
ObjectProvider op = ec.findObjectProvider(pc);
if (op == null)
内容来源于网络,如有侵权,请联系作者删除!