This is an old revision of the document!
Default additions
This section presents the default additions in .rgg files. WARNING This is not the case in .xl files
Annotation
This section should not be called annotation, (even though these are done thought annotation). But TODO later. The “annotation” part is developer part. But the value is modifiable from the user. (In the imaginary case where people would use groimp for a graph other than RGG graph. Or use another type of instantiation by default ).
→ select the default query model ( de.grogra.xl.query.UseModel) . value = de.grogra.rgg.model.Compiletime.class
→ select the default property ( de.grogra.xl.property.UseModel ) . type = Node.class, model = PropertyCompiletime.class
→ set the default super class type (DefaultModuleSuperclass ) . value = Node.class;
→ set the default instantiation producer ( InstantiationProducerType) . value = Instantiation.class
→ set additional compiler extensions ( UseExtension ). value = CompilerExtension.class.
→ use the implicit conversion from Double to FLoat
RGG scope
From the XL implementation, (as in Java) ALL files should have a class with their name. And methods cannot be defined outside of a class.
RGG files are different because they represent the CONTENT of a class (with the name of the file). That class extends RGG.
Class imports
Groimp enables to includes default imports in files when compiling them. These imports are defined in the registry under. /io/filter/xx where xx is the filter type to manage.
Currently only the rgg filter is modified, thus, all .rgg files are compiled with additional default imports.
The paths of default imports are :
/io/filter/rgg/packageimports: equivalent to import pckname.*, where pckname is the name of a java package (e.g. java.lang)./io/filter/rgg/singletypeimports: equivalent to import pck.ClassName, where pck.ClassName represent the complete name of a type (e.g. de.grogra.graph.impl.Node)./io/filter/rgg/statictypeimports: equivalent to import static pck.ClassName.
Overloaded operators
Some operators are overloaded by default.
