public abstract class PackEmitter
extends java.lang.Object
int
arrays as strings.
Also splits up strings when longer than 64K in UTF8 encoding. Subclasses emit unpacking code.
Usage protocol: p.emitInit();
for each data: p.emitData(data);
p.emitUnpack();
Modifier and Type | Field and Description |
---|---|
protected int |
chunks
number of existing string chunks
|
protected java.lang.String |
name
name of the generated array (mixed case, no yy prefix)
|
protected java.lang.StringBuilder |
out
output buffer
|
Constructor and Description |
---|
PackEmitter(java.lang.String name)
Create new emitter for an array.
|
Modifier and Type | Method and Description |
---|---|
void |
breaks()
Execute line/chunk break if necessary.
|
protected java.lang.String |
constName()
Convert array name into all uppercase internal scanner constant name.
|
void |
emitInit()
Emit declaration of decoded member and open first chunk.
|
void |
emitUC(int i)
Emit single unicode character.
|
abstract void |
emitUnpack()
Emit the unpacking code.
|
protected void |
nl()
emit newline
|
protected void |
println(java.lang.String s)
println.
|
java.lang.String |
toString()
Return current output buffer.
|
protected java.lang.String name
protected java.lang.StringBuilder out
protected int chunks
public PackEmitter(java.lang.String name)
name
- the name of the generated arrayprotected java.lang.String constName()
name
as a internal constant name.name
public java.lang.String toString()
toString
in class java.lang.Object
String
object.public void emitInit()
public void emitUC(int i)
Updates length, position, etc.
i
- the character to emit.public void breaks()
public abstract void emitUnpack()
protected void nl()
protected void println(java.lang.String s)
s
- a String
object.Copyright © 1998–2020. All rights reserved.