org.datanucleus.ExecutionContext.findObjectProvider()方法的使用及代码示例

x33g5p2x  于2022-01-19 转载在 其他  
字(7.9k)|赞(0)|评价(0)|浏览(102)

本文整理了Java中org.datanucleus.ExecutionContext.findObjectProvider()方法的一些代码示例,展示了ExecutionContext.findObjectProvider()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。ExecutionContext.findObjectProvider()方法的具体详情如下:
包路径:org.datanucleus.ExecutionContext
类名称:ExecutionContext
方法名:findObjectProvider

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)

相关文章