org.eclipse.actf.validation.core
Class ExecutionPointTarget

java.lang.Object
  extended by org.eclipse.actf.validation.core.ExecutionPointTarget
Direct Known Subclasses:
EventExecutionPointTarget, MethodExecutionPointTarget

public abstract class ExecutionPointTarget
extends Object

the base class for the description of single execution point target at which validations are to be triggered. Instances of execution point targets are contained as a collection in an execution point descriptor. The execution point target, along with some information from the execution point descriptor, is used to create instances of execution points. Execution points are the run-time embodiment of the execution point targets.

Currently, there are three execution point targets that are supported:

In ACTF, the first type of execution point descriptor is only meaningful in the context of an aspect-oriented programming environment in which validation code can be woven into the target class at the appropriate point of invocation. The other types can be implemented via listeners and proxies handled via the Java Reflection API.

Note: The API and functionality of tihs class and its subclasses is incomplete.

Author:
John Buslawski

Field Summary
protected  boolean isPointcutExpression
           
protected  boolean isPolymorphic
           
protected  String targetClassName
           
protected  int type
           
 
Constructor Summary
ExecutionPointTarget(String targetClassName, boolean polymorphic, int type)
          Create the parent execution point target.
 
Method Summary
 boolean getPolymorphic()
           
 String getTargetClassName()
           
 int getType()
           
 boolean isPointcutExpression()
          returns whether or not the targetClassName actually represents a pointcut expression.
 void setPolymorphic(boolean polymorphic)
           
 void setTargetClassName(String targetClassName)
          name of class whose instances may trigger validations.
 void setType(int type)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

targetClassName

protected String targetClassName

type

protected int type

isPolymorphic

protected boolean isPolymorphic

isPointcutExpression

protected boolean isPointcutExpression
Constructor Detail

ExecutionPointTarget

public ExecutionPointTarget(String targetClassName,
                            boolean polymorphic,
                            int type)
Create the parent execution point target. The target class name is the name of the class that will trigger the generation of the containing execution point and start the validation. Execution point targets can be polymorphic and apply to other classes in the target class hierarchy or just to that specific target class. The type of execution point is either method-based, defined by a raven:method element, or event-based, defined by a raven:event element.

Parameters:
targetClassName - - name of class whose instances are to be captured
polymorphic - - boolean that defines whether this execution point target applies to just this target or also to classes in it's hierarchy
type - - type of execution point descriptor
See Also:
ExecutionPointTarget(String, boolean, int), #MethodExecutionPointTarget()
Method Detail

getTargetClassName

public String getTargetClassName()
Returns:
name of class whose instances may trigger validations

setTargetClassName

public void setTargetClassName(String targetClassName)
name of class whose instances may trigger validations. If an asterisk '*' appears anywhere in this name, the name is treated as a pointcut expression for an aspect-oriented programming (AOP) environment. All other parameters may be set to null.

Parameters:
targetClassName - - name of class whose instances may trigger validations

getType

public int getType()
Returns:
type of execution point target

setType

public void setType(int type)
Parameters:
type - - type of execution point target
Throws:
IllegalArgumentException - if type is not one of the pre-defined constants for this class

isPointcutExpression

public boolean isPointcutExpression()
returns whether or not the targetClassName actually represents a pointcut expression.

Returns:
true if target class name represents a pointcut expression
See Also:
setTargetClassName(String)

getPolymorphic

public boolean getPolymorphic()
Returns:
whether this execution point target is polymorphic or not

setPolymorphic

public void setPolymorphic(boolean polymorphic)
Parameters:
polymorphic - - whether this execution point descriptor is polymorphic