jasco.runtime.refinements
Class RefinementManager

java.lang.Object
  extended by jasco.runtime.refinements.RefinementManager

public class RefinementManager
extends java.lang.Object

Author:
Wim

Field Summary
static RefinementComparator REFINING_COMPARATOR
           
static java.lang.String REFINING_PACKAGE
           
static java.lang.String THIS_HOOK
           
 
Method Summary
 void addConnectorInlineInstanceFor(IHook newInstance, IHook cutpoint)
           
 java.lang.Object execute(java.lang.String methodname, java.lang.Object[] args, java.lang.Class[] fargs, MethodJoinpoint joinpoint, IHook cp)
           
protected  java.lang.reflect.Method fetchMethod(IRefinement refinement, java.lang.String methodname)
           
protected  java.lang.reflect.Method fetchMethod(IRefinement refinement, java.lang.String methodname, java.lang.Class[] fargs)
           
protected  IRefinement findApplicableRefinement(IHook cp, MethodJoinpoint jp, java.lang.String method)
           
static RefinementManager getInstance()
           
static java.lang.String getRefinementPackageName()
           
protected  void initFromClassPath()
           
static boolean isRefinement(java.lang.Class clz)
           
 void registerDirectRefinementInvoker(java.lang.String key, IDirectRefinementInvoker invoker)
           
 void registerRefinement(IRefinement refinement)
           
 void unregisterRefinement(IRefinement refinement)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

REFINING_COMPARATOR

public static final RefinementComparator REFINING_COMPARATOR

REFINING_PACKAGE

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

THIS_HOOK

public static final java.lang.String THIS_HOOK
See Also:
Constant Field Values
Method Detail

getInstance

public static RefinementManager getInstance()

getRefinementPackageName

public static java.lang.String getRefinementPackageName()

registerRefinement

public void registerRefinement(IRefinement refinement)

unregisterRefinement

public void unregisterRefinement(IRefinement refinement)

execute

public java.lang.Object execute(java.lang.String methodname,
                                java.lang.Object[] args,
                                java.lang.Class[] fargs,
                                MethodJoinpoint joinpoint,
                                IHook cp)
                         throws java.lang.reflect.InvocationTargetException,
                                NoRefinementFound
Throws:
java.lang.reflect.InvocationTargetException
NoRefinementFound

findApplicableRefinement

protected IRefinement findApplicableRefinement(IHook cp,
                                               MethodJoinpoint jp,
                                               java.lang.String method)
                                        throws NoRefinementFound
Throws:
NoRefinementFound

fetchMethod

protected java.lang.reflect.Method fetchMethod(IRefinement refinement,
                                               java.lang.String methodname,
                                               java.lang.Class[] fargs)
                                        throws java.lang.NoSuchMethodException
Throws:
java.lang.NoSuchMethodException

fetchMethod

protected java.lang.reflect.Method fetchMethod(IRefinement refinement,
                                               java.lang.String methodname)

initFromClassPath

protected void initFromClassPath()

isRefinement

public static final boolean isRefinement(java.lang.Class clz)

addConnectorInlineInstanceFor

public void addConnectorInlineInstanceFor(IHook newInstance,
                                          IHook cutpoint)
Parameters:
newInstance -
cutpoint -

registerDirectRefinementInvoker

public void registerDirectRefinementInvoker(java.lang.String key,
                                            IDirectRefinementInvoker invoker)