[jboss-dev-forums] [Design the new POJO MicroContainer] - Re: MutableClassInfo?

alesj do-not-reply at jboss.com
Wed Jan 14 07:18:47 EST 2009


"stale.pedersen at jboss.org" wrote : as we've stated in the aop design forum (and here) is that the current state of jboss-reflect is too limited for aop to use at all. a well designed MutableClassInfo can change that though. 
  | 
What about if we just added 'mutable' wrapper/delegate.
e.g. you would actually create your own ClassInfo impl based on existing JavassistCI:
Extra stuff would be held in this mutable wrapper/delegate.
When invoked, first check extra stuff if it exists, else delegate.

"stale.pedersen at jboss.org" wrote : 
  | - the possibility to create a classobjectrepresentation from a byte[]/File/Url
  | 
What exactly do you mean here?
e.g. ClassInfo ci = factory.getClassInfo(byte[]/File/Url); ?

"stale.pedersen at jboss.org" wrote : 
  | - be able to change/add/remove fields/methods/constructors/classes similiar to what javassist support
  | 
How do you do this in your prototype?
I guess a single place where you know the aop rules would be enough?
e.g. AOP impl of TypeInfoFactory overridding instantiate method

"stale.pedersen at jboss.org" wrote : 
  | - do finegrained operations/checks ala annotation visibility (which is only possible with javassist and not java.lang.reflect afaik)
  | 
Annotation visibility?

"stale.pedersen at jboss.org" wrote : 
  | - be able to get a classobjectrepresentations (ala ClassFile in javassist) from an existing ClassInfo object
  | 
Why?
This is/shoule be impl detail.

"stale.pedersen at jboss.org" wrote : 
  | - support scoped classpools
  | 
Yup.

Adrian, what would happen now if we used Javassist impl of TypeInfo?
Probably CtClass not found for some non 'default' classes?

View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4201729#4201729

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4201729



More information about the jboss-dev-forums mailing list