use of org.apache.cayenne.reflect.valueholder.ValueHolderDescriptorFactory in project cayenne by apache.
the class ClientEntityResolver method getClassDescriptorMap.
@Override
public ClassDescriptorMap getClassDescriptorMap() {
if (classDescriptorMap == null) {
ClassDescriptorMap classDescriptorMap = new ClassDescriptorMap(this);
classDescriptorMap.addFactory(new ValueHolderDescriptorFactory(classDescriptorMap));
// entity proxies here.
for (DataMap map : maps) {
for (String entityName : map.getObjEntityMap().keySet()) {
classDescriptorMap.getDescriptor(entityName);
}
}
this.classDescriptorMap = classDescriptorMap;
}
return classDescriptorMap;
}
use of org.apache.cayenne.reflect.valueholder.ValueHolderDescriptorFactory in project cayenne by apache.
the class EntityResolver method getClassDescriptorMap.
/**
* Returns an object that compiles and stores {@link ClassDescriptor}
* instances for all entities.
*
* @since 3.0
*/
public ClassDescriptorMap getClassDescriptorMap() {
if (classDescriptorMap == null) {
synchronized (this) {
if (classDescriptorMap == null) {
ClassDescriptorMap classDescriptorMap = new ClassDescriptorMap(this);
FaultFactory faultFactory = new SingletonFaultFactory();
// add factories in reverse of the desired chain order
classDescriptorMap.addFactory(new ValueHolderDescriptorFactory(classDescriptorMap));
classDescriptorMap.addFactory(new DataObjectDescriptorFactory(classDescriptorMap, faultFactory));
// it with entity proxies here.
for (DataMap map : maps) {
for (String entityName : map.getObjEntityMap().keySet()) {
classDescriptorMap.getDescriptor(entityName);
}
}
this.classDescriptorMap = classDescriptorMap;
}
}
}
return classDescriptorMap;
}
Aggregations