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.


Nested Class Summary
static interface JavaStream.SubStream
           
 
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)
           
 boolean appendAssignment(CGValuedElement toVariable, CGValuedElement cgExpression)
           
 void appendAtomicReferenceTo(CGValuedElement cgValue)
           
 void appendAtomicReferenceTo(java.lang.Class<?> requiredClass, CGValuedElement cgValue)
           
 void appendAtomicReferenceTo(TypeDescriptor requiredTypeDescriptor, CGValuedElement cgValue)
           
 void appendBooleanString(boolean isTrue)
           
 void appendBooleanValueName(CGValuedElement cgValue, boolean isTrue)
           
 void appendClassCast(CGValuedElement cgValue)
           
 void appendClassCast(CGValuedElement cgValue, java.lang.Class<?> actualJavaClass)
           
 void appendClassCast(CGValuedElement cgValue, java.lang.Class<?> actualJavaClass, JavaStream.SubStream subStream)
           
 void appendClassReference(CGClass cgClass)
           
 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, boolean useExtends, java.lang.String... typeParameters)
           
 void appendClassReference(java.lang.Class<?> javaClass, boolean useExtends, TypeDescriptor... typeDescriptors)
           
 void appendClassReference(java.lang.Class<?> javaClass, java.lang.Class<?>... typeParameters)
           
 void appendClassReference(java.lang.Class<?> javaClass, TypeDescriptor... typeDescriptors)
          Deprecated. 
 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 appendEcoreValue(java.lang.String returnClassName, CGValuedElement cgValue)
          Append the value of cgValue, ensuring that it has the returnClassname type.
 void appendFalse()
           
 void appendIdReference(ElementId elementId)
           
 void appendIdReference2(ElementId elementId)
           
 void appendIsCaught(boolean isNonInvalid, boolean isCaught)
           
 void appendIsRequired(boolean isRequired)
           
 boolean 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)
           
 boolean appendThrowBooleanInvalidValueException(java.lang.String message, java.lang.String... arguments)
           
 boolean appendThrowInvalidValueException(java.lang.String message, java.lang.String... arguments)
           
 void appendTrue()
           
 void appendTypeParameters(boolean useExtends, java.lang.Class<?>... typeParameters)
           
 void appendTypeParameters(boolean useExtends, java.lang.String... typeParameters)
           
 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)
           
 boolean is_boolean(CGValuedElement cgValue)
           
 boolean isUseNullAnnotations()
           
 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 boolean 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)

appendBooleanString

public void appendBooleanString(boolean isTrue)

appendBooleanValueName

public void appendBooleanValueName(@NonNull
                                   CGValuedElement cgValue,
                                   boolean isTrue)

appendClassCast

public void appendClassCast(@Nullable
                            CGValuedElement cgValue)

appendClassCast

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

appendClassCast

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

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(@Nullable
                                 java.lang.Class<?> javaClass,
                                 boolean useExtends,
                                 @NonNull
                                 java.lang.String... typeParameters)

appendClassReference

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


appendClassReference

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

appendClassReference

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

appendClassReference

public void appendClassReference(@NonNull
                                 CGClass cgClass)

appendCommentWithOCL

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

appendCopyrightHeader

public void appendCopyrightHeader()

appendDeclaration

public void appendDeclaration(@NonNull
                              CGValuedElement cgElement)

appendEcoreValue

public void appendEcoreValue(@NonNull
                             java.lang.String returnClassName,
                             @NonNull
                             CGValuedElement cgValue)
Append the value of cgValue, ensuring that it has the returnClassname type.


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 boolean 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)

appendThrowBooleanInvalidValueException

public boolean appendThrowBooleanInvalidValueException(java.lang.String message,
                                                       @NonNull
                                                       java.lang.String... arguments)

appendThrowInvalidValueException

public boolean appendThrowInvalidValueException(java.lang.String message,
                                                @NonNull
                                                java.lang.String... arguments)

appendTrue

public void appendTrue()

appendTypeParameters

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

appendTypeParameters

public void appendTypeParameters(boolean useExtends,
                                 @NonNull
                                 java.lang.String... typeParameters)

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)

is_boolean

public boolean is_boolean(@NonNull
                          CGValuedElement cgValue)

isUseNullAnnotations

public boolean isUseNullAnnotations()

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