net.java.games.gluegen

Class FunctionEmitter

Known Direct Subclasses:
CMethodBindingEmitter, JavaMethodBindingEmitter

public abstract class FunctionEmitter
extends java.lang.Object

Nested Class Summary

static class
FunctionEmitter.EmissionModifier

Field Summary

static FunctionEmitter.EmissionModifier
STATIC

Constructor Summary

FunctionEmitter(PrintWriter defaultOutput)
Constructs the FunctionEmitter with a CommentEmitter that emits nothing.
FunctionEmitter(FunctionEmitter arg)
Makes this FunctionEmitter a copy of the passed one.

Method Summary

void
addModifier(FunctionEmitter.EmissionModifier m)
void
addModifiers(Iterator mi)
void
clearModifiers()
void
emit()
Emit the function to the default output (the output that was passed to the constructor)
void
emit(PrintWriter output)
Emit the function to the specified output (instead of the default output).
protected abstract int
emitArguments(PrintWriter writer)
Returns the number of arguments emitted.
protected abstract void
emitBody(PrintWriter writer)
protected void
emitDocComment(PrintWriter writer)
protected int
emitModifiers(PrintWriter writer)
protected abstract void
emitName(PrintWriter writer)
protected abstract void
emitReturnType(PrintWriter writer)
protected void
emitSignature(PrintWriter writer)
protected String
getBaseIndentString()
CommentEmitter
getCommentEmitter()
Get the comment emitter for this FunctionEmitter.
protected String
getCommentEndString()
protected String
getCommentStartString()
PrintWriter
getDefaultOutput()
Iterator
getModifiers()
abstract String
getName()
boolean
hasModifier(FunctionEmitter.EmissionModifier m)
boolean
removeModifier(FunctionEmitter.EmissionModifier m)
void
setCommentEmitter(CommentEmitter cEmitter)
Set the object that will emit the comment for this function.
String
toString()
Returns, as a String, whatever emit would output.

Field Details

STATIC

public static final FunctionEmitter.EmissionModifier STATIC

Constructor Details

FunctionEmitter

public FunctionEmitter(PrintWriter defaultOutput)
Constructs the FunctionEmitter with a CommentEmitter that emits nothing.

FunctionEmitter

public FunctionEmitter(FunctionEmitter arg)
Makes this FunctionEmitter a copy of the passed one.

Method Details

addModifier

public void addModifier(FunctionEmitter.EmissionModifier m)

addModifiers

public void addModifiers(Iterator mi)

clearModifiers

public void clearModifiers()

emit

public final void emit()
Emit the function to the default output (the output that was passed to the constructor)

emit

public void emit(PrintWriter output)
Emit the function to the specified output (instead of the default output).

emitArguments

protected abstract int emitArguments(PrintWriter writer)
Returns the number of arguments emitted.

emitBody

protected abstract void emitBody(PrintWriter writer)

emitDocComment

protected void emitDocComment(PrintWriter writer)

emitModifiers

protected int emitModifiers(PrintWriter writer)

emitName

protected abstract void emitName(PrintWriter writer)

emitReturnType

protected abstract void emitReturnType(PrintWriter writer)

emitSignature

protected void emitSignature(PrintWriter writer)

getBaseIndentString

protected String getBaseIndentString()

getCommentEmitter

public CommentEmitter getCommentEmitter()
Get the comment emitter for this FunctionEmitter. The return value may be null, in which case no comment emitter has been set.

getCommentEndString

protected String getCommentEndString()

getCommentStartString

protected String getCommentStartString()

getDefaultOutput

public PrintWriter getDefaultOutput()

getModifiers

public Iterator getModifiers()

getName

public abstract String getName()

hasModifier

public boolean hasModifier(FunctionEmitter.EmissionModifier m)

removeModifier

public boolean removeModifier(FunctionEmitter.EmissionModifier m)

setCommentEmitter

public void setCommentEmitter(CommentEmitter cEmitter)
Set the object that will emit the comment for this function. If the parameter is null, no comment will be emitted.

toString

public String toString()
Returns, as a String, whatever emit would output.