Interface CodeItem
- All Known Subinterfaces:
CodeAdvancedMergeableItem<S>, CodeAnnotation, CodeAnnotations, CodeArrayInstatiation, CodeArrayType, CodeAssignment, CodeAtomicStatement, CodeBlock, CodeBlockBody, CodeBlockComment, CodeBlockDoWhile, CodeBlockFor, CodeBlockIf, CodeBlockInitializer, CodeBlockStatement, CodeBlockWhileDo, CodeBlockWithCondition, CodeCastExpression, CodeComment, CodeComments, CodeComparisonOperator, CodeComparisonOperatorExpression, CodeComposedType, CodeCondition, CodeConstant, CodeConstructor, CodeConstructorInvocation, CodeConstructors, CodeDoc, CodeElement, CodeElementWithDeclaringType, CodeElementWithModifiers, CodeElementWithName, CodeElementWithTypeVariables, CodeException, CodeExceptions, CodeExpression, CodeExpressionCondition, CodeField, CodeFieldReference, CodeFields, CodeFile, CodeForEachExpression, CodeForExpression, CodeForLoopExpression, CodeFunction, CodeGenericType, CodeGenericTypeParameters<P>, CodeImport, CodeImportItem, CodeImports, CodeInlineComment, CodeItemWithComment, CodeItemWithDeclaration, CodeItemWithDeclaringType, CodeItemWithModifiers, CodeItemWithName, CodeItemWithQualifiedFlag, CodeItemWithQualifiedName, CodeItemWithQualifiedNameAndParentPackage, CodeItemWithType, CodeItemWithVariables, CodeLambdaExpression, CodeLiteral, CodeLocalVariable, CodeLocalVariables, CodeMember, CodeMemberReference, CodeMembers<M>, CodeMergeableItem<S>, CodeMethod, CodeMethodInvocation, CodeMethods, CodeMutableItem, CodeMutableItemWithComment, CodeMutableItemWithQualifiedName, CodeMutableItemWithType, CodeNAryArbitraryOperator, CodeNAryBooleanOperator, CodeNAryHybridOperator, CodeNAryNumericOperator, CodeNAryOperator, CodeNAryOperatorExpression, CodeNestedTypes, CodeNodeItem, CodeNodeItemContainer<I>, CodeNodeItemContainerFlat<I>, CodeNodeItemContainerFlatWithName<I>, CodeNodeItemContainerHierarchical<I>, CodeNodeItemContainerHierarchicalWithName<I>, CodeNodeItemContainerWithName<I>, CodeNodeItemCopyable<P,SELF>, CodeNodeItemWithDeclaringElement, CodeNodeItemWithDeclaringMember, CodeNodeItemWithDeclaringOperation, CodeOperation, CodeOperationArg, CodeOperationArgs<A>, CodeOperationInvocation, CodeOperations<O>, CodeOperator, CodeOperatorExpression, CodePackage, CodeParameter, CodeParameterizedType, CodeParameters, CodePathElement, CodePathElements, CodeProperties, CodeProperty, CodeRegularAssignment, CodeReturn, CodeReturnStatement, CodeSimpleMergeableItem<S>, CodeSingleComment, CodeSingleLineComment, CodeStatement, CodeSuperTypes, CodeTernaryExpression, CodeType, CodeTypeParameters, CodeTypePlaceholder, CodeTypeVariable, CodeTypeVariables, CodeTypeWildcard, CodeUnaryOperator, CodeUnaryOperatorExpression, CodeVariable, CodeVariableThis
public interface CodeItem
Abstract top-level interface for any item of code as defined by this API. It reflects code structure.
- Since:
- 1.0.0
- Author:
- Joerg Hohwiller (hohwille at users.sourceforge.net)
-
Field Summary
Fields -
Method Summary
Modifier and TypeMethodDescriptiondefault CodeLanguagedefault Stringwrite()default voidwrite(Appendable sink) default voidwrite(Appendable sink, String newline) default voidwrite(Appendable sink, String newline, String defaultIndent) default voidwrite(Appendable sink, String newline, String defaultIndent, String currentIndent) voidwrite(Appendable sink, String newline, String defaultIndent, String currentIndent, CodeLanguage language)
-
Field Details
-
DEFAULT_NEWLINE
-
DEFAULT_INDENT
-
-
Method Details
-
write
- Returns:
- the source-code of this item.
-
write
- Parameters:
sink- theAppendablewhere toappendthesource codefrom thisCodeItem.
-
write
- Parameters:
sink- theAppendablewhere toappendthesource codefrom thisCodeItem.newline- the newlineString.
-
write
- Parameters:
sink- theAppendablewhere toappendthesource codefrom thisCodeItem.newline- the newlineString.defaultIndent- theStringused for indentation (e.g. a number of spaces to insert per indent level).
-
write
- Parameters:
sink- theAppendablewhere toappendthesource codefrom thisCodeItem.newline- the newlineString.defaultIndent- theStringused for indentation (e.g. a number of spaces to insert per indent level).currentIndent- the current indent (number of spaces). Initially the empty string (""). Before a recursion thedefaultIndentwill be appended.
-
getLanguage
- Returns:
- the
CodeLanguageto use.
-
write
void write(Appendable sink, String newline, String defaultIndent, String currentIndent, CodeLanguage language) - Parameters:
sink- theAppendablewhere toappendthesource codefrom thisCodeItem.newline- the newlineString.defaultIndent- theStringused for indentation (e.g. a number of spaces to insert per indent level).currentIndent- the current indent (number of spaces). Initially the empty string (""). Before a recursion thedefaultIndentwill be appended.language- theCodeLanguageto use.
-
getSourceCode
String getSourceCode()- Returns:
- the source code of this item.
- See Also:
-