private JavaTypeDescriptor getCollectionIndexJavaTypeDescriptor() { if ( !IndexedCollection.class.isInstance( propertyValue ) ) { return null; } return ( (IndexedCollection ) propertyValue ).getIndex().getJavaTypeMapping().getJavaTypeDescriptor(); }
public Class getElementClass() throws MappingException { if ( elementClassName == null ) { return isPrimitiveArray() ? ( (Primitive) getElement().getJavaTypeMapping().getJavaTypeDescriptor() ).getPrimitiveClass() : getElement().getJavaTypeMapping().getJavaTypeDescriptor().getJavaType(); } else { try { return getMetadataBuildingContext() .getBuildingOptions() .getServiceRegistry() .getService( ClassLoaderService.class ) .classForName( elementClassName ); } catch (ClassLoadingException e) { throw new MappingException( e ); } } }
@Override public JavaTypeMapping getJavaTypeMapping() { final PersistentClass referencedPersistentClass = getMetadataBuildingContext() .getMetadataCollector() .getEntityBinding( getReferencedEntityName() ); if ( referenceToPrimaryKey || referencedPropertyName == null ) { return referencedPersistentClass.getIdentifier().getJavaTypeMapping(); } else { return referencedPersistentClass.getReferencedProperty( getReferencedPropertyName() ) .getValue() .getJavaTypeMapping(); } } }
private Class determineElementClass(XClass elementXClass) { if ( elementXClass != null ) { try { return getContext().getBootstrapContext().getReflectionManager().toClass( elementXClass ); } catch (Exception e) { log.debugf( "Unable to resolve XClass [%s] to Class for collection elements [%s]", elementXClass.getName(), collection.getRole() ); } } if ( collection.getElement() != null ) { if ( collection.getElement().getJavaTypeMapping() != null ) { return collection.getElement().getJavaTypeMapping().getJavaTypeDescriptor().getJavaType(); } } // currently this is called from paths where the element type really should be known, // so log the fact that we could not resolve the collection element info log.debugf( "Unable to resolve element information for collection [%s]", collection.getRole() ); return null; }
@Override public JavaTypeMapping getJavaTypeMapping() { final PersistentClass referencedPersistentClass = getMetadataBuildingContext() .getMetadataCollector() .getEntityBinding( getReferencedEntityName() ); if ( referenceToPrimaryKey || referencedPropertyName == null ) { return referencedPersistentClass.getIdentifier().getJavaTypeMapping(); } else { return referencedPersistentClass.getReferencedProperty( getReferencedPropertyName() ) .getValue() .getJavaTypeMapping(); } } }
getEntity().getEntityName() + '#' + getName() + " : " + value.getJavaTypeMapping().getTypeName() );
public void validate() throws MappingException { assert getKey() != null : "Collection key not bound : " + getRole(); assert getElement() != null : "Collection element not bound : " + getRole(); if ( !getKey().isValid() ) { throw new MappingException( "collection foreign key mapping has wrong number of columns: " + getRole() + " type: " + getKey().getJavaTypeMapping().getTypeName() ); } if ( !getElement().isValid() ) { throw new MappingException( "collection element mapping has wrong number of columns: " + getRole() + " type: " + getElement().getJavaTypeMapping().getTypeName() ); } checkColumnDuplication(); }