org.objectweb.fractal.fraclet.annotation
Annotation Type Provides


public @interface Provides

An annotation to manage the particular case where a Fractal component uses one or several Java interface imported from a jar. For instance, java.lang.Runnable, which is regularly used in AOKell and Julia to bootstrap a Fractal application.

This annotation encapsulates an array of the @Interface annotation.

For example if your are annotating a content class which implements 3 interfaces and the java.lang.Runnable interface. And if the interface A is provided into a jar files, so you cannot annotate this interface, you may annotate your class as follows:

 @FractalComponent
 @Provides( 
          interfaces={
                @Interface("r", signature="java.lang.Runnable"),
                @Interface("a",signature="A")
          }
 )
 public class MyContentClass implements A,B,C,Runnable {
 (...) 
 }
 

This way the @FractalComponent annotation will look after your interfaces B, and C which are interfaces that you provide with annotations, and the @Provides will look after your interfaces A and java.lang.Runnable.

Author:
Nicolas Pessemier

Required Element Summary
 Interface[] interfaces
          The list of annotations @Interface to declare
 

Element Detail

interfaces

public abstract Interface[] interfaces
The list of annotations @Interface to declare