com.objectwave.utility
Class SymbolReplacer

java.lang.Object
  |
  +--com.objectwave.utility.SymbolReplacer
Direct Known Subclasses:
SymbolExpander

public class SymbolReplacer
extends java.lang.Object


Field Summary
protected  int foundSymbolIdx
           
protected  java.lang.String replacementPattern
           
protected  char symbolPrefixChar
           
protected  java.util.Vector symbols
           
protected  char symbolSuffixChar
           
protected  java.util.Vector values
           
 
Constructor Summary
SymbolReplacer()
           
SymbolReplacer(char prefixChar, char suffixChar)
           
 
Method Summary
 void addSymbol(java.lang.String _symbol, java.lang.String value)
           
 void ClearSymbols()
           
 void decodeFromString(java.lang.String s)
           
 java.lang.String encodeToString()
          Encode as n sets of two, instead of 3 sets of n (for improved readability) "symbol,value" Final encoding example: "<;>;x,1;y,2;z,3"
protected  int findSymbolInstance(java.lang.String symbol, java.lang.String subject, int fromIdx)
           
 java.lang.String getReplacementPattern()
           
 java.util.Vector getSymbols()
           
 java.util.Vector getValues()
           
protected  int indexOf(java.lang.String symbol)
           
static void main(java.lang.String[] args)
           
protected  int nextSymbolInString(java.lang.String source, int idx)
           
 void renameSymbol(int idx, java.lang.String newName)
           
 java.lang.String replaceSymbolsInString(java.lang.String s)
           
 void setReplacementPattern(java.lang.String pattern)
          Set the replacement pattern, in which any occurances of the character '*' are replaced with the symbol value.
 void setSymbols(java.util.Vector _symbols, java.util.Vector _values)
          _symbols.size() had better equal _values.size()
 int size()
           
protected  void tryIsDuplicateSymbol(java.lang.String symbol, int ignoreIdx)
           
protected  void tryIsLegalIdentifier(java.lang.String _symbol)
           
 boolean updateSymbolValue(java.lang.String symbol, java.lang.String newValue)
           
protected  java.lang.String useReplacementPattern(java.lang.String value)
           
 java.lang.String valueOf(java.lang.String symbol)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

symbolPrefixChar

protected char symbolPrefixChar

symbolSuffixChar

protected char symbolSuffixChar

symbols

protected java.util.Vector symbols

values

protected java.util.Vector values

foundSymbolIdx

protected int foundSymbolIdx

replacementPattern

protected java.lang.String replacementPattern
Constructor Detail

SymbolReplacer

public SymbolReplacer()

SymbolReplacer

public SymbolReplacer(char prefixChar,
                      char suffixChar)
Method Detail

addSymbol

public void addSymbol(java.lang.String _symbol,
                      java.lang.String value)
               throws java.lang.IllegalArgumentException
java.lang.IllegalArgumentException

ClearSymbols

public void ClearSymbols()

decodeFromString

public void decodeFromString(java.lang.String s)

encodeToString

public java.lang.String encodeToString()
Encode as n sets of two, instead of 3 sets of n (for improved readability) "symbol,value" Final encoding example: "<;>;x,1;y,2;z,3"


findSymbolInstance

protected int findSymbolInstance(java.lang.String symbol,
                                 java.lang.String subject,
                                 int fromIdx)

getReplacementPattern

public java.lang.String getReplacementPattern()

getSymbols

public java.util.Vector getSymbols()

getValues

public java.util.Vector getValues()

indexOf

protected int indexOf(java.lang.String symbol)

main

public static void main(java.lang.String[] args)

nextSymbolInString

protected int nextSymbolInString(java.lang.String source,
                                 int idx)

renameSymbol

public void renameSymbol(int idx,
                         java.lang.String newName)
                  throws java.lang.IllegalArgumentException
java.lang.IllegalArgumentException

replaceSymbolsInString

public java.lang.String replaceSymbolsInString(java.lang.String s)

setReplacementPattern

public void setReplacementPattern(java.lang.String pattern)
Set the replacement pattern, in which any occurances of the character '*' are replaced with the symbol value. The resulting string is used for symbol substitution. The default pattern is "(*)", to enclose a mathematical substitution.


setSymbols

public void setSymbols(java.util.Vector _symbols,
                       java.util.Vector _values)
_symbols.size() had better equal _values.size()


size

public int size()

tryIsDuplicateSymbol

protected void tryIsDuplicateSymbol(java.lang.String symbol,
                                    int ignoreIdx)
                             throws java.lang.IllegalArgumentException
java.lang.IllegalArgumentException

tryIsLegalIdentifier

protected void tryIsLegalIdentifier(java.lang.String _symbol)
                             throws java.lang.IllegalArgumentException
java.lang.IllegalArgumentException

updateSymbolValue

public boolean updateSymbolValue(java.lang.String symbol,
                                 java.lang.String newValue)

useReplacementPattern

protected java.lang.String useReplacementPattern(java.lang.String value)

valueOf

public java.lang.String valueOf(java.lang.String symbol)