/** * Set the {@link ScopeMetadataResolver} to use for detected bean classes. * <p>The default is an {@link AnnotationScopeMetadataResolver}. * <p>Any call to this method must occur prior to calls to {@link #register(Class...)} * and/or {@link #scan(String...)}. */ public void setScopeMetadataResolver(ScopeMetadataResolver scopeMetadataResolver) { this.reader.setScopeMetadataResolver(scopeMetadataResolver); this.scanner.setScopeMetadataResolver(scopeMetadataResolver); }
/** * Set the {@link ScopeMetadataResolver} to use for detected bean classes. * <p>The default is an {@link AnnotationScopeMetadataResolver}. * <p>Any call to this method must occur prior to calls to {@link #register(Class...)} * and/or {@link #scan(String...)}. */ public void setScopeMetadataResolver(ScopeMetadataResolver scopeMetadataResolver) { this.reader.setScopeMetadataResolver(scopeMetadataResolver); this.scanner.setScopeMetadataResolver(scopeMetadataResolver); }
/** * Set the {@link ScopeMetadataResolver} to use for detected bean classes. * <p> * The default is an {@link AnnotationScopeMetadataResolver}. * <p> * Any call to this method must occur prior to calls to {@link #register(Class...)} * and/or {@link #scan(String...)}. * @param scopeMetadataResolver the scope metadata resolver */ public void setScopeMetadataResolver(ScopeMetadataResolver scopeMetadataResolver) { this.reader.setScopeMetadataResolver(scopeMetadataResolver); this.scanner.setScopeMetadataResolver(scopeMetadataResolver); }
/** * Set the {@link ScopeMetadataResolver} to use for detected bean classes. * <p> * The default is an {@link AnnotationScopeMetadataResolver}. * <p> * Any call to this method must occur prior to calls to {@link #register(Class...)} * and/or {@link #scan(String...)}. * @param scopeMetadataResolver the scope metadata resolver */ public void setScopeMetadataResolver(ScopeMetadataResolver scopeMetadataResolver) { this.reader.setScopeMetadataResolver(scopeMetadataResolver); this.scanner.setScopeMetadataResolver(scopeMetadataResolver); }
protected void parseScope(Element element, ClassPathBeanDefinitionScanner scanner) { // Register ScopeMetadataResolver if class name provided. if (element.hasAttribute(SCOPE_RESOLVER_ATTRIBUTE)) { if (element.hasAttribute(SCOPED_PROXY_ATTRIBUTE)) { throw new IllegalArgumentException( "Cannot define both 'scope-resolver' and 'scoped-proxy' on <component-scan> tag"); } ScopeMetadataResolver scopeMetadataResolver = (ScopeMetadataResolver) instantiateUserDefinedStrategy( element.getAttribute(SCOPE_RESOLVER_ATTRIBUTE), ScopeMetadataResolver.class, scanner.getResourceLoader().getClassLoader()); scanner.setScopeMetadataResolver(scopeMetadataResolver); } if (element.hasAttribute(SCOPED_PROXY_ATTRIBUTE)) { String mode = element.getAttribute(SCOPED_PROXY_ATTRIBUTE); if ("targetClass".equals(mode)) { scanner.setScopedProxyMode(ScopedProxyMode.TARGET_CLASS); } else if ("interfaces".equals(mode)) { scanner.setScopedProxyMode(ScopedProxyMode.INTERFACES); } else if ("no".equals(mode)) { scanner.setScopedProxyMode(ScopedProxyMode.NO); } else { throw new IllegalArgumentException("scoped-proxy only supports 'no', 'interfaces' and 'targetClass'"); } } }
protected void parseScope(Element element, ClassPathBeanDefinitionScanner scanner) { // Register ScopeMetadataResolver if class name provided. if (element.hasAttribute(SCOPE_RESOLVER_ATTRIBUTE)) { if (element.hasAttribute(SCOPED_PROXY_ATTRIBUTE)) { throw new IllegalArgumentException( "Cannot define both 'scope-resolver' and 'scoped-proxy' on <component-scan> tag"); } ScopeMetadataResolver scopeMetadataResolver = (ScopeMetadataResolver) instantiateUserDefinedStrategy( element.getAttribute(SCOPE_RESOLVER_ATTRIBUTE), ScopeMetadataResolver.class, scanner.getResourceLoader().getClassLoader()); scanner.setScopeMetadataResolver(scopeMetadataResolver); } if (element.hasAttribute(SCOPED_PROXY_ATTRIBUTE)) { String mode = element.getAttribute(SCOPED_PROXY_ATTRIBUTE); if ("targetClass".equals(mode)) { scanner.setScopedProxyMode(ScopedProxyMode.TARGET_CLASS); } else if ("interfaces".equals(mode)) { scanner.setScopedProxyMode(ScopedProxyMode.INTERFACES); } else if ("no".equals(mode)) { scanner.setScopedProxyMode(ScopedProxyMode.NO); } else { throw new IllegalArgumentException("scoped-proxy only supports 'no', 'interfaces' and 'targetClass'"); } } }
private void applyScopeMetadataResolver(AnnotatedBeanDefinitionReader reader, ClassPathBeanDefinitionScanner scanner) { ScopeMetadataResolver scopeMetadataResolver = getScopeMetadataResolver(); if (scopeMetadataResolver != null) { reader.setScopeMetadataResolver(scopeMetadataResolver); scanner.setScopeMetadataResolver(scopeMetadataResolver); } }
if (scopeMetadataResolver != null) { reader.setScopeMetadataResolver(scopeMetadataResolver); scanner.setScopeMetadataResolver(scopeMetadataResolver);
ClassPathBeanDefinitionScanner scanner = new ClassPathBeanDefinitionScanner(context); scanner.setIncludeAnnotationConfig(false); scanner.setScopeMetadataResolver(new ScopeMetadataResolver() { @Override public ScopeMetadata resolveScopeMetadata(BeanDefinition definition) {
if (scopeMetadataResolver != null) { reader.setScopeMetadataResolver(scopeMetadataResolver); scanner.setScopeMetadataResolver(scopeMetadataResolver);
scanner.setScopeMetadataResolver(BeanUtils.instantiateClass(resolverClass));
scanner.setScopeMetadataResolver(BeanUtils.instantiateClass(resolverClass));
/** * Set the {@link ScopeMetadataResolver} to use for detected bean classes. * <p> * The default is an {@link AnnotationScopeMetadataResolver}. * <p> * Any call to this method must occur prior to calls to {@link #register(Class...)} * and/or {@link #scan(String...)}. * @param scopeMetadataResolver the scope metadata resolver */ public void setScopeMetadataResolver(ScopeMetadataResolver scopeMetadataResolver) { this.reader.setScopeMetadataResolver(scopeMetadataResolver); this.scanner.setScopeMetadataResolver(scopeMetadataResolver); }
/** * Set the {@link ScopeMetadataResolver} to use for detected bean classes. * <p> * The default is an {@link AnnotationScopeMetadataResolver}. * <p> * Any call to this method must occur prior to calls to {@link #register(Class...)} * and/or {@link #scan(String...)}. * @param scopeMetadataResolver the scope metadata resolver */ public void setScopeMetadataResolver(ScopeMetadataResolver scopeMetadataResolver) { this.reader.setScopeMetadataResolver(scopeMetadataResolver); this.scanner.setScopeMetadataResolver(scopeMetadataResolver); }
/** * Set the {@link ScopeMetadataResolver} to use for detected bean classes. * <p>The default is an {@link AnnotationScopeMetadataResolver}. * <p>Any call to this method must occur prior to calls to {@link #register(Class...)} * and/or {@link #scan(String...)}. */ public void setScopeMetadataResolver(ScopeMetadataResolver scopeMetadataResolver) { this.reader.setScopeMetadataResolver(scopeMetadataResolver); this.scanner.setScopeMetadataResolver(scopeMetadataResolver); }
/** * Set the {@link ScopeMetadataResolver} to use for detected bean classes. * <p> * The default is an {@link AnnotationScopeMetadataResolver}. * <p> * Any call to this method must occur prior to calls to * {@link #register(Class...)} and/or {@link #scan(String...)}. * * @param scopeMetadataResolver * the scope metadata resolver */ public void setScopeMetadataResolver(ScopeMetadataResolver scopeMetadataResolver) { this.reader.setScopeMetadataResolver(scopeMetadataResolver); this.scanner.setScopeMetadataResolver(scopeMetadataResolver); }
public void scan( String[] basePackages, TypeFilter[] excludedTypes ) { ClassPathBeanDefinitionScanner scanner = new ClassPathBeanDefinitionScanner( this, true, getEnvironment(), this ); scanner.setBeanNameGenerator( beanNameGenerator ); scanner.setScopeMetadataResolver( scopeMetadataResolver ); scanner.setResourcePattern( "**/*.class" ); for ( TypeFilter filter : excludedTypes ) { scanner.addExcludeFilter( filter ); } scanner.scan( basePackages ); } }
protected void parseScope(ClassPathBeanDefinitionScanner scanner, ComponentScanDeclaration scanDec) { // Register ScopeMetadataResolver if class name provided. if (scanDec.getScopeResolver() != null) { if (scanDec.getScopedProxy() != null) { throw new IllegalArgumentException( "Cannot define both 'scope-resolver' and 'scoped-proxy' on <component-scan> tag"); } ScopeMetadataResolver scopeMetadataResolver = (ScopeMetadataResolver) instantiateUserDefinedStrategy( scanDec.getScopeResolver(), ScopeMetadataResolver.class, scanner.getResourceLoader().getClassLoader()); scanner.setScopeMetadataResolver(scopeMetadataResolver); } scanner.setScopedProxyMode(scanDec.getScopedProxy()); }
@Override public StickyBootstrap scan(String... paths) { if (paths.length > 0) { ClassPathBeanDefinitionScanner scanner = new ClassPathBeanDefinitionScanner(context, false); scanner.setScopeMetadataResolver(new StickyScopeMetadataResolver()); scanner.addIncludeFilter(new AnnotationTypeFilter(StickyComponent.class)); scanner.addIncludeFilter(new AnnotationTypeFilter(StickyPlugin.class)); scanner.addIncludeFilter(new AnnotationTypeFilter(StickyDomain.class)); scanner.addIncludeFilter(new AnnotationTypeFilter(Component.class)); scanner.addIncludeFilter(new AnnotationTypeFilter(Singleton.class)); scanner.scan(paths); } return this; }
@Override public StickyBootstrap scan(String... paths) { if (paths.length > 0) { ClassPathBeanDefinitionScanner scanner = new ClassPathBeanDefinitionScanner(context, false); scanner.setBeanNameGenerator(new VersionedBeanNameGenerator()); scanner.setScopeMetadataResolver(new StickyScopeMetadataResolver()); scanner.addIncludeFilter(new AnnotationTypeFilter(StickyComponent.class)); scanner.addIncludeFilter(new AnnotationTypeFilter(StickyPlugin.class)); scanner.addIncludeFilter(new AnnotationTypeFilter(StickyDomain.class)); scanner.addIncludeFilter(new AnnotationTypeFilter(Component.class)); scanner.addIncludeFilter(new AnnotationTypeFilter(Singleton.class)); scanner.scan(paths); } return this; }