in src/main/java/com/amazonaws/eclipse/simpleworkflow/asynchrony/annotationprocessor/AsynchronyDeciderAnnotationProcessor.java [95:129]
private void processActivities(final Element activities) {
DeclaredType activitiesAnnotationType = ProcessorUtils.getDeclaredType(processingEnv,
ProcessorConstants.ACTIVITIES_ANNOTATION_TYPE_CLASS_NAME);
com.amazonaws.eclipse.simpleworkflow.asynchrony.objectmodel.Activities activitiesDefinition = ProcessorUtils.getActivitiesModel(
processingEnv, (TypeElement) activities, activitiesAnnotationType, annotationsToExcludeFromCopying);
String packageName = processingEnv.getElementUtils().getPackageOf(activities).getQualifiedName().toString();
SourceFileCreator fileCreator = new SourceFileCreator() {
//@Override
public PrintWriter createSourceFile(String packageName, String className) {
OutputStream fileStream = null;
try {
JavaFileObject sourceFile = processingEnv.getFiler().createSourceFile(packageName + "." + className,
activities);
fileStream = sourceFile.openOutputStream();
}
catch (IOException e) {
processingEnv.getMessager().printMessage(Kind.ERROR,
"Unable to generate target class for element [reason: " + e.toString() + "]", activities);
}
if (fileStream != null)
return new PrintWriter(fileStream);
return null;
}
};
ActivitiesCodeGenerator codeGenerator = new ActivitiesCodeGenerator(packageName, activities.getSimpleName().toString(),
activitiesDefinition, fileCreator);
codeGenerator.generateCode();
}