blob: 479e1c439511394b8b7e7e7f6a50e99db7b4b756 [file] [log] [blame]
/*
*******************************************************************************
* Copyright (C) 1996-2000, International Business Machines Corporation and *
* others. All Rights Reserved. *
*******************************************************************************
*
* $Source: /xsrl/Nsvn/icu/icu4j/src/com/ibm/tools/normalizer/Attic/JavaWriter.java,v $
* $Date: 2000/07/12 16:41:26 $
* $Revision: 1.4 $
*
*****************************************************************************************
*/
package com.ibm.tools.normalizer;
//import com.ibm.text.*;
import com.ibm.util.Utility;
import com.ibm.util.CompactCharArray;
import com.ibm.util.CompactByteArray;
import java.io.*;
/**
* JavaWriter knows how to write data structures out to a Java source file
*/
class JavaWriter extends SourceWriter {
PrintWriter out;
public JavaWriter(String name) throws FileNotFoundException {
// Find the class name
int cIndex = name.lastIndexOf('/');
String cName = (cIndex >= 0) ? name.substring(cIndex+1) : name;
out = new PrintWriter(new FileOutputStream(name + ".java"));
writeHeader(out);
out.println("class " + cName + " {");
}
public void close() {
out.println("}");
out.close();
out = null;
}
public void write(String name, short value) {
out.println(" static final short " + name + " = " + value + ";");
}
public void write(String name, int value) {
out.println(" static final int " + name + " = " + value + ";");
}
public void writeHex(String name, char value) {
out.println(" static final char " + name + " = 0x" + Integer.toString((int)value,16) + ";");
}
public void writeHex(String name, int value) {
out.println(" static final int " + name + " = 0x" + Integer.toString(value,16) + ";");
}
public void write(String name, CompactCharArray array) {
array.compact(false);
out.println("");
out.println(" static final CompactCharArray " + name + " = new CompactCharArray(");
out.println(Utility.formatForSource(Utility.arrayToRLEString(array.getIndexArray())));
out.println(" ," );
out.println(Utility.formatForSource(Utility.arrayToRLEString(array.getValueArray())));
out.println(" );" );
}
public void write(String name, CompactByteArray array) {
array.compact(false);
out.println("");
out.println(" static final CompactByteArray " + name + " = new CompactByteArray(");
out.println(Utility.formatForSource(Utility.arrayToRLEString(array.getIndexArray())));
out.println(" ," );
out.println(Utility.formatForSource(Utility.arrayToRLEString(array.getValueArray())));
out.println(" );" );
}
public void write(String name, StringBuffer str) {
out.println("");
out.println(" static final String " + name + " = ");
out.println(Utility.formatForSource(str.toString()));
out.println(" ;");
}
public void write(String name, char[] array) {
out.println("");
out.println(" static final char[] " + name + " = Utility.RLEStringToCharArray(");
out.println(Utility.formatForSource(Utility.arrayToRLEString(array)));
out.println(" );");
}
public void write(String name, int[] array) {
out.println("");
out.println(" static final int[] " + name + " = Utility.RLEStringToIntArray(");
out.println(Utility.formatForSource(Utility.arrayToRLEString(array)));
out.println(" );");
}
void writeHeader(PrintWriter out) {
super.writeHeader(out);
out.println("");
out.println("package com.ibm.text;");
out.println("import com.ibm.util.*;");
out.println("");
}
}