JFlex

Class Skeleton

public class Skeleton extends Object

This class stores the skeleton of generated scanners. The skeleton consists of several parts that can be emitted to a file. Usually there is a portion of generated code (produced in class Emitter) between every two parts of skeleton code. There is a static part (the skeleton code) and state based iterator part to this class. The iterator part is used to emit consecutive skeleton sections to some PrintWriter.

See Also:

Field Summary
static String[]line
The skeleton
Constructor Summary
Skeleton(PrintWriter out)
Creates a new skeleton (iterator) instance.
Method Summary
voidemitNext()
Emits the next part of the skeleton
static voidmakePrivate()
Make the skeleton private.
static voidreadDefault()
(Re)load the default skeleton.
static voidreadSkel(BufferedReader reader)
Reads an external skeleton file from a BufferedReader.
static voidreadSkelFile(File skeletonFile)
Reads an external skeleton file for later use with this class.
static Stringreplace(String a, String b, String c)
Replaces a with b in c.

Field Detail

line

public static String[] line
The skeleton

Constructor Detail

Skeleton

public Skeleton(PrintWriter out)
Creates a new skeleton (iterator) instance.

Parameters: out the writer to write the skeleton-parts to

Method Detail

emitNext

public void emitNext()
Emits the next part of the skeleton

makePrivate

public static void makePrivate()
Make the skeleton private. Replaces all occurences of " public " in the skeleton with " private ".

readDefault

public static void readDefault()
(Re)load the default skeleton. Looks in the current system class path.

readSkel

public static void readSkel(BufferedReader reader)
Reads an external skeleton file from a BufferedReader.

Parameters: reader the reader to read from (must be != null)

Throws: IOException if an IO error occurs GeneratorException if the number of skeleton sections does not match

readSkelFile

public static void readSkelFile(File skeletonFile)
Reads an external skeleton file for later use with this class.

Parameters: skeletonFile the file to read (must be != null and readable)

replace

public static String replace(String a, String b, String c)
Replaces a with b in c.

Parameters: a the String to be replaced b the replacement c the String in which to replace a by b

Returns: a String object with a replaced by b in c