use of me.panavtec.coordinator.compiler.model.MappedCoordinator in project Coordinator-java by PaNaVTEC.
the class CoordinatorProcessor method processAnnotations.
public Collection<EnclosingCoordinator> processAnnotations(RoundEnvironment roundEnv) {
Collection<EnclosingCoordinator> enclosings = processCoordinators(roundEnv);
List<MappedCompleteCoordinator> complete = processComplete(roundEnv);
List<MappedCoordinatedAction> actions = processCoordinatedActions(roundEnv);
for (EnclosingCoordinator enclosing : enclosings) {
for (MappedCoordinator coordinator : enclosing.getCoordinators()) {
assignAction(actions, enclosing, coordinator);
assignCompleteAction(complete, enclosing, coordinator);
}
checkForCompleteErrors(enclosing);
}
return enclosings;
}
use of me.panavtec.coordinator.compiler.model.MappedCoordinator in project Coordinator-java by PaNaVTEC.
the class EnclosingCoordinatorProcessor method processActionsOfCoordinator.
private MappedCoordinator processActionsOfCoordinator(Element e) {
Actions mappedAnnotation = annotationForElement(e);
MappedCoordinator mappedCoordinator = new MappedCoordinator();
mappedCoordinator.setActions(mappedAnnotation.value());
mappedCoordinator.setCoordinatorId(mappedAnnotation.coordinatorId());
mappedCoordinator.setCoordinatorField(elementTools.getFieldName(e));
return mappedCoordinator;
}
use of me.panavtec.coordinator.compiler.model.MappedCoordinator in project Coordinator-java by PaNaVTEC.
the class CoordinatorWriter method writeInstantation.
private void writeInstantation(Filer filer, EnclosingCoordinator parent) throws IOException {
List<MappedCoordinator> coordinators = parent.getCoordinators();
MethodSpec.Builder methodBuilder = createMetod(parent);
for (MappedCoordinator coordinator : coordinators) {
addNewCoordinatorStatement(methodBuilder, coordinator);
addCompleteActions(methodBuilder, coordinator);
}
TypeSpec coordinateInjectorClass = createInjectClass(parent, methodBuilder.build());
JavaFile.builder(parent.getPackageName(), coordinateInjectorClass).addFileComment("Do not modify this file!").build().writeTo(filer);
}
Aggregations