微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

javax.persistence.MappedSuperclass的实例源码

项目:crnk-framework    文件JpaResource@R_686_404[email protected]   
@Override
@SuppressWarnings({"unchecked","rawtypes"})
public Resource@R_686_4045@ion build(final Class<?> resourceClass) {
    String resourceType = getResourceType(resourceClass);


    MetaDataObject Meta = MetaProvider.discoverMeta(resourceClass).asDataObject();
    DefaultResourceInstanceBuilder instanceBuilder = new DefaultResourceInstanceBuilder(resourceClass);

    List<ResourceField> fields = getResourceFields(resourceClass);

    Class<?> superclass = resourceClass.getSuperclass();
    String superResourceType = superclass != Object.class
            && superclass.getAnnotation(MappedSuperclass.class) == null ? context.getResourceType(superclass)
            : null;

    TypeParser typeParser = context.getTypeParser();
    return new JpaResource@R_686_4045@ion(typeParser,Meta,resourceClass,resourceType,superResourceType,instanceBuilder,fields);
}
项目:crnk-framework    文件JpaResource@R_686_404[email protected]   
@Override
public String getResourceType(Class<?> entityClass) {
    JpaResource annotation = entityClass.getAnnotation(JpaResource.class);
    if (annotation != null) {
        return annotation.type();
    }
    if (entityClass.getAnnotation(MappedSuperclass.class) != null) {
        return null; // super classes do not have a document type
    }

    String name = entityClass.getSimpleName();
    if (name.endsWith(ENTITY_NAME_SUFFIX)) {
        name = name.substring(0,name.length() - ENTITY_NAME_SUFFIX.length());
    }
    return Character.toLowerCase(name.charat(0)) + name.substring(1);
}
项目:lams    文件AbstractPropertyHolder.java   
private void buildHierarchyColumnOverride(XClass element) {
    XClass current = element;
    Map<String,Column[]> columnOverride = new HashMap<String,Column[]>();
    Map<String,JoinColumn[]> joinColumnOverride = new HashMap<String,JoinColumn[]>();
    Map<String,JoinTable> joinTableOverride = new HashMap<String,JoinTable>();
    while ( current != null && !mappings.getReflectionManager().toXClass( Object.class ).equals( current ) ) {
        if ( current.isAnnotationPresent( Entity.class ) || current.isAnnotationPresent( MappedSuperclass.class )
                || current.isAnnotationPresent( Embeddable.class ) ) {
            //FIXME is embeddable override?
            Map<String,Column[]> currentOverride = buildColumnOverride( current,getPath() );
            Map<String,JoinColumn[]> currentJoinOverride = buildJoinColumnOverride( current,JoinTable> currentJoinTableOverride = buildJoinTableOverride( current,getPath() );
            currentOverride.putAll( columnOverride ); //subclasses have precedence over superclasses
            currentJoinOverride.putAll( joinColumnOverride ); //subclasses have precedence over superclasses
            currentJoinTableOverride.putAll( joinTableOverride ); //subclasses have precedence over superclasses
            columnOverride = currentOverride;
            joinColumnOverride = currentJoinOverride;
            joinTableOverride = currentJoinTableOverride;
        }
        current = current.getSuperclass();
    }

    holderColumnOverride = columnOverride.size() > 0 ? columnOverride : null;
    holderJoinColumnOverride = joinColumnOverride.size() > 0 ? joinColumnOverride : null;
    holderJoinTableOverride = joinTableOverride.size() > 0 ? joinTableOverride : null;
}
项目:cuba    文件CubaClientTestCase.java   
protected List<String> getClasses(Resource[] resources) {
    List<String> classNames = new ArrayList<>();

    for (Resource resource : resources) {
        if (resource.isReadable()) {
            MetadataReader MetadataReader;
            try {
                MetadataReader = MetadataReaderFactory.getMetadataReader(resource);
            } catch (IOException e) {
                throw new RuntimeException("Unable to read Metadata resource",e);
            }

            AnnotationMetadata annotationMetadata = MetadataReader.getAnnotationMetadata();
            if (annotationMetadata.isAnnotated(com.haulmont.chile.core.annotations.MetaClass.class.getName())
                    || annotationMetadata.isAnnotated(MappedSuperclass.class.getName())
                    || annotationMetadata.isAnnotated(Entity.class.getName())) {
                ClassMetadata classMetadata = MetadataReader.getClassMetadata();
                classNames.add(classMetadata.getClassName());
            }
        }
    }
    return classNames;
}
项目:org.fastnate    文件EntityClass.java   
/**
 * Fills the {@link #properties}.
 *
 * @param c
 *            the currently inspected class
 * @param stopClass
 *            the class in the hierarchy to stop inspecting
 */
private void buildProperties(final Class<? super E> c,final Class<? super E> stopClass) {
    // Fill properties of super classes (at least until we find the joined parent class)
    if (c.getSuperclass() != null && c.getSuperclass() != stopClass) {
        buildProperties(c.getSuperclass(),stopClass);
    }

    // And Now fill the properties of this class
    if (c.isAnnotationPresent(MappedSuperclass.class) || c.isAnnotationPresent(Entity.class)) {
        for (final AttributeAccessor field : this.accessstyle.getDeclaredAttributes(c,this.entityClass)) {
            if (!field.isAnnotationPresent(EmbeddedId.class) && !field.isAnnotationPresent(Id.class)) {
                final Property<E,?> property = buildProperty(field,getColumnAnnotation(field),this.associationOverrides.get(field.getName()));
                if (property != null) {
                    this.properties.put(field.getName(),property);
                    this.allProperties.add(property);
                    if (property instanceof SingularProperty) {
                        buildUniqueProperty((SingularProperty<E,?>) property);
                    }
                }
            }
        }
    }

}
项目:rice    文件StaticWeavingTest.java   
@Test
public void testStaticWeaving() {
    // first,scan for all files on the classpath with an @Entity or @MappedSuperClass annotation
    Reflections reflections = new Reflections(
            DocumentAttachment.class.getPackage().getName(),DocumentBase.class.getPackage().getName(),MaintenanceLock.class.getPackage().getName(),Message.class.getPackage().getName());
    Set<Class<?>> entityTypes = reflections.getTypesAnnotatedWith(Entity.class);
    Set<Class<?>> superTypes = reflections.getTypesAnnotatedWith(MappedSuperclass.class);
    Set<Class<?>> embeddableTypes = reflections.getTypesAnnotatedWith(Embeddable.class);

    // next,let's assert that they have been statically weaved
    assertStaticweaved(entityTypes,superTypes,embeddableTypes);
}
项目:xcrud    文件EntityTools.java   
/**
 * A partir du nom du fieldname,retorune le field
 * @param cl
 * @param fieldName
 * @return
 * @throws FieldNotFound 
 */
private static Field getField(final Class cl,final String fieldName) throws FieldNotFound {
    Class tClass = cl;
    boolean found = false;
    while (!found && (tClass.isAnnotationPresent(Entity.class) || tClass.isAnnotationPresent(MappedSuperclass.class))) {
        try {
            Field field = tClass.getDeclaredField(fieldName);
            if (field.isAnnotationPresent(Lob.class)) {
                throw new FieldNotFound();
            }
            return field;
        } catch (NoSuchFieldException ex) { // on verifie dans la hierarchie aussi
            tClass = tClass.getSuperclass();
        }
    }
    throw new FieldNotFound();
}
项目:kuali_rice    文件OrmUtils.java   
public static boolean isJpaAnnotated(Class<?> clazz) {
    if (clazz == null) {
        return false;
    }
    if (!cache.containsKey(clazz.getName())) {
        if (clazz.getName().contains("EnhancerBycglib")) {
            try {
                // Strip a proxy if found
                clazz = Class.forName(clazz.getName().substring(0,clazz.getName().indexOf("$$EnhancerBycglib")));
            } catch (Exception e) {
                LOG.error(e.getMessage(),e);
            }
        }
        synchronized (cache) {
            cache.put(clazz.getName(),new Boolean(clazz.isAnnotationPresent(Entity.class) || clazz.isAnnotationPresent(MappedSuperclass.class)));
}
    }
    return cache.get(clazz.getName()).booleanValue();
 }
项目:units4j    文件JandexAssert.java   
/**
 * Verifies that all class that are annotated with {@link Entity} observe the rules for JPA entities.
 * 
 * <ul>
 * <li>The class must have a public or protected,no-argument constructor. The class may have other
 * constructors.</li>
 * <li>The class must not be declared final.</li>
 * <li>No methods or persistent instance variables must be declared final.</li>
 * <li>Persistent instance variables must be declared private,protected,or package-private.</li>
 * </ul>
 * 
 * @return Self.
 */
public JandexAssert hasOnlyValidJpaEntities() {
    // Precondition
    isNotNull();

    final List<AnnotationInstance> annotations = new ArrayList<>();
    annotations.addAll(actual.getAnnotations(DotName.createSimple(Entity.class.getName())));
    annotations.addAll(actual.getAnnotations(DotName.createSimple(MappedSuperclass.class.getName())));
    for (final AnnotationInstance ai : annotations) {
        final AnnotationTarget target = ai.target();
        final ClassInfo info = target.asClass();
        final AssertionRules<ClassInfo> rules = new AssertionRules<ClassInfo>(
                new RulePublicOrProtectednoArgConstructor(),new RuleClassNotFinal(),new RuleClassHasNoFinalMethods(),new RulePersistentInstanceFieldVisibility());
        final AssertionResult result = rules.verify(info);
        if (!result.isValid()) {
            failWithMessage(result.getErrorMessage());
        }
    }

    return this;

}
项目:lams    文件InheritanceState.java   
private void extractInheritanceType() {
    XAnnotatedElement element = getClazz();
    Inheritance inhAnn = element.getAnnotation( Inheritance.class );
    MappedSuperclass mappedSuperClass = element.getAnnotation( MappedSuperclass.class );
    if ( mappedSuperClass != null ) {
        setEmbeddableSuperclass( true );
        setType( inhAnn == null ? null : inhAnn.strategy() );
    }
    else {
        setType( inhAnn == null ? InheritanceType.SINGLE_TABLE : inhAnn.strategy() );
    }
}
项目:lams    文件InheritanceState.java   
private void addMappedSuperClassInMetadata(PersistentClass persistentClass) {
    //add @MappedSuperclass in the Metadata
    // classes from 0 to n-1 are @MappedSuperclass and should be linked
    org.hibernate.mapping.MappedSuperclass mappedSuperclass = null;
    final InheritanceState superEntityState =
            InheritanceState.getInheritanceStateOfSuperEntity( clazz,inheritanceStatePerClass );
    PersistentClass superEntity =
            superEntityState != null ?
                    mappings.getClass( superEntityState.getClazz().getName() ) :
                    null;
    final int lastMappedSuperclass = classesToProcessForMappedSuperclass.size() - 1;
    for ( int index = 0; index < lastMappedSuperclass; index++ ) {
        org.hibernate.mapping.MappedSuperclass parentSuperclass = mappedSuperclass;
        final Class<?> type = mappings.getReflectionManager()
                .toClass( classesToProcessForMappedSuperclass.get( index ) );
        //add MAppedSuperclass if not already there
        mappedSuperclass = mappings.getMappedSuperclass( type );
        if ( mappedSuperclass == null ) {
            mappedSuperclass = new org.hibernate.mapping.MappedSuperclass( parentSuperclass,superEntity );
            mappedSuperclass.setMappedClass( type );
            mappings.addMappedSuperclass( type,mappedSuperclass );
        }
    }
    if ( mappedSuperclass != null ) {
        persistentClass.setSuperMappedSuperclass( mappedSuperclass );
    }
}
项目:lams    文件JPAOverriddenAnnotationReader.java   
private MappedSuperclass getMappedSuperclass(Element tree,XMLContext.Default defaults) {
    if ( tree == null ) {
        return defaults.canUseJavaAnnotations() ? getPhysicalAnnotation( MappedSuperclass.class ) : null;
    }
    else {
        if ( "mapped-superclass".equals( tree.getName() ) ) {
            AnnotationDescriptor entity = new AnnotationDescriptor( MappedSuperclass.class );
            return AnnotationFactory.create( entity );
        }
        else {
            return null; //this is not an entity
        }
    }
}
项目:oma-riista-web    文件ClassInventory.java   
@Nonnull
@SuppressWarnings("unchecked")
public static Set<Class<?>> getManagedJpaClasses() {
    return getMainClasses(Predicates.or(
            withAnnotation(Entity.class),withAnnotation(Embeddable.class),withAnnotation(MappedSuperclass.class)));
}
项目:katharsis-framework    文件AbstractEntityMetaProvider.java   
private Class<?> getJpaSuperclass(Class<?> resourceClass) {
    Class<?> superclass = resourceClass.getSuperclass();
    while(superclass != Object.class){
        if(superclass.getAnnotation(Entity.class) != null || superclass.getAnnotation(MappedSuperclass.class) != null){
            return superclass;
        }
        superclass = superclass.getSuperclass();
    }
    return null;
}
项目:cuba    文件MetaClassRepresentation.java   
public String getParent() {
    MetaClass ancestor = Meta.getAncestor();

    if (ancestor == null || !ancestor.getName().contains("$") ||
            ancestor.getJavaClass().isAnnotationPresent(MappedSuperclass.class))
        return "";

    if (!readPermitted(ancestor)) {
        return null;
    }

    return "Parent is " + asHref(ancestor.getName());
}
项目:cuba    文件QueryCacheManager.java   
protected Set<String> getDescendants(Set<String> relatedTypes) {
    if (relatedTypes == null) return null;
    Set<String> newRelatedTypes = new HashSet<>();
    relatedTypes.forEach(type -> {
        newRelatedTypes.add(type);
        MetaClass MetaClass = Metadata.getClassNN(type);
        if (MetaClass.getDescendants() != null) {
            Set<String> descendants = MetaClass.getDescendants().stream()
                    .filter(it -> it.getJavaClass() != null && !it.getJavaClass().isAnnotationPresent(MappedSuperclass.class))
                    .map(MetadataObject::getName).collect(Collectors.toSet());
            newRelatedTypes.addAll(descendants);
        }
    });
    return newRelatedTypes;
}
项目:Metaworks_framework    文件EntityMarkerClasstransformer.java   
/**
 * Determines if a given annotation set contains annotations that correspond to ones that someone would expect to appear
 * in a persistence.xml
 * 
 * @param annotations
 * @return
 */
protected boolean containsTypeLevelPersistenceAnnotation(Annotation[] annotations) {
    for (Annotation annotation : annotations) {
        if (annotation.getTypeName().equals(Entity.class.getName())
                || annotation.getTypeName().equals(Embeddable.class.getName())
                || annotation.getTypeName().equals(MappedSuperclass.class.getName())) {
            return true;
        }
    }
    return false;
}
项目:kc-rice    文件StaticWeavingTest.java   
@Test
public void testStaticWeaving() {
    // first,Message.class.getPackage().getName());
    Set<Class<?>> entityTypes = reflections.getTypesAnnotatedWith(Entity.class,true);
    Set<Class<?>> superTypes = reflections.getTypesAnnotatedWith(MappedSuperclass.class,true);
    Set<Class<?>> embeddableTypes = reflections.getTypesAnnotatedWith(Embeddable.class,true);

    // next,embeddableTypes);
}
项目:kc-rice    文件StaticWeavingTest.java   
@Test
public void testStaticWeaving() {
    // first,scan for all files on the classpath with an @Entity or @MappedSuperClass annotation
    Reflections reflections = new Reflections("org.kuali.rice.krad");
    Set<Class<?>> entityTypes = reflections.getTypesAnnotatedWith(Entity.class,scan for all files on the classpath with an @Entity or @MappedSuperClass annotation
    Reflections reflections = new Reflections(getClass().getPackage().getName());
    Set<Class<?>> entityTypes = reflections.getTypesAnnotatedWith(Entity.class,scan for all files on the classpath with an @Entity or @MappedSuperClass annotation
    Reflections reflections = new Reflections(
            PersistableBusinessObjectBase.class.getPackage().getName());
    Set<Class<?>> entityTypes = reflections.getTypesAnnotatedWith(Entity.class,scan for all files on the classpath with an @Entity or @MappedSuperClass annotation
    Reflections reflections = new Reflections("org.kuali.rice.kew","org.kuali.rice.kim","org.kuali.rice.kcb","org.kuali.rice.ken");
    Set<Class<?>> entityTypes = reflections.getTypesAnnotatedWith(Entity.class,embeddableTypes);
}
项目:SparkCommerce    文件EntityMarkerClasstransformer.java   
/**
 * Determines if a given annotation set contains annotations that correspond to ones that someone would expect to appear
 * in a persistence.xml
 * 
 * @param annotations
 * @return
 */
protected boolean containsTypeLevelPersistenceAnnotation(Annotation[] annotations) {
    for (Annotation annotation : annotations) {
        if (annotation.getTypeName().equals(Entity.class.getName())
                || annotation.getTypeName().equals(Embeddable.class.getName())
                || annotation.getTypeName().equals(MappedSuperclass.class.getName())) {
            return true;
        }
    }
    return false;
}
项目:blcdemo    文件EntityMarkerClasstransformer.java   
/**
 * Determines if a given annotation set contains annotations that correspond to ones that someone would expect to appear
 * in a persistence.xml
 * 
 * @param annotations
 * @return
 */
protected boolean containsTypeLevelPersistenceAnnotation(Annotation[] annotations) {
    for (Annotation annotation : annotations) {
        if (annotation.getTypeName().equals(Entity.class.getName())
                || annotation.getTypeName().equals(Embeddable.class.getName())
                || annotation.getTypeName().equals(MappedSuperclass.class.getName())) {
            return true;
        }
    }
    return false;
}
项目:hyperjaxb3    文件DefaultProcesspropertyInfos.java   
public boolean isRootClass(Class<?> theClass) {
    final boolean notMappedSuperclassAndNotEmbeddable = theClass
            .getAnnotation(MappedSuperclass.class) == null
            && theClass.getAnnotation(Embeddable.class) == null;
    if (theClass.getSuperclass() != null) {
        return notMappedSuperclassAndNotEmbeddable
                && !isSelfOrAncestorRootClass(theClass.getSuperclass());
    } else {
        return notMappedSuperclassAndNotEmbeddable;
    }
}
项目:hyperjaxb3    文件DefaultProcesspropertyInfos.java   
public boolean isSelfOrAncestorRootClass(Class<?> theClass) {
    if (isRootClass(theClass)) {
        return true;
    } else if (theClass.getSuperclass() != null) {
        return isSelfOrAncestorRootClass(theClass.getSuperclass());
    } else {
        return theClass.getAnnotation(MappedSuperclass.class) == null
                && theClass.getAnnotation(Embeddable.class) == null;
    }
}
项目:lutece-core    文件JPAPersistenceUnitPostProcessor.java   
/**
 * Scans for *.orm.xml and adds Entites from classpath.
 *
 * @param pui
 *            the pui
 */
@Override
public void postProcesspersistenceUnitInfo( MutablePersistenceUnitInfo pui )
{
    _Log.info( "Scanning for JPA orm.xml files" );

    for ( File ormFile : getListORMFiles( ) )
    {
        String ormAbsolutePath = ormFile.getAbsolutePath( );
        _Log.info( "Found ORM file : " + ormAbsolutePath );
        pui.addMappingFileName( ormAbsolutePath.substring( ormAbsolutePath.indexOf( CLAsspATH_PATH_IDENTIFIER ) ) );
    }

    _Log.info( "Scanning for JPA entities..." );

    Set<String> entityClasses = AnnotationUtil.find( Entity.class.getName( ) );
    entityClasses.addAll( AnnotationUtil.find( Embeddable.class.getName( ) ) );
    entityClasses.addAll( AnnotationUtil.find( MappedSuperclass.class.getName( ) ) );

    for ( String strClass : entityClasses )
    {
        _Log.info( "Found entity class : " + strClass );

        if ( !pui.getManagedClassNames( ).contains( strClass ) )
        {
            pui.addManagedClassName( strClass );
        }
    }

    if ( _Log.isDebugEnabled( ) )
    {
        dumpPersistenceUnitInfo( pui );
    }
}
项目:org.fastnate    文件EntityClass.java   
/**
 * Fills the {@link #idProperty}.
 *
 * @param c
 *            the currently inspected class
 */
private void buildIdProperty(final Class<? super E> c) {
    // Todo (Issue #2) Support @IdClass

    // Find ID properties of super classes
    if (c.getSuperclass() != null) {
        buildIdProperty(c.getSuperclass());
    }

    // Find the Entity / MappedSuperclass annotation
    if (c.isAnnotationPresent(Entity.class) || c.isAnnotationPresent(MappedSuperclass.class)) {
        // Determine the access type
        if (this.accessstyle == null) {
            final Access accesstype = c.getAnnotation(Access.class);
            if (accesstype != null) {
                this.accessstyle = Accessstyle.getStyle(accesstype.value());
            }
        }

        // And Now find the id property of this class
        if (this.accessstyle == null) {
            if (findIdProperty(Accessstyle.FIELD.getDeclaredAttributes(c,this.entityClass))) {
                this.accessstyle = Accessstyle.FIELD;
            } else if (findIdProperty(Accessstyle.METHOD.getDeclaredAttributes(c,this.entityClass))) {
                this.accessstyle = Accessstyle.METHOD;
            }
        } else {
            findIdProperty(this.accessstyle.getDeclaredAttributes(c,this.entityClass));
        }
    }
}
项目:rice    文件StaticWeavingTest.java   
@Test
public void testStaticWeaving() {
    // first,scan for all files on the classpath with an @Entity or @MappedSuperClass annotation
    Reflections reflections = new Reflections("org.kuali.rice.krad");
    Set<Class<?>> entityTypes = reflections.getTypesAnnotatedWith(Entity.class);
    Set<Class<?>> superTypes = reflections.getTypesAnnotatedWith(MappedSuperclass.class);
    Set<Class<?>> embeddableTypes = reflections.getTypesAnnotatedWith(Embeddable.class);

    // next,embeddableTypes);
}
项目:rice    文件StaticWeavingTest.java   
@Test
public void testStaticWeaving() {
    // first,scan for all files on the classpath with an @Entity or @MappedSuperClass annotation
    Reflections reflections = new Reflections(getClass().getPackage().getName());
    Set<Class<?>> entityTypes = reflections.getTypesAnnotatedWith(Entity.class);
    Set<Class<?>> superTypes = reflections.getTypesAnnotatedWith(MappedSuperclass.class);
    Set<Class<?>> embeddableTypes = reflections.getTypesAnnotatedWith(Embeddable.class);

    // next,scan for all files on the classpath with an @Entity or @MappedSuperClass annotation
    Reflections reflections = new Reflections(
            PersistableBusinessObjectBase.class.getPackage().getName());
    Set<Class<?>> entityTypes = reflections.getTypesAnnotatedWith(Entity.class);
    Set<Class<?>> superTypes = reflections.getTypesAnnotatedWith(MappedSuperclass.class);
    Set<Class<?>> embeddableTypes = reflections.getTypesAnnotatedWith(Embeddable.class);

    // next,embeddableTypes);
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。