@ Override public boolean process ( Set < ? extends TypeElement > elements , RoundEnvironment environment ) { Messager messager = processingEnv . getMessager ( ) ; for ( TypeElement element : elements ) { Set < ? extends Element > elementsAnnotatedWith = environment . getElementsAnnotatedWith ( element ) ; for ( Element elementAnnotatedWith : elementsAnnotatedWith ) { TypeElement typeElement = ( TypeElement ) elementAnnotatedWith ; EntityValidator validator = new EntityValidator ( processingEnv . getTypeUtils ( ) ) ; List < Problem > problems = validator . validate ( typeElement ) ; // for (Problem problem : problems) { // System.out.println(problem); // } boolean error = false ; for ( Problem problem : problems ) { if ( problem . kind ( ) == Kind . ERROR ) { error = true ; } messager . printMessage ( problem . kind ( ) , problem . message ( ) , problem . element ( ) ) ; } if ( ! error ) { MetamodelSource source = new MetamodelSource ( typeElement , processingEnv ) ; try { source . save ( ) ; } catch ( Exception e ) { messager . printMessage ( Kind . ERROR , "Metamodel [" + source . toMetamodelName ( typeElement . getQualifiedName ( ) . toString ( ) ) + "] cannot be saved due to [" + e + "]" , typeElement ) ; e . printStackTrace ( ) ; } } } } return true ; }
Generates metamodel Java source file of the specified Acid House entity class representations .