Package org.objectweb.fractal.api.type
Specifies a basic type system for components and component interfaces.
See:
Description
Package org.objectweb.fractal.api.type Description
Specifies a basic type system for components and component interfaces.
According to this type system, a component type is just a collection of
component interface types, which describes the interfaces that components of
this type must or may have at runtime. A component type describes explicitely
the external interfaces of a component and, implicitely, its internal
interfaces. Indeed, if the type of a component c is of the following
form:
- s1 , I1 , server, mandatory, singleton,
- s2 , I2 , server, optional, collection,
- s3-controller , I3 , server, mandatory, singleton,
- ...,
- c1 , J1 , client, mandatory, singleton,
- c2 , J2 , client, optional, collection,
- ...
Then this component:
- must provide a server interface s1 of type I1,
- may provide several server interfaces s2XYZ of type I2 (but
no server interface of name s2 exactly),
- must provide a server interface s3-controller of type
I3,
- ...,
- must have a client interface c1 of type J1,
- may have several client interfaces c2XYZ of type J2 (but
no client interface of name c2 exactly),
- ...
Futhermore, if this component provides access to its content, then it:
- must have an internal client interface s1 of type I1,
- may have several internal client interfaces s2XYZ of type
I2 (but no internal client interface of name s2
exactly),
- ...,
- must provide an internal server interface c1 of type
J1,
- may provide several internal server interfaces c2XYZ of type
J2 (but no internal server interface of name c2
exactly),
- ...
Moreover, each internal interface must have a corresponding external interface
of the same name (but the converse is not necessarily true). The figure below
illustrates these definitions.
Figure: a sample "instance" of the above type.
- Since:
- Fractal 0.8.0