Klasse PrivilegedAccessMunger

java.lang.Object
org.aspectj.weaver.ResolvedTypeMunger
org.aspectj.weaver.PrivilegedAccessMunger
Bekannte direkte Unterklassen:
ExposeTypeMunger

public class PrivilegedAccessMunger extends ResolvedTypeMunger
A privileged access munger is for handling privileged access to a member. It determines the names of the getter/setter that will be used to access a private field in some type, or the special method that provides access to a private method. There are two syntax styles for field access, the older style was in use up to AspectJ 1.6.9 and involves long named getters and setters which include the requesting aspect and the target type. The short style syntax is use from AspectJ 1.6.9 onwards is simply 'ajc$get$<fieldname>' and 'ajc$set$<fieldname>' - as the requesting aspect isn't included in the name they can be shared across aspects.
  • Felddetails

    • shortSyntax

      public boolean shortSyntax
  • Konstruktordetails

    • PrivilegedAccessMunger

      public PrivilegedAccessMunger(ResolvedMember member, boolean shortSyntax)
  • Methodendetails

    • write

      public void write(CompressingDataOutputStream s) throws IOException
      Angegeben von:
      write in Klasse ResolvedTypeMunger
      Löst aus:
      IOException
    • getMember

      public ResolvedMember getMember()
    • getMatchingSyntheticMember

      public ResolvedMember getMatchingSyntheticMember(Member member, ResolvedType aspectType)
      Setzt außer Kraft:
      getMatchingSyntheticMember in Klasse ResolvedTypeMunger
    • equals

      public boolean equals(Object other)
      Setzt außer Kraft:
      equals in Klasse Object
    • hashCode

      public int hashCode()
      Setzt außer Kraft:
      hashCode in Klasse Object
    • existsToSupportShadowMunging

      public boolean existsToSupportShadowMunging()
      Beschreibung aus Klasse kopiert: ResolvedTypeMunger
      Some type mungers are created purely to help with the implementation of shadow mungers. For example to support the cflow() pointcut we create a new cflow field in the aspect, and that is added via a BcelCflowCounterFieldAdder. During compilation we need to compare sets of type mungers, and if some only come into existence after the 'shadowy' type things have been processed, we need to ignore them during the comparison. Returning true from this method indicates the type munger exists to support 'shadowy' stuff - and so can be ignored in some comparison.
      Setzt außer Kraft:
      existsToSupportShadowMunging in Klasse ResolvedTypeMunger