All Downloads are FREE. Search and download functionalities are using the official Maven repository.

al.juliac.osgi.juliac-osgi-mixins.2.8.source-code.osgi-bundled.cfg Maven / Gradle / Ivy

The newest version!
# -----------------------------------------------------------------------------
# CONTROLLER INTERFACES
#
# each definition must be of the form (interface-name interface-signature)
# -----------------------------------------------------------------------------

# LifeCycleController interface (for osgiPrimitive component)
(osgi-lifecycle-controller-itf
  (osgi-lifecycle-controller org.objectweb.fractal.juliac.osgi.control.lifecycle.OSGiLifeCycleController)
)

# -----------------------------------------------------------------------------
# CONTROLLER OBJECTS
#
# each definition must be an object descriptor
# -----------------------------------------------------------------------------

# LifeCycleController implementation (for osgiPrimitive component)
(osgi-lifecycle-controller-impl
  ((org.objectweb.fractal.julia.asm.MixinClassGenerator
    OSGiLifeCycleControllerImpl
    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
    org.objectweb.fractal.juliac.osgi.control.lifecycle.OSGiLifeCycleControllerMixin
  ))
)

# BindingController implementation (for osgiPrimitive component)
# uses OSGi BasicBindingControllerMixin layer instead of Julia one
(osgi-primitive-binding-controller-impl
  ((org.objectweb.fractal.julia.asm.MixinClassGenerator
    OSGiPrimitiveBindingControllerImpl
    org.objectweb.fractal.julia.BasicControllerMixin
    org.objectweb.fractal.julia.UseComponentMixin
    org.objectweb.fractal.juliac.osgi.control.binding.OSGiBasicBindingControllerMixin
    # 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.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
  ))
)

# -----------------------------------------------------------------------------
# CONTROLLER DESCRIPTORS
# -----------------------------------------------------------------------------

(osgiPrimitive
  (
    'interface-class-generator
    (
      'component-itf
      'binding-controller-itf
      'super-controller-itf
      'lifecycle-controller-itf
      'name-controller-itf
    )
    (
      'component-impl
	  'osgi-primitive-binding-controller-impl
      'super-controller-impl
      'osgi-lifecycle-controller-impl
      'name-controller-impl
    )
    (
      (org.objectweb.fractal.juliac.osgi.DynInterceptorClassGenerator
        org.objectweb.fractal.juliac.core.proxy.LifeCycleSourceCodeGenerator
      )
    )
    org.objectweb.fractal.julia.asm.MergeClassGenerator
    'optimizationLevel
  )
)




© 2015 - 2024 Weber Informatics LLC | Privacy Policy