VASSAL.tools
Class SequenceEncoder

java.lang.Object
  |
  +--VASSAL.tools.SequenceEncoder

public class SequenceEncoder
extends java.lang.Object

Encodes a sequence of Strings into a single String with a given delimiter. Escapes the delimiter character if it occurs in the element strings. This is a very handy class for storing structured data into flat text and quite a bit faster than parsing an XML document. For example, a structure such as {A,{B,C}} can be encoded with

 new SequenceEncoder("A",',').append(new SequenceEncoder("B",',').append("C").getValue()).getValue()
 
which returns A,B\,C and then extracted with
 SequenceEncoder.Decoder st = new SequenceEncoder.Decoder("A,B\,C",',');
 String A = st.nextToken();
 SequenceEncoder.Decoder BC = new SequenceEncoder.Decoder(st.nextToken(),',');
 String B = BC.nextToken();
 String C = BC.nextToken();
 


Inner Class Summary
static class SequenceEncoder.Decoder
           
 
Constructor Summary
SequenceEncoder(char delimiter)
           
SequenceEncoder(java.lang.String val, char delimiter)
           
 
Method Summary
 SequenceEncoder append(boolean b)
           
 SequenceEncoder append(char c)
           
 SequenceEncoder append(java.awt.Color color)
           
 SequenceEncoder append(double d)
           
 SequenceEncoder append(int i)
           
 SequenceEncoder append(javax.swing.KeyStroke stroke)
           
 SequenceEncoder append(java.lang.String s)
           
 SequenceEncoder append(java.lang.String[] s)
           
 java.lang.String getValue()
           
static void main(java.lang.String[] args)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SequenceEncoder

public SequenceEncoder(char delimiter)

SequenceEncoder

public SequenceEncoder(java.lang.String val,
                       char delimiter)
Method Detail

append

public SequenceEncoder append(java.lang.String s)

append

public SequenceEncoder append(char c)

append

public SequenceEncoder append(int i)

append

public SequenceEncoder append(double d)

append

public SequenceEncoder append(boolean b)

append

public SequenceEncoder append(javax.swing.KeyStroke stroke)

append

public SequenceEncoder append(java.awt.Color color)

append

public SequenceEncoder append(java.lang.String[] s)

getValue

public java.lang.String getValue()

main

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