[
https://issues.apache.org/jira/browse/JDO-591?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12649628#action_12649628
]
Andy Jefferson commented on JDO-591:
------------------------------------
Agree with setClassLoader(), use of varargs, and chaining methods (so all
setters return the JDOEnhancer) from Ilan.
Another usecase that is required is the dynamic construction of classes in
memory (in a custom class loader). These then need enhancing. The user
typically has the "byte[]" of the class and so we need something pertaining to
byte[] enhanceClass(byte[])
taking in the original bytecode and returning the modified bytecode. In this
case it wouldn't be expected to save to disk the enhanced class.
> 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.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.