@Override protected void createAttributeProperty( PersistentDescriptor descriptor, ObjAttribute attribute) { descriptor.addDeclaredProperty(new DataObjectAttributeProperty(attribute)); }
@Override protected void createToManySetProperty( PersistentDescriptor descriptor, ObjRelationship relationship) { ClassDescriptor targetDescriptor = descriptorMap.getDescriptor(relationship .getTargetEntityName()); descriptor.addDeclaredProperty(new DataObjectToManyProperty( relationship, targetDescriptor, faultFactory.getSetFault())); }
@Override protected void createToManyCollectionProperty( PersistentDescriptor descriptor, ObjRelationship relationship) { ClassDescriptor targetDescriptor = descriptorMap.getDescriptor(relationship .getTargetEntityName()); descriptor.addDeclaredProperty(new DataObjectToManyProperty( relationship, targetDescriptor, faultFactory.getCollectionFault())); }
@Override protected void createToManyListProperty( PersistentDescriptor descriptor, ObjRelationship relationship) { ClassDescriptor targetDescriptor = descriptorMap.getDescriptor(relationship .getTargetEntityName()); descriptor.addDeclaredProperty(new DataObjectToManyProperty( relationship, targetDescriptor, faultFactory.getListFault())); }
@Override protected void createToOneProperty( PersistentDescriptor descriptor, ObjRelationship relationship) { ClassDescriptor targetDescriptor = descriptorMap.getDescriptor(relationship .getTargetEntityName()); descriptor.addDeclaredProperty(new DataObjectToOneProperty( relationship, targetDescriptor, faultFactory.getToOneFault())); }
protected void createAttributeProperty(PersistentDescriptor descriptor, ObjAttribute attribute) { Class<?> propertyType = attribute.getJavaClass(); Accessor accessor = createAccessor(descriptor, attribute.getName(), propertyType); descriptor.addDeclaredProperty(new SimpleAttributeProperty(descriptor, accessor, attribute)); }
protected void createEmbeddedAttributeProperty(PersistentDescriptor descriptor, EmbeddedAttribute embeddedAttribute, ObjAttribute attribute) { Class<?> embeddableClass = embeddedAttribute.getJavaClass(); String propertyPath = attribute.getName(); int lastDot = propertyPath.lastIndexOf('.'); if (lastDot <= 0 || lastDot == propertyPath.length() - 1) { throw new IllegalArgumentException("Invalid embeddable path: " + propertyPath); } String embeddableName = propertyPath.substring(lastDot + 1); EmbeddableDescriptor embeddableDescriptor = createEmbeddableDescriptor(embeddedAttribute); Accessor embeddedAccessor = createAccessor(descriptor, embeddedAttribute.getName(), embeddableClass); Accessor embeddedableAccessor = createEmbeddableAccessor(embeddableDescriptor, embeddableName, attribute.getJavaClass()); Accessor accessor = new EmbeddedFieldAccessor(embeddableDescriptor, embeddedAccessor, embeddedableAccessor); descriptor.addDeclaredProperty(new SimpleAttributeProperty(descriptor, accessor, attribute)); }
@Override protected void createToManyMapProperty( PersistentDescriptor descriptor, ObjRelationship relationship) { ClassDescriptor targetDescriptor = descriptorMap.getDescriptor(relationship .getTargetEntityName()); Accessor mapKeyAccessor = createMapKeyAccessor(relationship, targetDescriptor); descriptor.addDeclaredProperty(new DataObjectToManyMapProperty( relationship, targetDescriptor, faultFactory.getMapFault(mapKeyAccessor), mapKeyAccessor)); }
@Override protected void createToManyCollectionProperty( PersistentDescriptor descriptor, ObjRelationship relationship) { ClassDescriptor targetDescriptor = descriptorMap.getDescriptor(relationship .getTargetEntityName()); String reverseName = relationship.getReverseRelationshipName(); Accessor accessor = createAccessor(descriptor, relationship.getName(), List.class); descriptor.addDeclaredProperty(new ValueHolderListProperty( descriptor, targetDescriptor, accessor, reverseName)); }
@Override protected void createToManySetProperty( PersistentDescriptor descriptor, ObjRelationship relationship) { ClassDescriptor targetDescriptor = descriptorMap.getDescriptor(relationship .getTargetEntityName()); String reverseName = relationship.getReverseRelationshipName(); Accessor accessor = createAccessor(descriptor, relationship.getName(), Set.class); descriptor.addDeclaredProperty(new ValueHolderSetProperty( descriptor, targetDescriptor, accessor, reverseName)); }
@Override protected void createToManyListProperty( PersistentDescriptor descriptor, ObjRelationship relationship) { ClassDescriptor targetDescriptor = descriptorMap.getDescriptor(relationship .getTargetEntityName()); String reverseName = relationship.getReverseRelationshipName(); Accessor accessor = createAccessor(descriptor, relationship.getName(), List.class); descriptor.addDeclaredProperty(new ValueHolderListProperty( descriptor, targetDescriptor, accessor, reverseName)); }
@Override protected void createToOneProperty( PersistentDescriptor descriptor, ObjRelationship relationship) { ClassDescriptor targetDescriptor = descriptorMap.getDescriptor(relationship .getTargetEntityName()); String reverseName = relationship.getReverseRelationshipName(); Accessor accessor = createAccessor( descriptor, relationship.getName(), ValueHolder.class); PropertyDescriptor property = new ValueHolderProperty( descriptor, targetDescriptor, accessor, reverseName); descriptor.addDeclaredProperty(property); } }
@Override protected void createToManyMapProperty( PersistentDescriptor descriptor, ObjRelationship relationship) { ClassDescriptor targetDescriptor = descriptorMap.getDescriptor(relationship .getTargetEntityName()); String reverseName = relationship.getReverseRelationshipName(); Accessor accessor = createAccessor(descriptor, relationship.getName(), Map.class); Accessor mapKeyAccessor = createMapKeyAccessor(relationship, targetDescriptor); PropertyDescriptor property = new ValueHolderMapProperty( descriptor, targetDescriptor, accessor, reverseName, mapKeyAccessor); descriptor.addDeclaredProperty(property); }