org.ow2.jasmine.jade.reflex.factory
Class ReflexGenericInstallingFactoryMixin

java.lang.Object
  extended by org.ow2.jasmine.jade.reflex.factory.ReflexGenericInstallingFactoryMixin
All Implemented Interfaces:
org.objectweb.fractal.api.factory.GenericFactory, org.objectweb.fractal.deployment.local.api.GenericInstallingFactory, GenericFactoryNotification, GenericInstallingFactoryNotification

public abstract class ReflexGenericInstallingFactoryMixin
extends java.lang.Object
implements org.objectweb.fractal.deployment.local.api.GenericInstallingFactory, GenericInstallingFactoryNotification

Provides an implementation of the GenericInstallingFactory interface which manages the causal connection with the dual (i.e meta/execution) level : any newFcInstance operation performed on the current factory is forwarded to the factory of the dual level.

Author:
Julien Legrand More informations about this class: - define this class as a mixin which can be added to any GenericFactory in order to make it reflexive - A "reflexive" factory is a standard factory except that it has a specific additionnal controller (ReflexController) which allows to get the reference of its dual factory - A "reflexive" factory ensures that for any component it creates, it notifies its dual factory such that a dual component is automatically created. - the level of the current factory is set according to the reflex-fractal.level system property - at instanciation time: - the factory automatically register itself under the naming service (by using as name the concatenation of the name given by the reflex-fractal.name system property and the level), - the factory automatically connects itself with its dual factory

Field Summary
 org.objectweb.fractal.api.control.BindingController _this_weaveableBC
          The weaveableBC field required by this mixin.
 org.objectweb.fractal.api.Component _this_weaveableC
          The weaveableC field required by this mixin.
 org.ow2.jasmine.jade.fractal.api.control.GenericInstallingFactoryContextController _this_weaveableGIFCC
          The weaveableGIFCC field required by this mixin.
 ReflexController _this_weaveableOptRC
          The weaveableOptRC field required by this mixin.
 
Method Summary
abstract  void _super_initFcController(org.objectweb.fractal.julia.InitializationContext ic)
           
abstract  org.objectweb.fractal.api.Component _super_newFcInstance(org.objectweb.fractal.api.Type type, java.lang.Object controllerDesc, java.lang.Object contentDesc)
          The newFcInstance method overriden by this mixin.
abstract  org.objectweb.fractal.api.Component _super_newFcInstance(org.objectweb.fractal.api.Type type, java.lang.Object controllerDesc, java.lang.Object contentDesc, org.objectweb.fractal.deployment.local.api.PackageDescription pkg)
           
abstract  void _super_undeployFcComponent(org.objectweb.fractal.api.Component component)
           
 void initFcController(org.objectweb.fractal.julia.InitializationContext ic)
           
 org.objectweb.fractal.api.Component newFcInstance(org.objectweb.fractal.api.Type type, java.lang.Object controllerDesc, java.lang.Object contentDesc)
           
 org.objectweb.fractal.api.Component newFcInstance(org.objectweb.fractal.api.Type type, java.lang.Object controllerDesc, java.lang.Object contentDesc, org.objectweb.fractal.deployment.local.api.PackageDescription pkg)
           
 org.objectweb.fractal.api.Component newFcInstanceNotification(org.objectweb.fractal.api.Type type, java.lang.Object controllerDesc, java.lang.Object contentDesc)
          Creates a component.
 org.objectweb.fractal.api.Component newFcInstanceNotification(org.objectweb.fractal.api.Type type, java.lang.Object controllerDesc, java.lang.Object contentDesc, org.objectweb.fractal.deployment.local.api.PackageDescription packageDescription)
          Creates a Component given its type, a description of its control part (membrane), description of its content part (implementation) and a description of a package in which all those can be found
 void undeployFcComponent(org.objectweb.fractal.api.Component component)
           
 void undeployFcComponentNotification(org.objectweb.fractal.api.Component cmp)
          Undeploys a given Component
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.objectweb.fractal.deployment.local.api.GenericInstallingFactory
getFcLoaderForComponent
 

Field Detail

_this_weaveableC

public org.objectweb.fractal.api.Component _this_weaveableC
The weaveableC field required by this mixin. This field is supposed to reference the Component interface of the component to which this controller object belongs.


_this_weaveableBC

public org.objectweb.fractal.api.control.BindingController _this_weaveableBC
The weaveableBC field required by this mixin. This field is supposed to reference the BindingController interface of the component to which this controller object belongs.


_this_weaveableOptRC

public ReflexController _this_weaveableOptRC
The weaveableOptRC field required by this mixin. This field is supposed to reference the ReflexController interface of the component to which this controller object belongs.


_this_weaveableGIFCC

public org.ow2.jasmine.jade.fractal.api.control.GenericInstallingFactoryContextController _this_weaveableGIFCC
The weaveableGIFCC field required by this mixin. This field is supposed to reference the GenericInstallingFactoryContextController interface of the component to which this controller object belongs.

Method Detail

initFcController

public void initFcController(org.objectweb.fractal.julia.InitializationContext ic)
                      throws org.objectweb.fractal.api.factory.InstantiationException
Throws:
org.objectweb.fractal.api.factory.InstantiationException

undeployFcComponent

public void undeployFcComponent(org.objectweb.fractal.api.Component component)
Specified by:
undeployFcComponent in interface org.objectweb.fractal.deployment.local.api.GenericInstallingFactory

newFcInstance

public org.objectweb.fractal.api.Component newFcInstance(org.objectweb.fractal.api.Type type,
                                                         java.lang.Object controllerDesc,
                                                         java.lang.Object contentDesc,
                                                         org.objectweb.fractal.deployment.local.api.PackageDescription pkg)
                                                  throws org.objectweb.fractal.api.factory.InstantiationException
Specified by:
newFcInstance in interface org.objectweb.fractal.deployment.local.api.GenericInstallingFactory
Throws:
org.objectweb.fractal.api.factory.InstantiationException

newFcInstance

public org.objectweb.fractal.api.Component newFcInstance(org.objectweb.fractal.api.Type type,
                                                         java.lang.Object controllerDesc,
                                                         java.lang.Object contentDesc)
                                                  throws org.objectweb.fractal.api.factory.InstantiationException
Specified by:
newFcInstance in interface org.objectweb.fractal.api.factory.GenericFactory
Throws:
org.objectweb.fractal.api.factory.InstantiationException

undeployFcComponentNotification

public void undeployFcComponentNotification(org.objectweb.fractal.api.Component cmp)
Description copied from interface: GenericInstallingFactoryNotification
Undeploys a given Component

Specified by:
undeployFcComponentNotification in interface GenericInstallingFactoryNotification
Parameters:
cmp - A Component to be undeployed

newFcInstanceNotification

public org.objectweb.fractal.api.Component newFcInstanceNotification(org.objectweb.fractal.api.Type type,
                                                                     java.lang.Object controllerDesc,
                                                                     java.lang.Object contentDesc,
                                                                     org.objectweb.fractal.deployment.local.api.PackageDescription packageDescription)
                                                              throws org.objectweb.fractal.api.factory.InstantiationException
Description copied from interface: GenericInstallingFactoryNotification
Creates a Component given its type, a description of its control part (membrane), description of its content part (implementation) and a description of a package in which all those can be found

Specified by:
newFcInstanceNotification in interface GenericInstallingFactoryNotification
Parameters:
type - The Type of the Component to be created
controllerDesc - A description of the controller part of a component. Implementation specific
contentDesc - A description of the content part of a component. Implementation specific
packageDescription - A description of the package containing the code of this component. Implementation specific
Throws:
org.objectweb.fractal.api.factory.InstantiationException

newFcInstanceNotification

public org.objectweb.fractal.api.Component newFcInstanceNotification(org.objectweb.fractal.api.Type type,
                                                                     java.lang.Object controllerDesc,
                                                                     java.lang.Object contentDesc)
                                                              throws org.objectweb.fractal.api.factory.InstantiationException
Description copied from interface: GenericFactoryNotification
Creates a component.

Specified by:
newFcInstanceNotification in interface GenericFactoryNotification
Parameters:
type - an arbitrary component type.
controllerDesc - a description of the controller part of the component to be created. This description is implementation specific. If it is null then a "default" controller part will be used.
contentDesc - a description of the content part of the component to be created. This description is implementation specific. It may be null to create component with an empty initial content. It may also be, in Java, the fully qualified name of a Java class, to create primitive components.
Returns:
the Component interface of the created component.
Throws:
org.objectweb.fractal.api.factory.InstantiationException - if the component cannot be created.

_super_newFcInstance

public abstract org.objectweb.fractal.api.Component _super_newFcInstance(org.objectweb.fractal.api.Type type,
                                                                         java.lang.Object controllerDesc,
                                                                         java.lang.Object contentDesc)
                                                                  throws org.objectweb.fractal.api.factory.InstantiationException
The newFcInstance method overriden by this mixin.

Parameters:
type - an arbitrary component type.
controllerDesc - a description of the controller part of the component to be created. This description is implementation specific. If it is null then a "default" controller part will be used.
contentDesc - a description of the content part of the component to be created. This description is implementation specific. It may be null to create component with an empty initial content. It may also be, in Java, the fully qualified name of a Java class, to create primitive components.
Returns:
the Component interface of the created component.
Throws:
org.objectweb.fractal.api.factory.InstantiationException - if the component cannot be created.

_super_newFcInstance

public abstract org.objectweb.fractal.api.Component _super_newFcInstance(org.objectweb.fractal.api.Type type,
                                                                         java.lang.Object controllerDesc,
                                                                         java.lang.Object contentDesc,
                                                                         org.objectweb.fractal.deployment.local.api.PackageDescription pkg)
                                                                  throws org.objectweb.fractal.api.factory.InstantiationException
Throws:
org.objectweb.fractal.api.factory.InstantiationException

_super_undeployFcComponent

public abstract void _super_undeployFcComponent(org.objectweb.fractal.api.Component component)

_super_initFcController

public abstract void _super_initFcController(org.objectweb.fractal.julia.InitializationContext ic)
                                      throws org.objectweb.fractal.api.factory.InstantiationException
Throws:
org.objectweb.fractal.api.factory.InstantiationException


Copyright © 2008 OW2 Consortium. All Rights Reserved.