private ResolvedType resolveAttributeType(XProperty xProperty, MetadataBuildingContext context) { return resolveMember( xProperty, context ).getType(); }
@Override public ConverterDescriptor getAutoAppliedConverterDescriptorForCollectionElement( XProperty xProperty, MetadataBuildingContext context) { final ResolvedMember collectionMember = resolveMember( xProperty, context ); final ResolvedType elementType; if ( Map.class.isAssignableFrom( collectionMember.getType().getErasedType() ) ) { elementType = collectionMember.getType().typeParametersFor( Map.class ).get( 1 ); } else if ( Collection.class.isAssignableFrom( collectionMember.getType().getErasedType() ) ) { elementType = collectionMember.getType().typeParametersFor( Collection.class ).get( 0 ); } else { throw new HibernateException( "Attribute was neither a Collection nor a Map : " + collectionMember.getType().getErasedType() ); } return typesMatch( linkedConverterDescriptor.getDomainValueResolvedType(), elementType ) ? linkedConverterDescriptor : null; }
@Override public ConverterDescriptor getAutoAppliedConverterDescriptorForMapKey( XProperty xProperty, MetadataBuildingContext context) { final ResolvedMember collectionMember = resolveMember( xProperty, context ); final ResolvedType keyType; if ( Map.class.isAssignableFrom( collectionMember.getType().getErasedType() ) ) { keyType = collectionMember.getType().typeParametersFor( Map.class ).get( 0 ); } else { throw new HibernateException( "Attribute was not a Map : " + collectionMember.getType().getErasedType() ); } return typesMatch( linkedConverterDescriptor.getDomainValueResolvedType(), keyType ) ? linkedConverterDescriptor : null; }
private ResolvedType resolveAttributeType(XProperty xProperty, MetadataBuildingContext context) { return resolveMember( xProperty, context ).getType(); }
@Override public ConverterDescriptor getAutoAppliedConverterDescriptorForCollectionElement( XProperty xProperty, MetadataBuildingContext context) { final ResolvedMember collectionMember = resolveMember( xProperty, context ); final ResolvedType elementType; if ( Map.class.isAssignableFrom( collectionMember.getType().getErasedType() ) ) { elementType = collectionMember.getType().typeParametersFor( Map.class ).get( 1 ); } else if ( Collection.class.isAssignableFrom( collectionMember.getType().getErasedType() ) ) { elementType = collectionMember.getType().typeParametersFor( Collection.class ).get( 0 ); } else { throw new HibernateException( "Attribute was neither a Collection nor a Map : " + collectionMember.getType().getErasedType() ); } return typesMatch( linkedConverterDescriptor.getDomainValueResolvedType(), elementType ) ? linkedConverterDescriptor : null; }
@Override public ConverterDescriptor getAutoAppliedConverterDescriptorForMapKey( XProperty xProperty, MetadataBuildingContext context) { final ResolvedMember collectionMember = resolveMember( xProperty, context ); final ResolvedType keyType; if ( Map.class.isAssignableFrom( collectionMember.getType().getErasedType() ) ) { keyType = collectionMember.getType().typeParametersFor( Map.class ).get( 0 ); } else { throw new HibernateException( "Attribute was not a Map : " + collectionMember.getType().getErasedType() ); } return typesMatch( linkedConverterDescriptor.getDomainValueResolvedType(), keyType ) ? linkedConverterDescriptor : null; }
private Type findResolvedType(String name, ResolvedMember[] resolvedMembers) { for ( ResolvedMember resolvedMember : resolvedMembers ) { if ( resolvedMember.getName().equals( name ) ) { return resolvedMember.getType().getErasedType(); } } throw new AssertionFailure( String.format( "Unable to resolve type of attribute %s of class %s", name, classInfo.name().toString() ) ); }
private Type findResolvedType(String name, ResolvedMember[] resolvedMembers) { for ( ResolvedMember resolvedMember : resolvedMembers ) { if ( resolvedMember.getName().equals( name ) ) { return resolvedMember.getType().getErasedType(); } } throw new AssertionFailure( String.format( "Unable to resolve type of attribute %s of class %s", name, classInfo.name().toString() ) ); }