Search in sources :

Example 1 with MetaType

use of org.hibernate.type.MetaType in project hibernate-orm by hibernate.

the class StandardAnyTypeDefinition method interpretDiscriminatorMappings.

private static List<DiscriminatorMapping> interpretDiscriminatorMappings(AnyType anyType) {
    final Type discriminatorType = anyType.getDiscriminatorType();
    if (!MetaType.class.isInstance(discriminatorType)) {
        return Collections.emptyList();
    }
    final MetaType metaType = (MetaType) discriminatorType;
    final List<DiscriminatorMapping> discriminatorMappings = new ArrayList<DiscriminatorMapping>();
    for (final Map.Entry<Object, String> entry : metaType.getDiscriminatorValuesToEntityNameMap().entrySet()) {
        discriminatorMappings.add(new DiscriminatorMapping() {

            private final Object discriminatorValue = entry.getKey();

            private final String entityName = entry.getValue();

            @Override
            public Object getDiscriminatorValue() {
                return discriminatorValue;
            }

            @Override
            public String getEntityName() {
                return entityName;
            }
        });
    }
    return discriminatorMappings;
}
Also used : AnyType(org.hibernate.type.AnyType) MetaType(org.hibernate.type.MetaType) Type(org.hibernate.type.Type) ArrayList(java.util.ArrayList) Map(java.util.Map) MetaType(org.hibernate.type.MetaType)

Aggregations

ArrayList (java.util.ArrayList)1 Map (java.util.Map)1 AnyType (org.hibernate.type.AnyType)1 MetaType (org.hibernate.type.MetaType)1 Type (org.hibernate.type.Type)1