etc.reflex-julia.cfg Maven / Gradle / Ivy
# -----------------------------------------------------------------------------
# CONTROLLER DESCRIPTORS
# -----------------------------------------------------------------------------
# reflex-controller interface
# mainly allows :
# - to set/get the reference of the dual component
# associated to the current component
# - to get the level of a component (exec / meta)
(reflex-controller-itf
(reflex-controller org.ow2.jasmine.jade.reflex.api.control.ReflexController)
)
#=========================================================================
# Additionnal controllers interfaces for reflexive components
#=========================================================================
# Notifications interfaces
# perform a control operation without forwarding the operation to the dual level
(generic-factory-notification-itf
(generic-factory-notification org.ow2.jasmine.jade.reflex.api.factory.GenericFactoryNotification)
)
(binding-notification-controller-itf
(binding-notification-controller org.ow2.jasmine.jade.reflex.api.control.BindingNotificationController)
)
(content-notification-controller-itf
(content-notification-controller org.ow2.jasmine.jade.reflex.api.control.ContentNotificationController)
)
(lifecycle-notification-controller-itf
(lifecycle-notification-controller org.ow2.jasmine.jade.reflex.api.control.LifeCycleNotificationController)
)
(name-notification-controller-itf
(name-notification-controller org.ow2.jasmine.jade.reflex.api.control.NameNotificationController)
)
# -----------------------------------------------------------------------------
# CONTROLLER OBJECTS
#
# each definition must be an object descriptor
# -----------------------------------------------------------------------------
#=========================================================================
# Additionnal controllers implementation for reflexive components
# Principle : a reflexive component is associated to "reflexive" controllers
# Reflexive controllers are standard Julia controllers, except that they
# notify the dual level (meta / exec) of any operation they perform.
# The notification of the dual level is managed by a specific
# mixin.
#=========================================================================
# ReflexController implementation
(reflex-controller-impl
((org.objectweb.fractal.julia.asm.MixinClassGenerator
ReflexControllerImpl
org.objectweb.fractal.julia.BasicControllerMixin
org.objectweb.fractal.julia.control.name.UseNameControllerMixin
org.objectweb.fractal.julia.UseComponentMixin
org.ow2.jasmine.jade.reflex.control.BasicReflexControllerMixin
))
)
# BindingController implementation (for primitive components without content)
# the following implementation manages the connection with the SR service
(reflex-primitive-binding-controller-impl
((org.objectweb.fractal.julia.asm.MixinClassGenerator
ReflexPrimitiveBindingControllerImpl
# Allows to associate the controller to a component
org.objectweb.fractal.julia.BasicControllerMixin
# Provides a basic implementation of the Binding controller interface
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
# notify the reverse-binding controller of the bound component
org.ow2.jasmine.jade.fractal.julia.control.binding.BindingWithReverseBindingControllerNotifierMixin
# use the reflex controller to notify the dual level
org.ow2.jasmine.jade.reflex.control.UseReflexControllerMixin
org.objectweb.fractal.julia.control.name.UseNameControllerMixin
org.ow2.jasmine.jade.reflex.control.binding.ReflexBindingMixin
))
)
# BindingController implementation (reflex primitive have no content)
# the following implementation manages the connection with the SR service
(reflex-container-binding-controller-impl
'reflex-primitive-binding-controller-impl
)
# BindingController implementation (for composite components)
# the following implementation manages the connection with the SR service
(reflex-composite-binding-controller-impl
((org.objectweb.fractal.julia.asm.MixinClassGenerator
ReflexCompositeBindingControllerImpl
# Allows to associate the controller to a component
org.objectweb.fractal.julia.BasicControllerMixin
# Provides a basic implementation of the Binding controller interface
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
# notify the reverse-binding controller of the bound component
org.ow2.jasmine.jade.fractal.julia.control.binding.BindingWithReverseBindingControllerNotifierMixin
# use the reflex controller to notify the dual level
org.ow2.jasmine.jade.reflex.control.UseReflexControllerMixin
org.objectweb.fractal.julia.control.name.UseNameControllerMixin
org.ow2.jasmine.jade.reflex.control.binding.ReflexBindingMixin
))
)
# ContentController implementation
# the following implementation manages the connection with the SR service
(reflex-content-controller-impl
((org.objectweb.fractal.julia.asm.MixinClassGenerator
ReflexContentControllerImpl
# Allows to associate the controller to a component
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
# use the reflex controller to notify the dual level
org.ow2.jasmine.jade.reflex.control.UseReflexControllerMixin
org.ow2.jasmine.jade.reflex.control.content.ReflexContentMixin
))
)
# LifeCycleController implementation (for primitive or composite components)
# the following implementation manages the connection with the SR service
(reflex-lifecycle-controller-impl
((org.objectweb.fractal.julia.asm.MixinClassGenerator
ReflexLifeCycleControllerImpl
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
# use the reflex controller to notify the dual level
org.ow2.jasmine.jade.reflex.control.UseReflexControllerMixin
org.ow2.jasmine.jade.reflex.control.lifecycle.ReflexLifeCycleMixin
))
)
# LifeCycleController implementation (for composite components only)
# the following implementation manages the connection with the SR service
(reflex-composite-lifecycle-controller-impl
((org.objectweb.fractal.julia.asm.MixinClassGenerator
ReflexCompositeLifeCycleControllerImpl
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
# use the reflex controller to notify the dual level
org.ow2.jasmine.jade.reflex.control.UseReflexControllerMixin
org.ow2.jasmine.jade.reflex.control.lifecycle.ReflexLifeCycleMixin
))
)
# NameController implementation
# the following implementation manages the connection with the SR service
(reflex-name-controller-impl
((org.objectweb.fractal.julia.asm.MixinClassGenerator
ReflexNameControllerImpl
org.objectweb.fractal.julia.BasicControllerMixin
org.objectweb.fractal.julia.control.name.BasicNameControllerMixin
# use the reflex controller to notify the dual level
org.ow2.jasmine.jade.reflex.control.UseReflexControllerMixin
org.ow2.jasmine.jade.reflex.control.name.ReflexNameMixin
))
)
# -----------------------------------------------------------------------------
# CONTROLLER DESCRIPTORS
# -----------------------------------------------------------------------------
© 2015 - 2025 Weber Informatics LLC | Privacy Policy