Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS | NEXT CLASS FRAMES  | NO FRAMES
SUMMARY:  INNER | FIELD | CONSTR | METHOD DETAIL:  FIELD | CONSTR | METHOD


Class COM.stevesoft.pat.ReplaceRule

java.lang.Object
  |
  +--COM.stevesoft.pat.ReplaceRule
Subclasses:
AmpersandRule, BackRefRule, LeftRule, NullRule, RightRule, SpecialRule, StringRule

public abstract class ReplaceRule
extends java.lang.Object

ReplaceRule is a singly linked list of Objects which describe how to replace the matched portion of a String. The only member method that you absolutely need to define to use this class is apply(StringBuffer,RegRes) -- although you may want define toString1() and clone1() (if you are unhappy with the default methods) that are needed by the clone() or toString() methods on this class. During the replacement process, each ReplaceRule tells the replacer what to add to StringBuffer and uses the contents of the Regular expression result to get the information it needs to do this. Here is an example

See Also:
NullRule, AmpersandRule, BackRefRule, LeftRule, RightRule, StringRule

Field Summary
ReplaceRule next
          points to the next ReplaceRule in the linked list.
 
Constructor Summary
ReplaceRule()
           

 
Method Summary
ReplaceRule add(ReplaceRule adding)
           
void addRule(ReplaceRule r)
          Add another ReplaceRule to the linked list.
void apply(java.lang.StringBuffer sb, RegRes r)
          This function appends to the StringBuffer the text you want to replaced the portion of the String last matched.
ReplaceRule arg(java.lang.String s)
          Modified the behavior of a ReplaceRule by supplying an argument.
java.lang.Object clone1()
          A rule describing how to clone only the current ReplaceRule, and none of the others in this linked list.
java.lang.Object clone()
           
static void define(java.lang.String s, Regex r)
           
static void define(java.lang.String s, ReplaceRule r)
           
static void define(java.lang.String s, Transformer t)
           
static boolean isDefined(java.lang.String s)
           
static ReplaceRule perlCode(java.lang.String s)
          Compile a ReplaceRule using the text that would go between the second and third /'s in a typical substitution pattern in Perl: s/ ...
java.lang.String toString1()
          This tells how to convert just the current element (and none of the other items in the linked list) to a String.
java.lang.String toString()
          Convert to a String.
static void undefine(java.lang.String s)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notifyAll, notify, toString, wait, wait, wait
 

Field Detail

next

protected ReplaceRule next
points to the next ReplaceRule in the linked list.
Constructor Detail

ReplaceRule

public ReplaceRule()
Method Detail

apply

public void apply(java.lang.StringBuffer sb,
                  RegRes r)
This function appends to the StringBuffer the text you want to replaced the portion of the String last matched.

clone1

public java.lang.Object clone1()
A rule describing how to clone only the current ReplaceRule, and none of the others in this linked list. It is called by clone() for each item in the list.

clone

public final java.lang.Object clone()
Overrides:
clone in class java.lang.Object

add

public ReplaceRule add(ReplaceRule adding)

addRule

public void addRule(ReplaceRule r)
Add another ReplaceRule to the linked list.

perlCode

public static ReplaceRule perlCode(java.lang.String s)
Compile a ReplaceRule using the text that would go between the second and third /'s in a typical substitution pattern in Perl: s/ ... / The argument to ReplaceRule.perlCode /.

isDefined

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

define

public static void define(java.lang.String s,
                          Regex r)

define

public static void define(java.lang.String s,
                          ReplaceRule r)

define

public static void define(java.lang.String s,
                          Transformer t)

undefine

public static void undefine(java.lang.String s)

toString1

public java.lang.String toString1()
This tells how to convert just the current element (and none of the other items in the linked list) to a String. This method is called by toString() for each item in the linked list.

toString

public final java.lang.String toString()
Convert to a String.
Overrides:
toString in class java.lang.Object

arg

public ReplaceRule arg(java.lang.String s)
Modified the behavior of a ReplaceRule by supplying an argument. If a ReplaceRule named "foo" is defined and the pattern "s/x/${foo:5}/" is given to Regex.perlCode, then the "foo" the definition of "foo" will be retrieved and arg("5") will be called. If the result is non-null, that is the ReplaceRule that will be used. If the result is null, then the pattern works just as if it were "s/x/${foo}/".
See Also:
arg(java.lang.String)

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS | NEXT CLASS FRAMES  | NO FRAMES
SUMMARY:  INNER | FIELD | CONSTR | METHOD DETAIL:  FIELD | CONSTR | METHOD