List of usage examples for org.springframework.core.type ClassMetadata isAbstract
boolean isAbstract();
From source file:ru.kwanza.dbtool.orm.impl.mapping.SpringEntityMappingRegistryImpl.java
private void scanPackage(String basePackage) { try {// w w w .j a va 2 s. co m final String packageSearchPath = createPackageSearchPath(basePackage); final Resource[] resources = resourcePatternResolver.getResources(packageSearchPath); for (Resource resource : resources) { if (log.isTraceEnabled()) { log.trace("Scanning " + resource); } if (resource.isReadable()) { try { final MetadataReader metadataReader = metadataReaderFactory.getMetadataReader(resource); final ClassMetadata classMetadata = metadataReader.getClassMetadata(); final String className = classMetadata.getClassName(); if (!classMetadata.isAbstract() && !Enum.class.getName().equals(classMetadata.getSuperClassName())) { log.trace(className); final ClassLoader classLoader = resourcePatternResolver.getClassLoader(); Class<?> entityClass = classLoader.loadClass(className); if (entityClass.isAnnotationPresent(Entity.class) || entityClass.isAnnotationPresent(AbstractEntity.class)) { delegate.registerEntityClass(entityClass); } } } catch (Throwable e) { throw new RuntimeException("Error while registering entity mapping: " + resource, e); } } else { if (log.isTraceEnabled()) { log.trace("Ignored because not readable: " + resource); } } } } catch (IOException e) { throw new RuntimeException("I/O failure during classpath scanning", e); } }