############################################################################### # STANDARD JULIA CONFIGURATION FILE - DO NOT EDIT # # PUT NEW OR OVERRIDEN DEFINITIONS AT THE END OF THE FILE, OR IN OTHER FILES ############################################################################### # ----------------------------------------------------------------------------- # INTERFACE CLASS GENERATORS # ----------------------------------------------------------------------------- # default class generator, generates sub classes of BasicComponentInterface (interface-class-generator (org.objectweb.fractal.julia.asm.InterfaceClassGenerator org.objectweb.fractal.julia.BasicComponentInterface ) ) # ----------------------------------------------------------------------------- # CONTROLLER INTERFACES # # each definition must be of the form (interface-name interface-signature) # ----------------------------------------------------------------------------- # Component interface (component-itf (component org.objectweb.fractal.api.Component) ) # TypeFactory interface (type-factory-itf (type-factory org.objectweb.fractal.api.type.TypeFactory) ) # GenericFactory interface (generic-factory-itf (generic-factory org.objectweb.fractal.api.factory.GenericFactory) ) # Factory interface (factory-itf # choose one of the following definitions: # the first one provides only the Fractal Factory interface # the second one provides a Julia extension of the Factory interface # (factory org.objectweb.fractal.api.factory.Factory) (factory org.objectweb.fractal.julia.factory.Template) ) (julia-factory-itf (/template org.objectweb.fractal.julia.factory.Template) ) # AttributeController interface (attribute-controller-itf (attribute org.objectweb.fractal.api.control.AttributeController) ) (julia-attribute-controller-itf (/cloneable-attribute-controller org.objectweb.fractal.julia.control.attribute.CloneableAttributeController) ) # BindingController interface (binding-controller-itf (binding-controller org.objectweb.fractal.api.control.BindingController) ) # ContentController interface (content-controller-itf (content-controller org.objectweb.fractal.api.control.ContentController) ) # SuperController interface (super-controller-itf # choose one of the following definitions: # the first one provides only the Fractal SuperController interface # the second one provides a Julia extension of the SuperController interface # (super-controller org.objectweb.fractal.api.control.SuperController) (super-controller org.objectweb.fractal.julia.control.content.SuperControllerNotifier) ) (julia-super-controller-itf (/super-controller-notifier org.objectweb.fractal.julia.control.content.SuperControllerNotifier) ) # LifeCycleController interface (lifecycle-controller-itf # choose one of the following definitions: # the first one provides only the Fractal LifeCycleController interface # the second one provides a Julia extension of the LifeCycleController interface # (lifecycle-controller org.objectweb.fractal.api.control.LifeCycleController) (lifecycle-controller org.objectweb.fractal.julia.control.lifecycle.LifeCycleCoordinator) ) (julia-lifecycle-controller-itf (/lifecycle-coordinator org.objectweb.fractal.julia.control.lifecycle.LifeCycleCoordinator) ) # NameController interface (name-controller-itf (name-controller org.objectweb.fractal.api.control.NameController) ) # ----------------------------------------------------------------------------- # CONTROLLER OBJECTS # # each definition must be an object descriptor # ----------------------------------------------------------------------------- # Component implementation (component-impl ((org.objectweb.fractal.julia.asm.MixinClassGenerator ComponentImpl org.objectweb.fractal.julia.BasicControllerMixin org.objectweb.fractal.julia.BasicComponentMixin # to check type related constraints, and for collection interfaces support: org.objectweb.fractal.julia.TypeComponentMixin )) ) # TypeFactory implementation (type-factory-impl ((org.objectweb.fractal.julia.asm.MixinClassGenerator TypeFactoryImpl org.objectweb.fractal.julia.BasicControllerMixin org.objectweb.fractal.julia.type.BasicTypeFactoryMixin )) ) # GenericFactory implementation (generic-factory-impl ((org.objectweb.fractal.julia.asm.MixinClassGenerator GenericFactoryImpl org.objectweb.fractal.julia.BasicControllerMixin org.objectweb.fractal.julia.BasicInitializableMixin org.objectweb.fractal.julia.loader.UseLoaderMixin org.objectweb.fractal.julia.type.UseTypeFactoryMixin org.objectweb.fractal.julia.factory.BasicGenericFactoryMixin # to check the component content descriptor with the Java Reflection API: org.objectweb.fractal.julia.factory.CheckGenericFactoryMixin )) ) # Factory implementation (for template components) (factory-impl ((org.objectweb.fractal.julia.asm.MixinClassGenerator FactoryImpl org.objectweb.fractal.julia.BasicControllerMixin org.objectweb.fractal.julia.UseComponentMixin org.objectweb.fractal.julia.factory.BasicTemplateMixin # to copy the template's attributes to the components it creates: org.objectweb.fractal.julia.control.attribute.UseCloneableAttributeControllerMixin org.objectweb.fractal.julia.factory.AttributeTemplateMixin # to copy the template's name to the components it creates: org.objectweb.fractal.julia.control.name.UseNameControllerMixin org.objectweb.fractal.julia.factory.NameTemplateMixin )) ) # Factory implementation (for singleton template components) (singleton-factory-impl ((org.objectweb.fractal.julia.asm.MixinClassGenerator SingletonFactoryImpl org.objectweb.fractal.julia.BasicControllerMixin org.objectweb.fractal.julia.UseComponentMixin org.objectweb.fractal.julia.factory.BasicTemplateMixin # to copy the template's attributes to the components it creates: org.objectweb.fractal.julia.control.attribute.UseCloneableAttributeControllerMixin org.objectweb.fractal.julia.factory.AttributeTemplateMixin # to copy the template's name to the components it creates: org.objectweb.fractal.julia.control.name.UseNameControllerMixin org.objectweb.fractal.julia.factory.NameTemplateMixin # to provide the singleton semantics to the template: org.objectweb.fractal.julia.factory.SingletonTemplateMixin )) ) # BindingController implementation (for primitive components without content) (primitive-binding-controller-impl ((org.objectweb.fractal.julia.asm.MixinClassGenerator PrimitiveBindingControllerImpl org.objectweb.fractal.julia.BasicControllerMixin org.objectweb.fractal.julia.control.binding.BasicBindingControllerMixin # to initialize the BasicBindingControllerMixin from the component's type: org.objectweb.fractal.julia.control.binding.TypeBasicBindingMixin # to check some basic pre conditions (interface not already bound, ...) org.objectweb.fractal.julia.UseComponentMixin org.objectweb.fractal.julia.control.binding.CheckBindingMixin # to check type related constraints for bindings: org.objectweb.fractal.julia.control.binding.TypeBindingMixin # to check content related constraints for bindings: org.objectweb.fractal.julia.control.content.UseSuperControllerMixin org.objectweb.fractal.julia.control.binding.ContentBindingMixin # to check lifecycle related constraints for bindings: org.objectweb.fractal.julia.control.lifecycle.UseLifeCycleControllerMixin org.objectweb.fractal.julia.control.binding.LifeCycleBindingMixin )) ) # BindingController implementation (for primitive components with content) (container-binding-controller-impl ((org.objectweb.fractal.julia.asm.MixinClassGenerator ContainerBindingControllerImpl org.objectweb.fractal.julia.BasicControllerMixin org.objectweb.fractal.julia.control.binding.ContainerBindingControllerMixin # to skip Interface objects before delegating to the encapsulated component: # org.objectweb.fractal.julia.control.binding.OptimizedContainerBindingMixin # to manage output interceptors: org.objectweb.fractal.julia.UseComponentMixin org.objectweb.fractal.julia.control.binding.InterceptorBindingMixin # to check some basic pre conditions (interface not already bound, ...) org.objectweb.fractal.julia.control.binding.CheckBindingMixin # to check type related constraints for bindings: org.objectweb.fractal.julia.control.binding.TypeBindingMixin # to check content related constraints for bindings: org.objectweb.fractal.julia.control.content.UseSuperControllerMixin org.objectweb.fractal.julia.control.binding.ContentBindingMixin # to check lifecycle related constraints for bindings: org.objectweb.fractal.julia.control.lifecycle.UseLifeCycleControllerMixin org.objectweb.fractal.julia.control.binding.LifeCycleBindingMixin )) ) # BindingController implementation (for composite components) (composite-binding-controller-impl ((org.objectweb.fractal.julia.asm.MixinClassGenerator CompositeBindingControllerImpl org.objectweb.fractal.julia.BasicControllerMixin org.objectweb.fractal.julia.control.binding.BasicBindingControllerMixin # to initialize the BasicBindingControllerMixin from the component's type: org.objectweb.fractal.julia.control.binding.TypeBasicBindingMixin # to check some basic pre conditions (interface not already bound, ...) org.objectweb.fractal.julia.UseComponentMixin org.objectweb.fractal.julia.control.binding.CheckBindingMixin # to check type related constraints for bindings: org.objectweb.fractal.julia.control.binding.TypeBindingMixin # to check content related constraints for bindings: org.objectweb.fractal.julia.control.content.UseSuperControllerMixin org.objectweb.fractal.julia.control.binding.ContentBindingMixin # to check lifecycle related constraints for bindings: org.objectweb.fractal.julia.control.lifecycle.UseLifeCycleControllerMixin org.objectweb.fractal.julia.control.binding.LifeCycleBindingMixin # to manage the getFcItfImpl links of the Interface objects: # choose one of ComponentBindingMixin and OptimizedCompositeBindingMixin # (the last one creates and updates shortcuts links when possible) org.objectweb.fractal.julia.control.content.UseContentControllerMixin # org.objectweb.fractal.julia.control.binding.CompositeBindingMixin org.objectweb.fractal.julia.control.binding.OptimizedCompositeBindingMixin )) ) # ContentController implementation (content-controller-impl ((org.objectweb.fractal.julia.asm.MixinClassGenerator ContentControllerImpl org.objectweb.fractal.julia.BasicControllerMixin org.objectweb.fractal.julia.UseComponentMixin org.objectweb.fractal.julia.control.content.BasicContentControllerMixin # to check some basic pre conditions, and to prevent hierarchy cycles: org.objectweb.fractal.julia.control.content.CheckContentMixin # to check type related constraints in getFcInternalInterface: org.objectweb.fractal.julia.control.content.TypeContentMixin # to check binding locality related constraints in removeFcSubComponent: org.objectweb.fractal.julia.control.content.BindingContentMixin # to check lifecycle related constraints: org.objectweb.fractal.julia.control.lifecycle.UseLifeCycleControllerMixin org.objectweb.fractal.julia.control.content.LifeCycleContentMixin # to notify sub components when they are added or removed from this component: org.objectweb.fractal.julia.control.content.SuperContentMixin )) ) # SuperController implementation (super-controller-impl ((org.objectweb.fractal.julia.asm.MixinClassGenerator SuperControllerImpl org.objectweb.fractal.julia.BasicControllerMixin org.objectweb.fractal.julia.control.content.BasicSuperControllerMixin )) ) # LifeCycleController implementation (for primitive or composite components) (lifecycle-controller-impl ((org.objectweb.fractal.julia.asm.MixinClassGenerator LifeCycleControllerImpl org.objectweb.fractal.julia.BasicControllerMixin org.objectweb.fractal.julia.UseComponentMixin org.objectweb.fractal.julia.control.lifecycle.BasicLifeCycleCoordinatorMixin org.objectweb.fractal.julia.control.lifecycle.BasicLifeCycleControllerMixin # to check that mandatory client interfaces are bound in startFc: org.objectweb.fractal.julia.control.lifecycle.TypeLifeCycleMixin # to notify the encapsulated component (if present) when its state changes: org.objectweb.fractal.julia.control.lifecycle.ContainerLifeCycleMixin )) ) # LifeCycleController implementation (for composite components only) (composite-lifecycle-controller-impl ((org.objectweb.fractal.julia.asm.MixinClassGenerator CompositeLifeCycleControllerImpl org.objectweb.fractal.julia.BasicControllerMixin org.objectweb.fractal.julia.UseComponentMixin org.objectweb.fractal.julia.control.lifecycle.BasicLifeCycleCoordinatorMixin org.objectweb.fractal.julia.control.lifecycle.OptimizedLifeCycleControllerMixin # to check that mandatory client interfaces are bound in startFc: org.objectweb.fractal.julia.control.lifecycle.TypeLifeCycleMixin )) ) # NameController implementation (name-controller-impl ((org.objectweb.fractal.julia.asm.MixinClassGenerator NameControllerImpl org.objectweb.fractal.julia.BasicControllerMixin org.objectweb.fractal.julia.control.name.BasicNameControllerMixin )) ) # ----------------------------------------------------------------------------- # CONTROLLER DESCRIPTORS # ----------------------------------------------------------------------------- (optimizationLevel # choose one of the following optimization options: none # mergeControllers # mergeControllersAndInterceptors # mergeControllersAndContent # mergeControllersInterceptorsAndContent ) (bootstrap ( 'interface-class-generator ( 'component-itf 'type-factory-itf 'generic-factory-itf (loader org.objectweb.fractal.julia.loader.Loader) ) ( 'component-impl 'type-factory-impl 'generic-factory-impl # choose one of the following classes: # the first one loads all classes from the classpath # the second one can generate missing classes on the fly, dynamically # org.objectweb.fractal.julia.loader.BasicLoader org.objectweb.fractal.julia.loader.DynamicLoader ) ( # no interceptors ) org.objectweb.fractal.julia.asm.MergeClassGenerator none ) ) (primitive ( 'interface-class-generator ( 'component-itf 'binding-controller-itf 'super-controller-itf # only if super-controller-itf does not designate the Julia interface: # 'julia-super-controller-itf 'lifecycle-controller-itf # only if lifecycle-controller-itf does not designate the Julia interface: # 'julia-lifecycle-controller-itf 'name-controller-itf ) ( 'component-impl 'container-binding-controller-impl 'super-controller-impl 'lifecycle-controller-impl 'name-controller-impl ) ( (org.objectweb.fractal.julia.asm.InterceptorClassGenerator org.objectweb.fractal.julia.asm.LifeCycleCodeGenerator ) ) org.objectweb.fractal.julia.asm.MergeClassGenerator 'optimizationLevel ) ) (parametricPrimitive 'primitive ) (composite ( 'interface-class-generator ( 'component-itf 'binding-controller-itf 'content-controller-itf 'super-controller-itf # only if super-controller-itf does not designate the Julia interface: # 'julia-super-controller-itf 'lifecycle-controller-itf # only if lifecycle-controller-itf does not designate the Julia interface: # 'julia-lifecycle-controller-itf 'name-controller-itf ) ( 'component-impl 'composite-binding-controller-impl 'content-controller-impl 'super-controller-impl 'composite-lifecycle-controller-impl 'name-controller-impl ) ( # no interceptors ) org.objectweb.fractal.julia.asm.MergeClassGenerator 'optimizationLevel ) ) (parametricComposite ( 'interface-class-generator ( 'component-itf 'binding-controller-itf 'content-controller-itf 'super-controller-itf # only if super-controller-itf does not designate the Julia interface: # 'julia-super-controller-itf 'lifecycle-controller-itf # only if lifecycle-controller-itf does not designate the Julia interface: # 'julia-lifecycle-controller-itf 'name-controller-itf ) ( 'component-impl ((org.objectweb.fractal.julia.asm.AttributeControllerClassGenerator ('attributeControllerInterface) )) 'composite-binding-controller-impl 'content-controller-impl 'super-controller-impl 'composite-lifecycle-controller-impl 'name-controller-impl ) ( # no interceptors ) org.objectweb.fractal.julia.asm.MergeClassGenerator 'optimizationLevel ) ) (primitiveTemplate ( 'interface-class-generator ( 'component-itf 'binding-controller-itf 'super-controller-itf # only if super-controller-itf does not designate the Julia interface: # 'julia-super-controller-itf 'name-controller-itf 'factory-itf # only if factory-itf does not designate the Julia interface: # 'julia-factory-itf ) ( 'component-impl 'primitive-binding-controller-impl 'super-controller-impl 'name-controller-impl 'factory-impl ) ( # no interceptors ) org.objectweb.fractal.julia.asm.MergeClassGenerator 'optimizationLevel ) ) (parametricPrimitiveTemplate ( 'interface-class-generator ( 'component-itf 'julia-attribute-controller-itf 'binding-controller-itf 'super-controller-itf # only if super-controller-itf does not designate the Julia interface: # 'julia-super-controller-itf 'name-controller-itf 'factory-itf # only if factory-itf does not designate the Julia interface: # 'julia-factory-itf ) ( 'component-impl ((org.objectweb.fractal.julia.asm.AttributeControllerClassGenerator ('attributeControllerInterface) )) 'primitive-binding-controller-impl 'super-controller-impl 'name-controller-impl 'factory-impl ) ( # no interceptors ) org.objectweb.fractal.julia.asm.MergeClassGenerator 'optimizationLevel ) ) (compositeTemplate ( 'interface-class-generator ( 'component-itf 'binding-controller-itf 'content-controller-itf 'super-controller-itf # only if super-controller-itf does not designate the Julia interface: # 'julia-super-controller-itf 'name-controller-itf 'factory-itf # only if factory-itf does not designate the Julia interface: # 'julia-factory-itf ) ( 'component-impl 'composite-binding-controller-impl 'content-controller-impl 'super-controller-impl 'name-controller-impl 'factory-impl ) ( # no interceptors ) org.objectweb.fractal.julia.asm.MergeClassGenerator 'optimizationLevel ) ) (parametricCompositeTemplate ( 'interface-class-generator ( 'component-itf 'julia-attribute-controller-itf 'binding-controller-itf 'content-controller-itf 'super-controller-itf # only if super-controller-itf does not designate the Julia interface: # 'julia-super-controller-itf 'name-controller-itf 'factory-itf # only if factory-itf does not designate the Julia interface: # 'julia-factory-itf ) ( 'component-impl ((org.objectweb.fractal.julia.asm.AttributeControllerClassGenerator ('attributeControllerInterface) )) 'composite-binding-controller-impl 'content-controller-impl 'super-controller-impl 'name-controller-impl 'factory-impl ) ( # no interceptors ) org.objectweb.fractal.julia.asm.MergeClassGenerator 'optimizationLevel ) ) ############################################################################### # CUSTOM CONFIGURATION INFORMATION ############################################################################### # no custom definitions