gov.llnl.babel.backend.writers
Class LanguageWriterForJava

java.lang.Object
  extended by gov.llnl.babel.backend.writers.PrettyWriter
      extended by gov.llnl.babel.backend.writers.LanguageWriter
          extended by gov.llnl.babel.backend.writers.LanguageWriterForJava
All Implemented Interfaces:
CodeConstants

public class LanguageWriterForJava
extends LanguageWriter
implements CodeConstants

Class LanguageWriterForJava extends the generic language writer to provide additional capabilities for writing Java code.


Field Summary
 
Fields inherited from class gov.llnl.babel.backend.writers.LanguageWriter
d_context
 
Fields inherited from interface gov.llnl.babel.backend.CodeConstants
C_AUTO_GEN_SPLICER, C_AUTO_GEN_WARNING, C_BACKSLASH, C_BEGIN_UNREFERENCED_METHODS, C_COMMENT_CLOSE, C_COMMENT_DOC_OPEN, C_COMMENT_F77, C_COMMENT_F90, C_COMMENT_HASH, C_COMMENT_OPEN, C_COMMENT_SLASH, C_COMMENT_SUBSEQUENT, C_DEFINE, C_DESC_CJNI_PREFIX, C_DESC_HEADER_PREFIX, C_DESC_IMPL_PREFIX, C_DESC_IOR_PREFIX, C_DESC_SJNI_PREFIX, C_DESC_SKEL_PREFIX, C_DESC_STUB_PREFIX, C_END_UNREFERENCED_METHODS, C_F77_IMPL_EXTENSION, C_F77_IMPL_METHOD_SUFFIX, C_F77_METHOD_SUFFIX, C_F77_VERSION, C_F7731_IMPL_EXTENSION, C_F90_ALT_SUFFIX, C_F90_IMPL_EXTENSION, C_F90_IMPL_METHOD_SUFFIX, C_F90_METHOD_SUFFIX, C_F90_VERSION, C_FORTRAN_DESC_STUB_PREFIX, C_FORTRAN_IMPL_MODULE_PREFIX, C_FORTRAN_MODULE_PREFIX, C_FORTRAN_TYPE_MODULE_PREFIX, C_GUARD_CLOSE, C_GUARD_OPEN, C_HASH, C_IFDEFINE_CLOSE, C_IFDEFINE_CXX, C_IFDEFINE_OPEN, C_INCLUDE, C_INSERT_HERE, C_INT_BACKSLASH, C_IS_IMPL, C_IS_NOT_IMPL, C_SLASH, C_UNREFERENCED_COMMENT1, C_UNREFERENCED_COMMENT2, C_UNREFERENCED_COMMENT3, MATLAB_COMMENT_OPEN
 
Constructor Summary
LanguageWriterForJava(java.io.PrintWriter writer, Context context)
          Create a LanguageWriterForJava instance that will send output to the specified print writer object.
 
Method Summary
 void beginBlockComment(boolean is_doc)
          Begin a block comment.
 void endBlockComment(boolean is_doc)
          End a block comment.
 java.lang.String safeCommentString(java.lang.String str)
          Convert a string into something that is safe to include inside a Java comment string.
 void writeCommentLine(java.lang.String comment)
          Output a single-line comment to the pretty writer stream.
 void writeSplicerTagLine(java.lang.String tagLine)
          Write the splicer tag as a language-specific comment.
 
Methods inherited from class gov.llnl.babel.backend.writers.LanguageWriter
processHTML, writeBanner, writeComment, writeComment, writeComment, writeComment, writeComment, writeComment, writeComment
 
Methods inherited from class gov.llnl.babel.backend.writers.PrettyWriter
backTab, changeTabLevel, close, defineBlockComment, disableBlockComment, disableLineBreak, enableBlockComment, enableLineBreak, enableLineBreak, flushPrintWriter, getPrintWriter, popLineBreak, print, printAligned, println, println, printlnUnformatted, printSpaces, printUnformatted, pushLineBreak, restoreFirstTabStop, setFirstTabStop, setLineBreakString, setStrictBreaking, setTabSpacing, setTemporaryFirstTabStop, tab
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

LanguageWriterForJava

public LanguageWriterForJava(java.io.PrintWriter writer,
                             Context context)
Create a LanguageWriterForJava instance that will send output to the specified print writer object. Set up the output properties of the language writer for Java, which sets the first tab stop at zero, a tab spacing of three, and line breaking at column eighty.

Method Detail

beginBlockComment

public void beginBlockComment(boolean is_doc)
Begin a block comment. The beginning of comment string is output to the pretty writer stream and the block comment mode is enabled. The comment block is closed by calling the end comment block method. Documentation comments add an additional asterisk after the open comment.

Specified by:
beginBlockComment in class LanguageWriter

endBlockComment

public void endBlockComment(boolean is_doc)
End a block comment. This method disables comment block output and prints the end of comment string. Documentation comments do not add a blank line whereas regular comments add a blank line after the comment.

Specified by:
endBlockComment in class LanguageWriter

writeSplicerTagLine

public void writeSplicerTagLine(java.lang.String tagLine)
Write the splicer tag as a language-specific comment.

Specified by:
writeSplicerTagLine in class LanguageWriter

safeCommentString

public final java.lang.String safeCommentString(java.lang.String str)
Convert a string into something that is safe to include inside a Java comment string.

Overrides:
safeCommentString in class LanguageWriter
Parameters:
str - the string to make safe for inclusion inside a comment.
Returns:
a string that can safely be included inside a comment.

writeCommentLine

public void writeCommentLine(java.lang.String comment)
Output a single-line comment to the pretty writer stream. The comment should not contain any new line characters. If the comment is null, then nothing is output.

Specified by:
writeCommentLine in class LanguageWriter
Parameters:
comment - a single line comment to include in the output
See Also:
LanguageWriter.safeCommentString(java.lang.String)