jasco.runtime.cache
Class CombinedHooksFactory
java.lang.Object
jasco.runtime.cache.CombinedHooksFactory
- Direct Known Subclasses:
- InlineJutta
public class CombinedHooksFactory
- extends java.lang.Object
Method Summary |
protected java.lang.String |
accessField(java.lang.String field)
|
protected java.lang.String |
accessFieldHook(HookElement hook)
|
protected java.lang.String |
accessFieldHook(HookElement hook,
boolean forConstructor)
|
protected void |
addCachedResult(CachedAspectRep rep,
CombinedHooks hooks)
|
protected void |
addField(java.lang.String f,
javassist.CtClass clz)
|
protected void |
addFieldImpl(java.lang.String f,
javassist.CtClass clz)
|
protected java.lang.String |
castAdviceArgs(java.lang.String adviceType,
java.lang.String resultName)
|
protected CombinedHooks |
checkForPredef(java.util.Vector hooks)
|
protected java.lang.String |
computeAfterThrowingExceptionType(java.util.Vector hooks)
|
protected java.lang.String |
computeAroundThrowingExceptionType(java.util.Vector hooks)
|
protected HookContextProperty |
computeContext(java.util.Vector hooks)
|
protected void |
computeInit(java.util.Vector replaceVector,
java.util.Vector genericReplaceVector,
HookContextProperty requiredHooksContext,
boolean testReplaces)
|
protected java.lang.String |
computeThrowingExceptionType(java.util.Vector hooks,
java.lang.String adviceType)
|
java.lang.String |
defineOutput(JascoMethod newMethod,
HookContextProperty requiredHooksContext)
|
protected java.lang.String |
doReturn(java.lang.String var,
boolean noReplace,
HookContextProperty requiredHooksContext)
|
java.lang.String |
generateAdviceArgs(java.lang.String adviceType,
HookElement applicableHook)
|
java.lang.String |
generateAdviceArgs(java.lang.String adviceType,
java.util.Vector applicableHooks,
boolean testReplaces)
|
CombinedHooks |
generateCachedAspectJavassist(java.util.Vector thehooks,
JascoMethod originalMethod)
|
protected void |
generateConstructorCode(java.lang.String cname,
java.util.Vector hooks,
JascoMethod originalMethod,
javassist.CtClass fieldClass,
CachedAspectRep cachedAspectRep)
|
protected java.lang.String |
generateFactoryAspectsForDynamicHookElements(DynamicHookElement el,
java.lang.String assignStartCode)
|
protected java.lang.String |
generateFactoryInit(DynamicHookElement element,
javassist.CtClass fieldClass,
int index)
|
protected boolean |
generateInvokeCode(java.util.Vector hooks,
JascoMethod originalMethod,
javassist.CtClass fieldClass,
CachedAspectRep cachedAspectRep)
|
protected java.lang.String |
generateInvokeInitCode(java.util.Vector hooks,
HookContextProperty requiredHooksContext,
boolean noReplace,
boolean testReplaces)
|
protected java.lang.String |
generateOriginalMethodInvoke(JascoMethod method)
|
protected java.lang.String |
generateOriginalMethodInvokeNoReplace(JascoMethod method,
HookContextProperty requiredHooksContext,
boolean outputDefined)
|
protected java.lang.String |
generateReplaceSequence(HookContextProperty requiredHooksContext,
java.util.Vector replaceVector,
boolean testReplaces,
javassist.CtClass fieldClass,
boolean outputDefined)
|
protected CombinedHooks |
getCachedResult(java.lang.String icode,
java.lang.String ccode)
|
static CombinedHooksFactory |
getDefault()
|
protected java.lang.String |
getFactoryName(HookElement el)
|
protected java.lang.String |
getHookElementName(HookElement el)
|
protected java.lang.String |
getHookName(HookElement hook)
|
protected static long |
getNextClassId()
|
protected boolean |
hasCustomNonCachableAspectFactories(java.util.Vector hooks)
|
protected java.lang.String |
moreInvokeCode(IHook hook,
java.lang.String accessHook,
java.lang.String conditionboolean)
|
boolean |
requiresInvocationThrowingReturning(java.lang.String adviceType,
IHook theHook)
only for returning/throwing advices, might be that there is no advice declared |
protected void |
setClearLinkedHooks()
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
classPool
protected static final javassist.ClassPool classPool
NO_CONTEXT
public static final int NO_CONTEXT
- See Also:
- Constant Field Values
STATIC_CONTEXT
public static final int STATIC_CONTEXT
- See Also:
- Constant Field Values
DYNAMIC_CONTEXT
public static final int DYNAMIC_CONTEXT
- See Also:
- Constant Field Values
EMPTY_CONBINED_HOOKS
public static final CombinedHooks EMPTY_CONBINED_HOOKS
CombinedHooksFactory
public CombinedHooksFactory()
getNextClassId
protected static long getNextClassId()
setClearLinkedHooks
protected void setClearLinkedHooks()
getDefault
public static CombinedHooksFactory getDefault()
getHookName
protected java.lang.String getHookName(HookElement hook)
accessField
protected java.lang.String accessField(java.lang.String field)
accessFieldHook
protected java.lang.String accessFieldHook(HookElement hook)
accessFieldHook
protected java.lang.String accessFieldHook(HookElement hook,
boolean forConstructor)
checkForPredef
protected CombinedHooks checkForPredef(java.util.Vector hooks)
addFieldImpl
protected void addFieldImpl(java.lang.String f,
javassist.CtClass clz)
throws java.lang.Exception
- Throws:
java.lang.Exception
addField
protected void addField(java.lang.String f,
javassist.CtClass clz)
throws java.lang.Exception
- Throws:
java.lang.Exception
generateConstructorCode
protected void generateConstructorCode(java.lang.String cname,
java.util.Vector hooks,
JascoMethod originalMethod,
javassist.CtClass fieldClass,
CachedAspectRep cachedAspectRep)
throws java.lang.Exception
- Throws:
java.lang.Exception
getHookElementName
protected java.lang.String getHookElementName(HookElement el)
getFactoryName
protected java.lang.String getFactoryName(HookElement el)
generateFactoryInit
protected java.lang.String generateFactoryInit(DynamicHookElement element,
javassist.CtClass fieldClass,
int index)
throws java.lang.Exception
- Parameters:
element
- fieldClass
-
- Returns:
-
- Throws:
java.lang.Exception
generateFactoryAspectsForDynamicHookElements
protected java.lang.String generateFactoryAspectsForDynamicHookElements(DynamicHookElement el,
java.lang.String assignStartCode)
computeContext
protected HookContextProperty computeContext(java.util.Vector hooks)
hasCustomNonCachableAspectFactories
protected boolean hasCustomNonCachableAspectFactories(java.util.Vector hooks)
generateInvokeCode
protected boolean generateInvokeCode(java.util.Vector hooks,
JascoMethod originalMethod,
javassist.CtClass fieldClass,
CachedAspectRep cachedAspectRep)
throws java.lang.Exception
- Throws:
java.lang.Exception
moreInvokeCode
protected java.lang.String moreInvokeCode(IHook hook,
java.lang.String accessHook,
java.lang.String conditionboolean)
computeAfterThrowingExceptionType
protected final java.lang.String computeAfterThrowingExceptionType(java.util.Vector hooks)
computeAroundThrowingExceptionType
protected final java.lang.String computeAroundThrowingExceptionType(java.util.Vector hooks)
computeThrowingExceptionType
protected java.lang.String computeThrowingExceptionType(java.util.Vector hooks,
java.lang.String adviceType)
generateAdviceArgs
public java.lang.String generateAdviceArgs(java.lang.String adviceType,
HookElement applicableHook)
requiresInvocationThrowingReturning
public boolean requiresInvocationThrowingReturning(java.lang.String adviceType,
IHook theHook)
- only for returning/throwing advices, might be that there is no advice declared
- Parameters:
adviceType
-
- Returns:
generateAdviceArgs
public java.lang.String generateAdviceArgs(java.lang.String adviceType,
java.util.Vector applicableHooks,
boolean testReplaces)
defineOutput
public java.lang.String defineOutput(JascoMethod newMethod,
HookContextProperty requiredHooksContext)
throws java.lang.Exception
- Throws:
java.lang.Exception
castAdviceArgs
protected java.lang.String castAdviceArgs(java.lang.String adviceType,
java.lang.String resultName)
generateReplaceSequence
protected java.lang.String generateReplaceSequence(HookContextProperty requiredHooksContext,
java.util.Vector replaceVector,
boolean testReplaces,
javassist.CtClass fieldClass,
boolean outputDefined)
throws java.lang.Exception
- Throws:
java.lang.Exception
generateInvokeInitCode
protected java.lang.String generateInvokeInitCode(java.util.Vector hooks,
HookContextProperty requiredHooksContext,
boolean noReplace,
boolean testReplaces)
throws java.lang.Exception
- Throws:
java.lang.Exception
generateOriginalMethodInvokeNoReplace
protected java.lang.String generateOriginalMethodInvokeNoReplace(JascoMethod method,
HookContextProperty requiredHooksContext,
boolean outputDefined)
throws java.lang.Exception
- Throws:
java.lang.Exception
generateOriginalMethodInvoke
protected java.lang.String generateOriginalMethodInvoke(JascoMethod method)
throws java.lang.Exception
- Throws:
java.lang.Exception
doReturn
protected java.lang.String doReturn(java.lang.String var,
boolean noReplace,
HookContextProperty requiredHooksContext)
throws java.lang.Exception
- Throws:
java.lang.Exception
generateCachedAspectJavassist
public CombinedHooks generateCachedAspectJavassist(java.util.Vector thehooks,
JascoMethod originalMethod)
throws java.lang.Exception
- Throws:
java.lang.Exception
addCachedResult
protected void addCachedResult(CachedAspectRep rep,
CombinedHooks hooks)
getCachedResult
protected CombinedHooks getCachedResult(java.lang.String icode,
java.lang.String ccode)
computeInit
protected void computeInit(java.util.Vector replaceVector,
java.util.Vector genericReplaceVector,
HookContextProperty requiredHooksContext,
boolean testReplaces)