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

javax.persistence.EntityListeners的实例源码

项目:Metaworks_framework    文件DirectcopyClasstransformer.java   
protected Annotation getEntityListeners(ConstPool constantPool,Annotation existingEntityListeners,Annotation templateEntityListeners) {
    Annotation listeners = new Annotation(EntityListeners.class.getName(),constantPool);
    ArrayMemberValue listenerArray = new ArrayMemberValue(constantPool);
    Set<MemberValue> listenerMemberValues = new HashSet<MemberValue>();
    {
        ArrayMemberValue templateListenerValues = (ArrayMemberValue) templateEntityListeners.getMemberValue("value");
        listenerMemberValues.addAll(Arrays.asList(templateListenerValues.getValue()));
        logger.debug("Adding template values to new EntityListeners");
    }
    if (existingEntityListeners != null) {
        ArrayMemberValue oldListenerValues = (ArrayMemberValue) existingEntityListeners.getMemberValue("value");
        listenerMemberValues.addAll(Arrays.asList(oldListenerValues.getValue()));
        logger.debug("Adding prevIoUs values to new EntityListeners");
    }
    listenerArray.setValue(listenerMemberValues.toArray(new MemberValue[listenerMemberValues.size()]));
    listeners.addMemberValue("value",listenerArray);

    return listeners;

}
项目:SparkCommerce    文件DirectcopyClasstransformer.java   
protected Annotation getEntityListeners(ConstPool constantPool,listenerArray);

    return listeners;

}
项目:blcdemo    文件DirectcopyClasstransformer.java   
protected Annotation getEntityListeners(ConstPool constantPool,listenerArray);

    return listeners;

}
项目:dragonfly    文件CallbackResolver.java   
@Override
public synchronized void postProcessMetadataContext(TableMetadataContext tableMetadataContext) {
    log.info("Looking up entity callbacks");
    final Collection<Class<?>> entityTypes = tableMetadataContext.getEntityTypes();
    eventHandlers.add(new EntityEventCallback());
    for (Class<?> entityType : entityTypes) {
        if (entityType.isAnnotationPresent(EntityListeners.class)) {
            final EntityListeners listeners = entityType.getAnnotation(EntityListeners.class);
            for (final Class type : listeners.value()) {
                log.info("Registering external callback: " + type);
                eventHandlers.add(new EntityEventCallback(entityType,type));
            }
        }
    }
    handlersFound = true;
    if (contextFound) {
        registerHandlers();
    }
}
项目:lams    文件JPAOverriddenAnnotationReader.java   
private EntityListeners getEntityListeners(Element tree,XMLContext.Default defaults) {
    Element element = tree != null ? tree.element( "entity-listeners" ) : null;
    if ( element != null ) {
        List<Class> entityListenerClasses = new ArrayList<Class>();
        for ( Element subelement : (List<Element>) element.elements( "entity-listener" ) ) {
            String className = subelement.attributeValue( "class" );
            try {
                entityListenerClasses.add(
                        ReflectHelper.classForName(
                                XMLContext.buildSafeClassName( className,defaults ),this.getClass()
                        )
                );
            }
            catch ( ClassNotFoundException e ) {
                throw new AnnotationException(
                        "Unable to find " + element.getPath() + ".class: " + className,e
                );
            }
        }
        AnnotationDescriptor ad = new AnnotationDescriptor( EntityListeners.class );
        ad.setValue( "value",entityListenerClasses.toArray( new Class[entityListenerClasses.size()] ) );
        return AnnotationFactory.create( ad );
    }
    else if ( defaults.canUseJavaAnnotations() ) {
        return getPhysicalAnnotation( EntityListeners.class );
    }
    else {
        return null;
    }
}
项目:olingo-odata2    文件JPAEdmEntityType.java   
@SuppressWarnings("unchecked")
@Override
public void build() throws ODataJPAModelException,ODataJPARuntimeException {

  Set<javax.persistence.metamodel.EntityType<?>> jpaEntityTypes = metamodel.getEntities();

  if (jpaEntityTypes == null || jpaEntityTypes.isEmpty() == true) {
    return;
  } else if (consistentEntityTypes == null) {
    consistentEntityTypes = new EntityTypeList<EntityType>();

  }

  for (javax.persistence.metamodel.EntityType<?> jpaEntityType : jpaEntityTypes) {
    currentEdmEntityType = new EntityType();
    currentJPAEntityType = jpaEntityType;

    // Check for need to Exclude
    if (isExcluded(JPAEdmEntityType.this)) {
      continue;
    }

    JPAEdmNameBuilder.build(JPAEdmEntityType.this);
    JPAEdmMapping jpaEdmMapping = (JPAEdmMapping) currentEdmEntityType.getMapping();
    EntityListeners entityListners = currentJPAEntityType.getJavaType().getAnnotation(EntityListeners.class);
    if (entityListners != null) {
      for (Class<EntityListeners> entityListner : entityListners.value()) {
        if (ODataJPATombstoneEntityListener.class.isAssignableFrom(entityListner)) {
          jpaEdmMapping
              .setoDataJPATombstoneEntityListener((Class<? extends ODataJPATombstoneEntityListener>)
              (Object) entityListner);
          break;
        }
      }
    }
    JPAEdmPropertyView propertyView = new JPAEdmProperty(schemaView);
    propertyView.getBuilder().build();

    currentEdmEntityType.setProperties(propertyView.getEdmPropertyList());
    if (propertyView.getJPAEdmNavigationPropertyView() != null) {
      JPAEdmNavigationPropertyView navPropView = propertyView.getJPAEdmNavigationPropertyView();
      if (navPropView.getConsistentEdmNavigationProperties() != null
          && !navPropView.getConsistentEdmNavigationProperties().isEmpty()) {
        currentEdmEntityType.setNavigationProperties(navPropView.getConsistentEdmNavigationProperties());
      }
    }
    JPAEdmkeyview keyview = propertyView.getJPAEdmkeyview();
    currentEdmEntityType.setKey(keyview.getEdmKey());

    consistentEntityTypes.add(currentEdmEntityType);
    consistentEntityTypeMap.put(currentJPAEntityType.getName(),currentEdmEntityType);
  }

}

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