Consider the following annotation:

@Target(TYPE)
@Retention(RUNTIME)
public @interface Persistable {

        StoreType in() default StoreType.MONGO;

        IdType id() default IdType.STRING;
}

I'm attempting to match a type pattern in a declare parents based on
the id() property of the annotation:

        declare parents :
        (@Persistable(id=IdType.LONG) *)
        implements L;

        declare parents :
        (@Persistable(id=IdType.STRING) *)
        implements S;

These aren't matching successfully.  However, if I change the
annotation to use Strings instead (like the following), the matching
starts working.

@Target(TYPE)
@Retention(RUNTIME)
public @interface Persistable {

        String in() default "MONGO";

        String id() default "STRING";
}
=====
        declare parents :
        (@Persistable(id="LONG") *)
        implements L;

        declare parents :
        (@Persistable(id="STRING") *)
        implements S;

Interestingly, if I create psf Strings for the values in the
annotation type and try to use those, like I show below, it fails to
match again.

@Target(TYPE)
@Retention(RUNTIME)
@Trait
public @interface Persistable {

        public static final String MONGO = "MONGO";
        public static final String JPA = "JPA";
        public static final String JDO = "JDO";

        public static final String STRING = "STRING";
        public static final String LONG = "LONG";

        String in() default "MONGO";

        String id() default "STRING";
}
=====
        declare parents :
        (@Persistable(id=Persistable.LONG) *)
        implements L;

        declare parents :
        (@Persistable(id=Persistable.STRING) *)
        implements S;

The same is true if I move the psf Strings to an interface as well.

Am I doing something wrong?

-matthew
-- 
mailto:matt...@matthewadams.me
skype:matthewadams12
googletalk:matt...@matthewadams.me
http://matthewadams.me
http://www.linkedin.com/in/matthewadams
_______________________________________________
aspectj-users mailing list
aspectj-users@eclipse.org
https://dev.eclipse.org/mailman/listinfo/aspectj-users

Reply via email to