类javax.persistence.EntityListeners源码实例Demo

下面列出了怎么用javax.persistence.EntityListeners的API类实例代码及写法,或者点击链接到github查看源代码。

源代码1 项目: 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<>();
		for ( Element subelement : (List<Element>) element.elements( "entity-listener" ) ) {
			String className = subelement.attributeValue( "class" );
			try {
				entityListenerClasses.add(
						classLoaderAccess.classForName(
								XMLContext.buildSafeClassName( className, defaults )
						)
				);
			}
			catch ( ClassLoadingException 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;
	}
}
 
源代码2 项目: 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);
  }

}
 
 类所在包
 类方法
 同包方法