[ https://issues.apache.org/jira/browse/JDO-591?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12650018#action_12650018 ]
Andy Jefferson commented on JDO-591: ------------------------------------ The only problem with Ilan's chaining of class addition is that the requirement to enhance a class in-memory (supplied via bytes) would then not have a way of returning the updated bytes. So what we could do is have addPersistenceUnit(...); addClasses(...); addFiles(...); enhance(); and byte[] enhanceClass(String className, byte[] bytes); as distinct operations. Also propose a way of validating the enhancement state of classes, to work off the classes defined by the same add chaining mechanism above, then :- validate(); Validation errors should be thrown as a nested set of JDOEnhanceException, one per class with errors. The enhanceXXX()/validate() method(s) don't currently return any feedback on the number of classes enhanced. Change the return type to int to be the number of classes enhanced ? > Enhancer Invocation API > ----------------------- > > Key: JDO-591 > URL: https://issues.apache.org/jira/browse/JDO-591 > Project: JDO > Issue Type: New Feature > Components: api2 > Reporter: Andy Jefferson > Assignee: Andy Jefferson > Fix For: JDO 2 maintenance release 3 > > Attachments: jdoenhancer-2.patch > > > Having a standard interface to invoke the enhancer makes a lot of sense so we > can have interchangeability of enhancers (for implementations that support > BinaryCompatibility). > A start point (for discussions) could be > java -cp classpath {enhancer-class} [options] [jdo-files] [class-files] > where options can be > -persistenceUnit persistence-unit-name : Name of a "persistence-unit" > to enhance the classes for > -d target-dir-name : Write the enhanced classes to the specified > directory > -checkonly : Just check the classes for enhancement status > -v : verbose output > This then allows enhancement of the specified classes, or the classes defined > by the specified JDO files, or the classes defined by the specified > persistence-unit. > What other control would people like to see ? -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.