[shrinkwrap-issues] [JBoss JIRA] (SHRINKDESC-33) Descriptors API forces classloading for configuration

Michal Matloka (JIRA) jira-events at lists.jboss.org
Wed Dec 5 04:09:21 EST 2012


     [ https://issues.jboss.org/browse/SHRINKDESC-33?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Michal Matloka updated SHRINKDESC-33:
-------------------------------------

    Description: 
The beans descriptor contains methods for specifying various interceptors, decorators, and alternatives, but requires that the Class<?> instance for said artifacts be provided to the API. This is not practical because it requires that the target classes be Classloaded in order for descriptor alteration to take place.

Descriptor APIs should accept String values wherever a qualified Class name is required by the descriptor. It should not be assumed that the class instance is available:

{noformat}
public interface BeansDescriptor extends Descriptor
{
   BeansDescriptor interceptors(String... classes);

   BeansDescriptor interceptor(String clazz);

   BeansDescriptor decorators(String... classes);

   BeansDescriptor decorator(String clazz);

   BeansDescriptor alternativeClasses(String... classes);

   BeansDescriptor alternativeClass(String clazz);

   BeansDescriptor alternativeStereotypes(String... annotations);

   BeansDescriptor alternativeStereotype(String clazz);


   BeansDescriptor interceptors(Class<?>... classes);

   BeansDescriptor interceptor(Class<?> clazz);

   BeansDescriptor decorators(Class<?>... classes);

   BeansDescriptor decorator(Class<?> clazz);

   BeansDescriptor alternativeClasses(Class<?>... classes);

   BeansDescriptor alternativeClass(Class<?> clazz);

   BeansDescriptor alternativeStereotypes(Class<? extends Annotation>... annotations);

   BeansDescriptor alternativeStereotype(Class<? extends Annotation> clazz);

}
{noformat}

  was:
The beans descriptor contains methods for specifying various interceptors, decorators, and alternatives, but requires that the Class<?> instance for said artifacts be provided to the API. This is not practical because it requires that the target classes be Classloaded in order for descriptor alteration to take place.

Descriptor APIs should accept String values wherever a qualified Class name is required by the descriptor. It should not be assumed that the class instance is available:


public interface BeansDescriptor extends Descriptor
{
   BeansDescriptor interceptors(String... classes);

   BeansDescriptor interceptor(String clazz);

   BeansDescriptor decorators(String... classes);

   BeansDescriptor decorator(String clazz);

   BeansDescriptor alternativeClasses(String... classes);

   BeansDescriptor alternativeClass(String clazz);

   BeansDescriptor alternativeStereotypes(String... annotations);

   BeansDescriptor alternativeStereotype(String clazz);


   BeansDescriptor interceptors(Class<?>... classes);

   BeansDescriptor interceptor(Class<?> clazz);

   BeansDescriptor decorators(Class<?>... classes);

   BeansDescriptor decorator(Class<?> clazz);

   BeansDescriptor alternativeClasses(Class<?>... classes);

   BeansDescriptor alternativeClass(Class<?> clazz);

   BeansDescriptor alternativeStereotypes(Class<? extends Annotation>... annotations);

   BeansDescriptor alternativeStereotype(Class<? extends Annotation> clazz);

}


    
> Descriptors API forces classloading for configuration
> -----------------------------------------------------
>
>                 Key: SHRINKDESC-33
>                 URL: https://issues.jboss.org/browse/SHRINKDESC-33
>             Project: ShrinkWrap Descriptors
>          Issue Type: Enhancement
>          Components: api
>    Affects Versions: 0.1.0
>            Reporter: Lincoln Baxter III
>
> The beans descriptor contains methods for specifying various interceptors, decorators, and alternatives, but requires that the Class<?> instance for said artifacts be provided to the API. This is not practical because it requires that the target classes be Classloaded in order for descriptor alteration to take place.
> Descriptor APIs should accept String values wherever a qualified Class name is required by the descriptor. It should not be assumed that the class instance is available:
> {noformat}
> public interface BeansDescriptor extends Descriptor
> {
>    BeansDescriptor interceptors(String... classes);
>    BeansDescriptor interceptor(String clazz);
>    BeansDescriptor decorators(String... classes);
>    BeansDescriptor decorator(String clazz);
>    BeansDescriptor alternativeClasses(String... classes);
>    BeansDescriptor alternativeClass(String clazz);
>    BeansDescriptor alternativeStereotypes(String... annotations);
>    BeansDescriptor alternativeStereotype(String clazz);
>    BeansDescriptor interceptors(Class<?>... classes);
>    BeansDescriptor interceptor(Class<?> clazz);
>    BeansDescriptor decorators(Class<?>... classes);
>    BeansDescriptor decorator(Class<?> clazz);
>    BeansDescriptor alternativeClasses(Class<?>... classes);
>    BeansDescriptor alternativeClass(Class<?> clazz);
>    BeansDescriptor alternativeStereotypes(Class<? extends Annotation>... annotations);
>    BeansDescriptor alternativeStereotype(Class<? extends Annotation> clazz);
> }
> {noformat}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


More information about the shrinkwrap-issues mailing list