harpoon.Tools.PatMat
Class Spec.DetailPredicate

java.lang.Object
  extended by harpoon.Tools.PatMat.Spec.Detail
      extended by harpoon.Tools.PatMat.Spec.DetailPredicate
Enclosing class:
Spec

public static class Spec.DetailPredicate
extends Spec.Detail

Extension of Spec.Detail that stores a predicate_string which is a piece of Java code that decides if a particular Spec.Rule can be applied.

syntax: %pred %( BOOLEAN-EXPRESSION )%


Field Summary
 String predicate_string
           
 
Constructor Summary
Spec.DetailPredicate(String predicate_string)
          Constructs a new Spec.DetailPredicate.
 
Method Summary
 void accept(Spec.DetailVisitor v)
          Applies v's visit method to this.
 String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

predicate_string

public final String predicate_string
Constructor Detail

Spec.DetailPredicate

public Spec.DetailPredicate(String predicate_string)
Constructs a new Spec.DetailPredicate.
requires: predicate_string is a valid Java expression that will evaluate to a boolean value.

Parameters:
predicate_string - Predicate to check for applicability of Spec.Rule
Method Detail

accept

public void accept(Spec.DetailVisitor v)
Description copied from class: Spec.Detail
Applies v's visit method to this. This is effectively a gludge to emulate multiple dispatch. Must be reimplemented by all subclasses of Spec.Detail.
effects: Calls v.visit(this).

Specified by:
accept in class Spec.Detail
See Also:
"Design Patterns pgs. 331-344"

toString

public String toString()
Overrides:
toString in class Object