private void addTypes(List<String> typeNames, List<TypeDescriptor> types, ScannerContext scannerContext) { for (String typeName : typeNames) { TypeDescriptor type = scannerContext.peek(TypeResolver.class).resolve(typeName, scannerContext).getTypeDescriptor(); types.add(type); } } }
<T extends ClassFileDescriptor> TypeCache.CachedType<T> createType(String fullQualifiedName, FileDescriptor fileDescriptor, Class<T> descriptorType) { return getTypeResolver().create(fullQualifiedName, fileDescriptor, descriptorType, scannerContext); }
private TypeDescriptor getTypeDescriptor(String fqn, ScannerContext scannerContext) { TypeResolver typeResolver = scannerContext.peek(TypeResolver.class); return typeResolver.resolve(fqn, scannerContext).getTypeDescriptor(); }
TypeCache.CachedType resolveType(String fullQualifiedName, TypeCache.CachedType<? extends ClassFileDescriptor> dependentType) { TypeCache.CachedType cachedType = getTypeResolver().resolve(fullQualifiedName, scannerContext); if (!dependentType.equals(cachedType)) { dependentType.addDependency(cachedType.getTypeDescriptor()); } return cachedType; }
private ListenerDescriptor createListener(ListenerType listenerType, ScannerContext context) { Store store = context.getStore(); ListenerDescriptor listenerDescriptor = store.create(ListenerDescriptor.class); for (DescriptionType descriptionType : listenerType.getDescription()) { listenerDescriptor.getDescriptions().add(XmlDescriptorHelper.createDescription(descriptionType, store)); } for (DisplayNameType displayNameType : listenerType.getDisplayName()) { listenerDescriptor.getDisplayNames().add(XmlDescriptorHelper.createDisplayName(displayNameType, store)); } for (IconType iconType : listenerType.getIcon()) { listenerDescriptor.getIcons().add(XmlDescriptorHelper.createIcon(iconType, store)); } TypeResolver typeResolver = context.peek(TypeResolver.class); FullyQualifiedClassType listenerClass = listenerType.getListenerClass(); TypeCache.CachedType<TypeDescriptor> listenerClassDescriptor = typeResolver.resolve(listenerClass.getValue(), context); listenerDescriptor.setType(listenerClassDescriptor.getTypeDescriptor()); return listenerDescriptor; }
private ListenerDescriptor createListener(ListenerType listenerType, ScannerContext context) { Store store = context.getStore(); ListenerDescriptor listenerDescriptor = store.create(ListenerDescriptor.class); for (DescriptionType descriptionType : listenerType.getDescription()) { listenerDescriptor.getDescriptions().add(XmlDescriptorHelper.createDescription(descriptionType, store)); } for (DisplayNameType displayNameType : listenerType.getDisplayName()) { listenerDescriptor.getDisplayNames().add(XmlDescriptorHelper.createDisplayName(displayNameType, store)); } for (IconType iconType : listenerType.getIcon()) { listenerDescriptor.getIcons().add(XmlDescriptorHelper.createIcon(iconType, store)); } TypeResolver typeResolver = context.peek(TypeResolver.class); FullyQualifiedClassType listenerClass = listenerType.getListenerClass(); TypeCache.CachedType<TypeDescriptor> listenerClassDescriptor = typeResolver.resolve(listenerClass.getValue(), context); listenerDescriptor.setType(listenerClassDescriptor.getTypeDescriptor()); return listenerDescriptor; }
private ErrorPageDescriptor createErrorPage(ErrorPageType errorPageType, ScannerContext context) { ErrorPageDescriptor errorPageDescriptor = context.getStore().create(ErrorPageDescriptor.class); ErrorCodeType errorCode = errorPageType.getErrorCode(); if (errorCode != null) { errorPageDescriptor.setErrorCode(errorCode.getValue().intValue()); } FullyQualifiedClassType exceptionType = errorPageType.getExceptionType(); if (exceptionType != null) { TypeResolver typeResolver = context.peek(TypeResolver.class); TypeCache.CachedType<TypeDescriptor> cachedType = typeResolver.resolve(exceptionType.getValue(), context); errorPageDescriptor.setExceptionType(cachedType.getTypeDescriptor()); } errorPageDescriptor.setErrorPage(errorPageType.getLocation().getValue()); return errorPageDescriptor; }
private ErrorPageDescriptor createErrorPage(ErrorPageType errorPageType, ScannerContext context) { ErrorPageDescriptor errorPageDescriptor = context.getStore().create(ErrorPageDescriptor.class); ErrorCodeType errorCode = errorPageType.getErrorCode(); if (errorCode != null) { errorPageDescriptor.setErrorCode(errorCode.getValue().intValue()); } FullyQualifiedClassType exceptionType = errorPageType.getExceptionType(); if (exceptionType != null) { TypeResolver typeResolver = context.peek(TypeResolver.class); TypeCache.CachedType<TypeDescriptor> cachedType = typeResolver.resolve(exceptionType.getValue(), context); errorPageDescriptor.setExceptionType(cachedType.getTypeDescriptor()); } errorPageDescriptor.setErrorPage(errorPageType.getLocation().getValue()); return errorPageDescriptor; }
@Override public BeansXmlDescriptor scan(FileResource item, BeansXmlDescriptor beansXmlDescriptor, String path, Scope scope, Scanner scanner) throws IOException { ScannerContext context = scanner.getContext(); Beans beans = unmarshaller.unmarshal(item); beansXmlDescriptor.setVersion(beans.getVersion()); beansXmlDescriptor.setBeanDiscoveryMode(beans.getBeanDiscoveryMode()); for (Object o : beans.getInterceptorsOrDecoratorsOrAlternatives()) { if (o instanceof Interceptors) { addTypes(((Interceptors) o).getClazz(), beansXmlDescriptor.getInterceptors(), context); } else if (o instanceof Decorators) { addTypes(((Decorators) o).getClazz(), beansXmlDescriptor.getDecorators(), context); } else if (o instanceof Alternatives) { List<JAXBElement<String>> clazzOrStereotype = ((Alternatives) o).getClazzOrStereotype(); for (JAXBElement<String> element : clazzOrStereotype) { TypeDescriptor alternative = scanner.getContext().peek(TypeResolver.class).resolve(element.getValue(), context).getTypeDescriptor(); beansXmlDescriptor.getAlternatives().add(alternative); } } } return beansXmlDescriptor; }
if (filterClass != null) { TypeResolver typeResolver = context.peek(TypeResolver.class); TypeCache.CachedType<TypeDescriptor> filterClassDescriptor = typeResolver.resolve(filterClass.getValue(), context); filterDescriptor.setType(filterClassDescriptor.getTypeDescriptor());
if (filterClass != null) { TypeResolver typeResolver = context.peek(TypeResolver.class); TypeCache.CachedType<TypeDescriptor> filterClassDescriptor = typeResolver.resolve(filterClass.getValue(), context); filterDescriptor.setType(filterClassDescriptor.getTypeDescriptor());
TypeCache.CachedType<TypeDescriptor> servletClassType = context.peek(TypeResolver.class).resolve(servletClass.getValue(), context); servletDescriptor.setType(servletClassType.getTypeDescriptor());
TypeCache.CachedType<TypeDescriptor> servletClassType = context.peek(TypeResolver.class).resolve(servletClass.getValue(), context); servletDescriptor.setType(servletClassType.getTypeDescriptor());
TypeDescriptor typeDescriptor = scanner.getContext().peek(TypeResolver.class).resolve(clazz, scanner.getContext()).getTypeDescriptor(); persistenceUnitDescriptor.getContains().add(typeDescriptor);