/** * Declare Assembler. * @param classname Assembler class name * @return This Module declaration * @throws AssemblyException if unable to load class, not an Assembler or unable to instanciate */ public ModuleDeclaration withAssembler( String classname ) throws AssemblyException { Class<? extends Assembler> clazz = loadClass( classname ); return withAssembler( clazz ); }
/** * Declare Assembler. * @param classname Assembler class name * @return This Module declaration * @throws AssemblyException if unable to load class, not an Assembler or unable to instanciate */ public ModuleDeclaration withAssembler( String classname ) throws AssemblyException { Class<? extends Assembler> clazz = loadClass( classname ); return withAssembler( clazz ); }
/** * Declare Assemblers. * <p>Declare several Assemblers from an Iterable of Class objects.</p> * <p>Typically used along {@link org.apache.polygene.bootstrap.ClassScanner}.</p> * @param assemblerClasses Assembler classes * @return This Module declaration * @throws AssemblyException if one of the Class is not an Assembler or unable to instantiate */ public ModuleDeclaration withAssemblers( Iterable<Class<?>> assemblerClasses ) throws AssemblyException { List<Class<?>> notAssemblers = StreamSupport.stream( assemblerClasses.spliterator(), false ) .filter( isAssignableFrom( Assembler.class ).negate() ) .collect( toList() ); if( !notAssemblers.isEmpty() ) { throw new AssemblyException( "Classes " + notAssemblers + " are not implementing " + Assembler.class.getName() ); } for( Class<?> assemblerClass : assemblerClasses ) { withAssembler( assemblerClass ); } return this; }
/** * Declare Assemblers. * <p>Declare several Assemblers from an Iterable of Class objects.</p> * <p>Typically used along {@link org.apache.polygene.bootstrap.ClassScanner}.</p> * @param assemblerClasses Assembler classes * @return This Module declaration * @throws AssemblyException if one of the Class is not an Assembler or unable to instantiate */ public ModuleDeclaration withAssemblers( Iterable<Class<?>> assemblerClasses ) throws AssemblyException { List<Class<?>> notAssemblers = StreamSupport.stream( assemblerClasses.spliterator(), false ) .filter( isAssignableFrom( Assembler.class ).negate() ) .collect( toList() ); if( !notAssemblers.isEmpty() ) { throw new AssemblyException( "Classes " + notAssemblers + " are not implementing " + Assembler.class.getName() ); } for( Class<?> assemblerClass : assemblerClasses ) { withAssembler( assemblerClass ); } return this; }
moduleDeclaration.withAssembler( string );
moduleDeclaration.withAssembler( string );
appBuilder.withLayer( "Layer 1" ).withModule( "Module A" ).withAssembler( module -> module.services( TestService.class ) .identifiedBy( "TestService_Module.A" ) .withActivators( FailBeforePassivationServiceActivator.class ) .instantiateOnStartup() ); appBuilder.withLayer( "Layer 2" ).withModule( "Module B" ).withAssembler( module -> module.services( TestService.class ) .identifiedBy( "TestService_Module.B" )