org.aspectj.weaver.patterns
Class DeclareSoft

java.lang.Object
  extended by org.aspectj.weaver.patterns.PatternNode
      extended by org.aspectj.weaver.patterns.Declare
          extended by org.aspectj.weaver.patterns.DeclareSoft
All Implemented Interfaces:
IHasPosition, IHasSourceLocation

public class DeclareSoft
extends Declare


Field Summary
 
Fields inherited from class org.aspectj.weaver.patterns.Declare
ANNOTATION, DOMINATES, ERROR_OR_WARNING, PARENTS, PARENTSMIXIN, SOFT, TYPE_ERROR_OR_WARNING
 
Fields inherited from class org.aspectj.weaver.patterns.PatternNode
end, sourceContext, start
 
Constructor Summary
DeclareSoft(TypePattern exception, Pointcut pointcut)
           
 
Method Summary
 java.lang.Object accept(PatternNodeVisitor visitor, java.lang.Object data)
           
 boolean equals(java.lang.Object other)
           
 TypePattern getException()
           
 java.lang.String getNameSuffix()
          Declares have methods in the .class file against which info can be stored (for example, the annotation in the case of declare annotation).
 Pointcut getPointcut()
           
 int hashCode()
           
 boolean isAdviceLike()
          Indicates if this declare should be treated like advice.
 Declare parameterizeWith(java.util.Map typeVariableBindingMap, World w)
          Returns a version of this declare element in which all references to type variables are replaced with their bindings given in the map.
static Declare read(VersionedDataInputStream s, ISourceContext context)
           
 void resolve(IScope scope)
          Returns this declare mutated
 java.lang.String toString()
           
 void write(CompressingDataOutputStream s)
           
 
Methods inherited from class org.aspectj.weaver.patterns.Declare
getDeclaringType, setDeclaringType
 
Methods inherited from class org.aspectj.weaver.patterns.PatternNode
copyLocationFrom, getEnd, getFileName, getSourceContext, getSourceLocation, getStart, readLocation, setLocation, traverse, writeLocation
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

DeclareSoft

public DeclareSoft(TypePattern exception,
                   Pointcut pointcut)
Method Detail

accept

public java.lang.Object accept(PatternNodeVisitor visitor,
                               java.lang.Object data)
Specified by:
accept in class PatternNode

parameterizeWith

public Declare parameterizeWith(java.util.Map typeVariableBindingMap,
                                World w)
Description copied from class: Declare
Returns a version of this declare element in which all references to type variables are replaced with their bindings given in the map.

Specified by:
parameterizeWith in class Declare

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

equals

public boolean equals(java.lang.Object other)
Overrides:
equals in class java.lang.Object

hashCode

public int hashCode()
Overrides:
hashCode in class java.lang.Object

write

public void write(CompressingDataOutputStream s)
           throws java.io.IOException
Specified by:
write in class PatternNode
Throws:
java.io.IOException

read

public static Declare read(VersionedDataInputStream s,
                           ISourceContext context)
                    throws java.io.IOException
Throws:
java.io.IOException

getPointcut

public Pointcut getPointcut()

getException

public TypePattern getException()

resolve

public void resolve(IScope scope)
Description copied from class: Declare
Returns this declare mutated

Specified by:
resolve in class Declare

isAdviceLike

public boolean isAdviceLike()
Description copied from class: Declare
Indicates if this declare should be treated like advice. If true, the declare will have no effect in an abstract aspect. It will be inherited by any concrete aspects and will have an effect for each concrete aspect it is ultimately inherited by.

Specified by:
isAdviceLike in class Declare

getNameSuffix

public java.lang.String getNameSuffix()
Description copied from class: Declare
Declares have methods in the .class file against which info can be stored (for example, the annotation in the case of declare annotation). The name is of the form ajc$declare_XXX_NNN where XXX can optionally be set in this 'getNameSuffix()' method - depending on whether, at weave time, we want to easily differentiate between the declare methods.

Specified by:
getNameSuffix in class Declare