[forge-dev] Persistence Model Generator

Lincoln Baxter, III lincolnbaxter at gmail.com
Thu Jul 7 10:08:21 EDT 2011


Forgive me for asking something I could easily google, but where do
annotation processors fit into the development lifecycle? I admit I've never
used one (that I know of.) It would probably help if I did before giving too
much feedback ;)

~Lincoln

On Thu, Jul 7, 2011 at 9:12 AM, Ken Finnigan <ken at kenfinnigan.me> wrote:

> Ok, part way through writing this email I realized it probably makes some
> sense to break it down a bit more.
>
> Now I'm thinking we need an AnnotationProcessor interface with methods
> like:
>
> String getClassName()
> String getOptions()
> String getSourceDirectory()
> String getOutputDirectory()
> List<Dependency> getDependencies()
>
>
> Then the AnnotationProcessorFacet methods would be:
>
> addAnnotationProcessor(AnnotationProcessor processor)
> removeAnnotationProcessor(AnnotationProcessor processor)
> List<AnnotationProcessor> getAnnotationProcessors()
> processAnnotations()
> processAnnotation(AnnotationProcessor processor)
>
> That's some real thinking on the fly so any other thoughts/enhancements are
> most welcome!
>
> Ken
>
>
>
> On Wed, Jul 6, 2011 at 5:04 PM, Lincoln Baxter, III <
> lincolnbaxter at gmail.com> wrote:
>
>> Hmm,
>>
>> Good questions. I think #2 would probably be the easiest, but we could
>> offer #1 as an alternative for those who don't want to use the maven build
>> plugin.
>>
>> I think #3 would probably be the most robust for future use. What kinds of
>> methods are you thinking of including for the facet?
>>
>> ~Lincoln
>>
>>
>> On Sun, Jul 3, 2011 at 3:41 PM, Ken Finnigan <ken at kenfinnigan.me> wrote:
>>
>>> Hey Lincoln,
>>>
>>> Have been working on adding JPA model generation to the persistence
>>> plugin over the last few days and have been mulling over the best way to
>>> implement it and wanted to get your thoughts.
>>>
>>> I see that there are a few possibilities:
>>>
>>> 1) Call the NativeMethodExec utility to call javac for running annotation
>>> processing only.
>>> 2) Add an annotation processing profile to the pom as part of the install
>>> of the plugin (if they select they want model gen), and then performing the
>>> model gen would execute the maven to process and generate annotations
>>> 3) An extension of 2 would be to make an AnnotationProcessorFacet, and
>>> then do 2 as a Maven implementation of that facet.
>>>
>>> After thinking about it today I think 3 seems the most flexible, but
>>> wanted to get your thoughts.
>>>
>>> Thanks
>>> Ken
>>>
>>
>>
>>
>> --
>> Lincoln Baxter, III
>> http://ocpsoft.com
>> http://scrumshark.com
>> "Keep it Simple"
>>
>
>


-- 
Lincoln Baxter, III
http://ocpsoft.com
http://scrumshark.com
"Keep it Simple"
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/forge-dev/attachments/20110707/cd38d9b4/attachment.html 


More information about the forge-dev mailing list