Search in sources :

Example 1 with InstrumentEditorPlugin

use of blue.plugin.InstrumentEditorPlugin in project blue by kunstmusik.

the class InstrumentEditorPluginProcessor method handleProcess.

@Override
protected boolean handleProcess(Set<? extends TypeElement> set, RoundEnvironment env) throws LayerGenerationException {
    Elements elements = processingEnv.getElementUtils();
    for (Element e : env.getElementsAnnotatedWith(InstrumentEditorPlugin.class)) {
        TypeElement clazz = (TypeElement) e;
        InstrumentEditorPlugin instrumentEditorPlugin = clazz.getAnnotation(InstrumentEditorPlugin.class);
        String teName = elements.getBinaryName(clazz).toString();
        File f = layer(e).file("blue/instrumentEditors/" + teName.replace('.', '-') + ".instance");
        TypeMirror tm = null;
        try {
            instrumentEditorPlugin.instrumentType();
        } catch (MirroredTypeException mte) {
            tm = mte.getTypeMirror();
        }
        f.stringvalue("instrumentType", tm.toString());
        f.write();
    }
    return true;
}
Also used : MirroredTypeException(javax.lang.model.type.MirroredTypeException) InstrumentEditorPlugin(blue.plugin.InstrumentEditorPlugin) TypeMirror(javax.lang.model.type.TypeMirror) TypeElement(javax.lang.model.element.TypeElement) Element(javax.lang.model.element.Element) TypeElement(javax.lang.model.element.TypeElement) Elements(javax.lang.model.util.Elements) File(org.openide.filesystems.annotations.LayerBuilder.File)

Aggregations

InstrumentEditorPlugin (blue.plugin.InstrumentEditorPlugin)1 Element (javax.lang.model.element.Element)1 TypeElement (javax.lang.model.element.TypeElement)1 MirroredTypeException (javax.lang.model.type.MirroredTypeException)1 TypeMirror (javax.lang.model.type.TypeMirror)1 Elements (javax.lang.model.util.Elements)1 File (org.openide.filesystems.annotations.LayerBuilder.File)1