jasco.tools.aspectparser
Class AspectClassesGenerator

java.lang.Object
  extended by jasco.tools.aspectparser.AspectClassesGenerator

public class AspectClassesGenerator
extends java.lang.Object


Field Summary
static java.lang.String ADVICE_ANNOTATION
           
static java.lang.String ANNOTATION_ANNOTATION
           
static java.lang.String CONST_args
           
static java.lang.String CONST_proceed
           
static java.lang.String CONST_thisJoinPoint
           
static java.lang.String CONST_thisJoinPointObject
           
static java.lang.String CONSTRUCTOR_ARGS
           
static java.lang.String CONSTRUCTOR_REP
           
static java.lang.String GET_CONSTRUCTOR_REP
           
static java.lang.String GET_TRIGGERING_BINDING
           
static java.lang.String HOOKCONTEXTPROP
           
static java.lang.String LOCAL_CONSTRUCTOR_REP
           
static java.lang.String MULTIPLE_ELEMENTS
           
static java.lang.String REFINABLE_ANNOTATION
           
static java.lang.String VARTEMP_thisJoinPoint
           
 
Constructor Summary
AspectClassesGenerator(PAspect aAspect)
           
 
Method Summary
protected  void addAll(java.util.Collection c, java.util.Iterator args)
           
protected  void addAll(java.util.Collection c, java.lang.Object[] args)
           
protected  void addJPVars(java.util.Vector advices, PCutpoint hook, ClassGenerator cpClass)
           
protected  int checkAccessor(java.lang.String s)
           
static void checkFirstTypeTJP(PMethod m)
           
protected  boolean checkUse(MethodGenerator advice, java.lang.String argname, java.lang.String argtype)
           
protected  java.lang.String findCalledMethod(PCutpointConstructorApplicationDesignator d)
           
 void generate()
           
 void generateAspect()
           
 void generateCutpoint(PCutpoint aCutpoint)
           
 void generateCutpoints()
           
protected  void generateDummyHooks(java.util.Vector hooks)
           
protected  void generateImpl()
           
protected  boolean getConstructorMethodArguments(PCutpoint hook, java.util.Vector names, java.util.Vector types, java.util.Vector annotations, java.lang.StringBuffer returnType)
           
 java.util.Iterator getLastErrors()
           
static java.lang.String getMethodNameForLocalHookContextProperty(ClassGenerator cutpointClass)
           
static java.lang.String getMethodNameForLocalHookContextProperty(java.lang.String classname)
           
protected  java.lang.String getPrimitiveType(java.lang.String type)
           
protected  java.util.Vector getRefinableMethods()
           
protected  void insertTJForRefinableCalls(java.util.Vector advices, ClassGenerator cg)
           
static boolean isMultipleElements(java.lang.String s)
           
static java.lang.String makePrimitive(java.lang.String aClass, java.lang.String aObject)
           
static java.lang.String makePrimitiveObject(java.lang.String aClass, java.lang.String aObject)
           
protected static void newParseException(java.lang.String message, int lineo)
           
protected  void processCarmaPointcut(PCutpoint cp)
           
protected  void processRefinableMethod(MethodGenerator method, ClassGenerator cutpointClass, PCutpoint cp)
           
 boolean requiresPerInstanceConstructorRep(PCutpoint aCutpoint)
           
protected  void transformCutpoints()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

CONSTRUCTOR_ARGS

public static final java.lang.String CONSTRUCTOR_ARGS
See Also:
Constant Field Values

CONSTRUCTOR_REP

public static final java.lang.String CONSTRUCTOR_REP
See Also:
Constant Field Values

GET_CONSTRUCTOR_REP

public static final java.lang.String GET_CONSTRUCTOR_REP
See Also:
Constant Field Values

LOCAL_CONSTRUCTOR_REP

public static final java.lang.String LOCAL_CONSTRUCTOR_REP
See Also:
Constant Field Values

HOOKCONTEXTPROP

public static final java.lang.String HOOKCONTEXTPROP
See Also:
Constant Field Values

MULTIPLE_ELEMENTS

public static final java.lang.String MULTIPLE_ELEMENTS
See Also:
Constant Field Values

CONST_thisJoinPoint

public static final java.lang.String CONST_thisJoinPoint
See Also:
Constant Field Values

VARTEMP_thisJoinPoint

public static final java.lang.String VARTEMP_thisJoinPoint
See Also:
Constant Field Values

CONST_thisJoinPointObject

public static final java.lang.String CONST_thisJoinPointObject
See Also:
Constant Field Values

CONST_proceed

public static final java.lang.String CONST_proceed
See Also:
Constant Field Values

CONST_args

public static final java.lang.String CONST_args
See Also:
Constant Field Values

ADVICE_ANNOTATION

public static final java.lang.String ADVICE_ANNOTATION
See Also:
Constant Field Values

REFINABLE_ANNOTATION

public static final java.lang.String REFINABLE_ANNOTATION
See Also:
Constant Field Values

ANNOTATION_ANNOTATION

public static final java.lang.String ANNOTATION_ANNOTATION
See Also:
Constant Field Values

GET_TRIGGERING_BINDING

public static final java.lang.String GET_TRIGGERING_BINDING
See Also:
Constant Field Values
Constructor Detail

AspectClassesGenerator

public AspectClassesGenerator(PAspect aAspect)
Method Detail

generate

public void generate()

generateImpl

protected void generateImpl()

getLastErrors

public java.util.Iterator getLastErrors()

generateAspect

public void generateAspect()

generateDummyHooks

protected void generateDummyHooks(java.util.Vector hooks)

generateCutpoints

public void generateCutpoints()

transformCutpoints

protected void transformCutpoints()

generateCutpoint

public void generateCutpoint(PCutpoint aCutpoint)

isMultipleElements

public static boolean isMultipleElements(java.lang.String s)

requiresPerInstanceConstructorRep

public boolean requiresPerInstanceConstructorRep(PCutpoint aCutpoint)

checkAccessor

protected int checkAccessor(java.lang.String s)

checkFirstTypeTJP

public static void checkFirstTypeTJP(PMethod m)
Parameters:
m -

processRefinableMethod

protected void processRefinableMethod(MethodGenerator method,
                                      ClassGenerator cutpointClass,
                                      PCutpoint cp)

newParseException

protected static void newParseException(java.lang.String message,
                                        int lineo)

processCarmaPointcut

protected void processCarmaPointcut(PCutpoint cp)

makePrimitiveObject

public static java.lang.String makePrimitiveObject(java.lang.String aClass,
                                                   java.lang.String aObject)

makePrimitive

public static final java.lang.String makePrimitive(java.lang.String aClass,
                                                   java.lang.String aObject)

addAll

protected void addAll(java.util.Collection c,
                      java.lang.Object[] args)

addAll

protected void addAll(java.util.Collection c,
                      java.util.Iterator args)

getConstructorMethodArguments

protected boolean getConstructorMethodArguments(PCutpoint hook,
                                                java.util.Vector names,
                                                java.util.Vector types,
                                                java.util.Vector annotations,
                                                java.lang.StringBuffer returnType)

insertTJForRefinableCalls

protected void insertTJForRefinableCalls(java.util.Vector advices,
                                         ClassGenerator cg)

getRefinableMethods

protected java.util.Vector getRefinableMethods()

addJPVars

protected void addJPVars(java.util.Vector advices,
                         PCutpoint hook,
                         ClassGenerator cpClass)

checkUse

protected boolean checkUse(MethodGenerator advice,
                           java.lang.String argname,
                           java.lang.String argtype)

findCalledMethod

protected java.lang.String findCalledMethod(PCutpointConstructorApplicationDesignator d)

getMethodNameForLocalHookContextProperty

public static java.lang.String getMethodNameForLocalHookContextProperty(java.lang.String classname)

getMethodNameForLocalHookContextProperty

public static java.lang.String getMethodNameForLocalHookContextProperty(ClassGenerator cutpointClass)

getPrimitiveType

protected java.lang.String getPrimitiveType(java.lang.String type)