org.apache.isis.runtimes.dflt.runtime.system.persistence.AdapterManager类的使用及代码示例

x33g5p2x  于2022-01-17 转载在 其他  
字(6.7k)|赞(0)|评价(0)|浏览(118)

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

AdapterManager介绍

[英]Responsible for managing the ObjectAdapters and Oid for each and every POJO that is being used by the framework.

It provides a consistent set of adapters in memory, providing an ObjectAdapter for the POJOs that are in use ensuring that the same object is not loaded twice into memory.

Each POJO is given an ObjectAdapter so that the framework can work with the POJOs even though it does not understand their types. Each POJO maps to an ObjectAdapter and these are reused.
[中]负责管理框架正在使用的每个POJO的ObjectAdapters和Oid。
它在内存中提供了一组一致的适配器,为正在使用的POJO提供了一个ObjectAdapter,以确保同一对象不会两次加载到内存中。
每个POJO都有一个ObjectAdapter,这样即使框架不了解POJO的类型,也可以使用POJO。每个POJO映射到一个ObjectAdapter,并且这些被重用。

代码示例

代码示例来源:origin: org.apache.isis.viewer/wicket-model

@Override
  public ObjectAdapter apply(final Oid from) {
    final ObjectAdapter adapterFor = getAdapterManager().getAdapterFor(from);
    return adapterFor;
  }
};

代码示例来源:origin: org.apache.isis.runtimes.dflt/runtime

@Override
  public ObjectAdapter adapterFor(final Object pojo, final ObjectAdapter ownerAdapter, final IdentifiedHolder identifiedHolder) {
    return getRuntimeAdapterManager().adapterFor(pojo, ownerAdapter, identifiedHolder);
  }
};

代码示例来源:origin: org.apache.isis.runtimes.dflt/runtime

@Override
public ObjectAdapter adapterForAggregated(final Object domainObject, final ObjectAdapter parent) {
  return getRuntimeAdapterManager().adapterForAggregated(domainObject, parent);
};

代码示例来源:origin: org.apache.isis.runtimes.dflt.objectstores/dflt

private void recreateAdapters(final ObjectStoreInstances objectStoreInstances) {
  for (final Oid oid : objectStoreInstances.getOids()) {
    // it's important not to "touch" the pojo, not even in log messages.
    // That's because
    // the toString() will cause bytecode enhancement to try to resolve
    // references.
    if (LOG.isDebugEnabled()) {
      LOG.debug("recreating adapter: oid=" + oid);
    }
    final Object pojo = objectStoreInstances.getPojo(oid);
    final ObjectAdapter existingAdapterLookedUpByPojo = getAdapterManager().getAdapterFor(pojo);
    if (existingAdapterLookedUpByPojo != null) {
      // this could happen if we rehydrate a persisted object that
      // depends on another persisted object
      // not yet rehydrated.
      getAdapterManager().removeAdapter(existingAdapterLookedUpByPojo);
    }
    final ObjectAdapter existingAdapterLookedUpByOid = getAdapterManager().getAdapterFor(oid);
    if (existingAdapterLookedUpByOid != null) {
      throw new IsisException("A mapping already exists for " + oid + ": " + existingAdapterLookedUpByOid);
    }
    final ObjectAdapter recreatedAdapter = getHydrator().recreateAdapter(oid, pojo);
    final Version version = objectStoreInstances.getVersion(oid);
    recreatedAdapter.setOptimisticLock(version);
  }
}

代码示例来源:origin: org.apache.isis.viewer/wicket-model

@Override
  public ObjectAdapter apply(final Object pojo) {
    return getAdapterManager().getAdapterFor(pojo);
  }
};

代码示例来源:origin: org.apache.isis.runtimes.dflt/runtime

@Override
public ObjectAdapter adapterFor(final Object pojo) {
  return getRuntimeAdapterManager().adapterFor(pojo);
}

代码示例来源:origin: org.apache.isis.runtimes.dflt/runtime

@Override
protected void setUp() throws Exception {
  super.setUp();
  parent = system.createPersistentTestObject();
  field = new TestProxyField("fieldName", system.getSpecification(Object.class));
  FacetUtil.addFacet(new AggregatedFacetAlways(field));
  value = new Object();
  aggregatedAdapter = getAdapterManager().adapterForAggregated(value, parent);
}

代码示例来源:origin: org.apache.isis.runtimes.dflt/runtime

@Override
public ObjectAdapter getAdapterFor(final Object pojo) {
  return getRuntimeAdapterManager().getAdapterFor(pojo);
}

代码示例来源:origin: org.apache.isis.viewer/wicket-model

@Override
  public ObjectAdapterMemento apply(final Object pojo) {
    final ObjectAdapter adapter = getAdapterManager().adapterFor(pojo);
    return ObjectAdapterMemento.createOrNull(adapter);
  }
};

代码示例来源:origin: org.apache.isis.viewer/scimpi-dispatcher

@Override
public ObjectAdapter getObject() {
  return IsisContext.getPersistenceSession().getAdapterManager().getAdapterFor(oid);
}

代码示例来源:origin: org.apache.isis.viewer/wicket-model

@Override
public Oid apply(final Object pojo) {
  final ObjectAdapter adapter = getAdapterManager().adapterFor(pojo);
  return adapter.getOid();
}

代码示例来源:origin: org.apache.isis.viewer/wicket-viewer

/**
 * Converts {@link OidStringifier stringified} {@link Oid} to
 * {@link ObjectAdapter}.
 */
@Override
public Object convertToObject(final String value, final Locale locale) {
  final Oid oid = getOidStringifier().deString(value);
  return getAdapterManager().getAdapterFor(oid);
}

代码示例来源:origin: org.apache.isis.runtimes.dflt.remoting/common

@Override
public ObjectAdapter fromEncodedString(final String encodedData) {
  return getAdapterManager().adapterFor(encodedData);
}

代码示例来源:origin: org.apache.isis.viewer/wicket-viewer

/**
 * Converts {@link OidStringifier stringified} {@link Oid} to
 * {@link ObjectAdapterMemento}.
 */
@Override
public Object convertToObject(final String value, final Locale locale) {
  if (StringUtils.isEmpty(value)) {
    return null;
  }
  final Oid oid = getOidStringifier().deString(value);
  final ObjectAdapter adapter = getAdapterManager().getAdapterFor(oid);
  return ObjectAdapterMemento.createOrNull(adapter);
}

代码示例来源:origin: org.apache.isis.runtimes.dflt/runtime

@Override
public Object transform(final Object object) {
  return getAdapterManager().adapterFor(object);
}

代码示例来源:origin: org.apache.isis.runtimes.dflt.objectstores/dflt

/**
 * If the pojo exists in the object store, then looks up the
 * {@link ObjectAdapter adapter} from the {@link AdapterManager}, and only
 * if none found does it
 * {@link PersistenceSessionHydrator#recreateAdapter(Oid, Object) recreate}
 * a new {@link ObjectAdapter adapter}.
 */
public ObjectAdapter retrieveObject(final Oid oid) {
  final Object pojo = getObjectInstances().get(oid);
  if (pojo == null) {
    return null;
  }
  final ObjectAdapter adapterLookedUpByPojo = getAdapterManager().getAdapterFor(pojo);
  if (adapterLookedUpByPojo != null) {
    return adapterLookedUpByPojo;
  }
  final ObjectAdapter adapterLookedUpByOid = getAdapterManager().getAdapterFor(oid);
  if (adapterLookedUpByOid != null) {
    return adapterLookedUpByOid;
  }
  return getHydrator().recreateAdapter(oid, pojo);
}

代码示例来源:origin: org.apache.isis.runtimes.dflt/runtime

private ObjectAdapter adapterFor(final Object object) {
  return getAdapterManager().adapterFor(object);
}

代码示例来源:origin: org.apache.isis.viewer/scimpi-dispatcher

@Override
public String debug() {
  return oid + "  " + spec.getShortIdentifier() + "  " + IsisContext.getPersistenceSession().getAdapterManager().getAdapterFor(oid);
}

代码示例来源:origin: org.apache.isis.runtimes.dflt.remoting/common

@Override
public ObjectAdapter fromEncodedString(final String encodedData) {
  return getAdapterManager().adapterFor(encodedData);
}

代码示例来源:origin: org.apache.isis.viewer/scimpi-dispatcher

@Override
public void reload() {
  if (IsisContext.getPersistenceSession().getAdapterManager().getAdapterFor(oid) == null) {
    IsisContext.getPersistenceSession().recreateAdapter(oid, spec);
  }
}

相关文章

微信公众号

最新文章

更多