org.eclipse.ocl.examples.codegen.java
Class JavaStream

java.lang.Object
  extended by org.eclipse.ocl.examples.codegen.java.JavaStream

public class JavaStream
extends java.lang.Object

A JavaStream provides many appendXXX helper methods and a push/pop facility for auto-indentation of Java text.


Field Summary
protected  CodeGenAnalyzer analyzer
           
protected  CG2JavaVisitor cg2java
           
protected  JavaCodeGenerator codeGenerator
           
protected  Id2JavaExpressionVisitor id2JavaExpressionVisitor
           
protected  boolean suppressNullWarnings
           
protected  boolean useNullAnnotations
           
 
Constructor Summary
JavaStream(JavaCodeGenerator codeGenerator, CG2JavaVisitor cg2java)
           
 
Method Summary
 void append(java.lang.String string)
           
 void appendAssignment(CGValuedElement toVariable, CGValuedElement cgExpression)
           
 void appendAtomicReferenceTo(CGValuedElement cgValue)
           
 void appendAtomicReferenceTo(java.lang.Class<?> requiredClass, CGValuedElement cgValue)
           
 void appendAtomicReferenceTo(TypeDescriptor requiredTypeDescriptor, CGValuedElement cgValue)
           
 void appendCastParameters(JavaLocalContext localContext)
           
 void appendCastParameters(JavaLocalContext localContext, java.util.List<? extends CGParameter> cgParameters)
           
 void appendClassCast(CGValuedElement cgValue)
           
 void appendClassCast(CGValuedElement cgValue, java.lang.Class<?> actualJavaClass)
           
 void appendClassReference(CGValuedElement cgValue)
           
 void appendClassReference(java.lang.Class<?> javaClass)
           
 void appendClassReference(java.lang.Class<?> javaClass, boolean useExtends, java.lang.Class<?>... typeParameters)
           
 void appendClassReference(java.lang.Class<?> javaClass, java.lang.Class<?>... typeParameters)
           
 void appendClassReference(java.lang.Class<?> javaClass, TypeDescriptor... typeDescriptors)
           
 void appendClassReference(java.lang.String className)
           
 void appendClassReference(TypeDescriptor typeDescriptor)
           
 void appendCommentWithOCL(java.lang.String title, Element element)
           
 void appendCopyrightHeader()
           
 void appendDeclaration(CGValuedElement cgElement)
           
 void appendFalse()
           
 void appendIdReference(ElementId elementId)
           
 void appendIdReference2(ElementId elementId)
           
 void appendIsCaught(boolean isNonInvalid, boolean isCaught)
           
 void appendIsRequired(boolean isRequired)
           
 void appendLocalStatements(CGValuedElement cgElement)
          Append the complete statements for cgElement for use with in a local operation context.
 void appendQualifiedLiteralName(Operation anOperation)
           
 void appendReferenceTo(CGValuedElement cgValue)
           
 void appendReferenceTo(java.lang.Class<?> requiredClass, CGValuedElement cgValue)
           
 void appendReferenceTo(TypeDescriptor requiredTypeDescriptor, CGValuedElement cgValue)
           
 void appendString(java.lang.String string)
           
 void appendTrue()
           
 void appendValueName(CGValuedElement cgElement)
          Append the code name for the value of cgElement, lazily creating one if necessary.
static PrettyPrintOptions.Global createOptions(Visitable element)
           
 CodeGenerator getCodeGenerator()
           
protected  java.lang.String getValueName(CGValuedElement cgElement)
           
 void popIndentation()
           
 void pushIndentation(java.lang.String extraIndentation)
           
 void resetStream()
           
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

codeGenerator

@NonNull
protected JavaCodeGenerator codeGenerator

cg2java

@NonNull
protected CG2JavaVisitor cg2java

analyzer

@NonNull
protected CodeGenAnalyzer analyzer

id2JavaExpressionVisitor

@NonNull
protected final Id2JavaExpressionVisitor id2JavaExpressionVisitor

useNullAnnotations

protected final boolean useNullAnnotations

suppressNullWarnings

protected final boolean suppressNullWarnings
Constructor Detail

JavaStream

public JavaStream(@NonNull
                  JavaCodeGenerator codeGenerator,
                  @NonNull
                  CG2JavaVisitor cg2java)
Method Detail

createOptions

@NonNull
public static PrettyPrintOptions.Global createOptions(@NonNull
                                                              Visitable element)

append

public void append(@Nullable
                   java.lang.String string)

appendAssignment

public void appendAssignment(@NonNull
                             CGValuedElement toVariable,
                             @NonNull
                             CGValuedElement cgExpression)

appendAtomicReferenceTo

public void appendAtomicReferenceTo(@NonNull
                                    java.lang.Class<?> requiredClass,
                                    @Nullable
                                    CGValuedElement cgValue)

appendAtomicReferenceTo

public void appendAtomicReferenceTo(@NonNull
                                    TypeDescriptor requiredTypeDescriptor,
                                    @Nullable
                                    CGValuedElement cgValue)

appendAtomicReferenceTo

public void appendAtomicReferenceTo(@Nullable
                                    CGValuedElement cgValue)

appendCastParameters

public void appendCastParameters(@NonNull
                                 JavaLocalContext localContext)

appendCastParameters

public void appendCastParameters(@NonNull
                                 JavaLocalContext localContext,
                                 @NonNull
                                 java.util.List<? extends CGParameter> cgParameters)

appendClassCast

public void appendClassCast(@Nullable
                            CGValuedElement cgValue)

appendClassCast

public void appendClassCast(@Nullable
                            CGValuedElement cgValue,
                            @Nullable
                            java.lang.Class<?> actualJavaClass)

appendClassReference

public void appendClassReference(@Nullable
                                 CGValuedElement cgValue)

appendClassReference

public void appendClassReference(@Nullable
                                 java.lang.Class<?> javaClass)

appendClassReference

public void appendClassReference(@NonNull
                                 TypeDescriptor typeDescriptor)

appendClassReference

public void appendClassReference(@Nullable
                                 java.lang.Class<?> javaClass,
                                 @NonNull
                                 java.lang.Class<?>... typeParameters)

appendClassReference

public void appendClassReference(@Nullable
                                 java.lang.Class<?> javaClass,
                                 boolean useExtends,
                                 @NonNull
                                 java.lang.Class<?>... typeParameters)

appendClassReference

public void appendClassReference(java.lang.Class<?> javaClass,
                                 @NonNull
                                 TypeDescriptor... typeDescriptors)

appendClassReference

public void appendClassReference(@Nullable
                                 java.lang.String className)

appendCommentWithOCL

public void appendCommentWithOCL(@Nullable
                                 java.lang.String title,
                                 @Nullable
                                 Element element)

appendCopyrightHeader

public void appendCopyrightHeader()

appendDeclaration

public void appendDeclaration(@NonNull
                              CGValuedElement cgElement)

appendFalse

public void appendFalse()

appendIdReference

public void appendIdReference(@Nullable
                              ElementId elementId)

appendIdReference2

public void appendIdReference2(@NonNull
                               ElementId elementId)

appendIsCaught

public void appendIsCaught(boolean isNonInvalid,
                           boolean isCaught)

appendIsRequired

public void appendIsRequired(boolean isRequired)

appendLocalStatements

public void appendLocalStatements(@NonNull
                                  CGValuedElement cgElement)
Append the complete statements for cgElement for use with in a local operation context. Inline and global contributions are excluded.


appendQualifiedLiteralName

public void appendQualifiedLiteralName(@NonNull
                                       Operation anOperation)

appendReferenceTo

public void appendReferenceTo(@NonNull
                              java.lang.Class<?> requiredClass,
                              @Nullable
                              CGValuedElement cgValue)

appendReferenceTo

public void appendReferenceTo(@NonNull
                              TypeDescriptor requiredTypeDescriptor,
                              @Nullable
                              CGValuedElement cgValue)

appendReferenceTo

public void appendReferenceTo(@Nullable
                              CGValuedElement cgValue)

appendString

public void appendString(@NonNull
                         java.lang.String string)

appendTrue

public void appendTrue()

appendValueName

public void appendValueName(@Nullable
                            CGValuedElement cgElement)
Append the code name for the value of cgElement, lazily creating one if necessary.


getCodeGenerator

@NonNull
public CodeGenerator getCodeGenerator()

getValueName

@NonNull
protected java.lang.String getValueName(@NonNull
                                                CGValuedElement cgElement)

popIndentation

public void popIndentation()

pushIndentation

public void pushIndentation(@Nullable
                            java.lang.String extraIndentation)

resetStream

public void resetStream()

toString

@NonNull
public java.lang.String toString()
Overrides:
toString in class java.lang.Object