Default additions
Every new RGG file also imports by default a set of library functions that are used to interact with the graph or the GroIMP platform. This functions can be explored in the function explorer in the software. You can find it on the main menu under 'Help/Function Browser'.
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.
