[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
RE: [aspectj-users] access properties from class

Gerado,

The problem you are having without exactly knowing the log4j class is that the method you are trying execute is protected or private.  You need to make you aspect privileged.  

So your declaration whould be:

    public privileged aspect xPatternParser

See the following in the aspectj documentation:

http://www.eclipse.org/aspectj/doc/released/progguide/semantics-aspects.html#aspect-privilege

Ron


-----Original Message-----
From: aspectj-users-bounces@xxxxxxxxxxx on behalf of Gerardo
Sent: Tue 5/9/2006 7:44 PM
To: aspectj-users@xxxxxxxxxxx
Subject: [aspectj-users] access properties from class
 
Hi all,
how can I access properties defined inside a class into which an aspect 
is inserted?
I'm trying to extend the log4j PatternParser so it recognizes custom 
conversion characters,

1:   public aspect xPatternParser {  
2:
3:   void around(PatternParser pp, char c):
4:         all(void finalizeConverter(char))  && target(pp) && args(c)
5:   {
6:       if(c=='i')
7:           pp.addConverter(new IPConverter(formattingInfo)) ;
8:       else
9:           proceed(pp,c) ;
10:   }
11:
12:   private class IPConverter extends PatternConverter {
13:  
14:      IPConverter(FormattingInfo formattingInfo) {
15:         super(formattingInfo);
16:      }
17:
18:      public String convert(LoggingEvent event) {
19:        return event.getIP() ;
20:      }
21:  }
22:       
23:}

in line 7 I tried to access a property and method I know PatternParser 
has but two errors ocurr:

7: [error] The method addConverter(PatternConverter) from the type 
PatternParser is not visible
pp.addConverter(new IPConverter(formattingInfo)) ;
     ^^^^^^^^
7: [error] formattingInfo cannot be resolved
pp.addConverter(new IPConverter(formattingInfo)) ;
                                                        ^^^^^^^^^^

so how can I access properties from the class I'm trying to extend?

regards,
Gerardo


_______________________________________________
aspectj-users mailing list
aspectj-users@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/aspectj-users