Class BaseNAryOperatorExpression

All Implemented Interfaces:
io.github.mmm.code.api.expression.CodeExpression, io.github.mmm.code.api.expression.CodeNAryOperatorExpression, io.github.mmm.code.api.expression.CodeOperatorExpression, io.github.mmm.code.api.item.CodeItem

public class BaseNAryOperatorExpression extends BaseOperatorExpression implements io.github.mmm.code.api.expression.CodeNAryOperatorExpression
Generic implementation of CodeNAryOperatorExpression.
Since:
1.0.0
Author:
Joerg Hohwiller (hohwille at users.sourceforge.net)
  • Field Summary

    Fields inherited from interface io.github.mmm.code.api.item.CodeItem

    DEFAULT_INDENT, DEFAULT_NEWLINE
  • Constructor Summary

    Constructors
    Constructor
    Description
    BaseNAryOperatorExpression(io.github.mmm.code.api.operator.CodeNAryOperator operator, io.github.mmm.code.api.expression.CodeExpression... arguments)
    The constructor.
    BaseNAryOperatorExpression(io.github.mmm.code.api.operator.CodeNAryOperator operator, List<io.github.mmm.code.api.expression.CodeExpression> arguments)
    The constructor.
  • Method Summary

    Modifier and Type
    Method
    Description
    protected void
    doWrite(Appendable sink, String newline, String defaultIndent, String currentIndent, io.github.mmm.code.api.language.CodeLanguage language)
     
    io.github.mmm.code.api.expression.CodeConstant
     
    List<? extends io.github.mmm.code.api.expression.CodeExpression>
     
    io.github.mmm.code.api.operator.CodeNAryOperator
     

    Methods inherited from class BaseItem

    getOwningType, getSourceCode, getSpaces, toString, write

    Methods inherited from class Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

    Methods inherited from interface io.github.mmm.code.api.item.CodeItem

    getLanguage, getSourceCode, write, write, write, write, write, write
  • Constructor Details

    • BaseNAryOperatorExpression

      public BaseNAryOperatorExpression(io.github.mmm.code.api.operator.CodeNAryOperator operator, io.github.mmm.code.api.expression.CodeExpression... arguments)
      The constructor.
      Parameters:
      operator - the operator.
      arguments - the arguments.
    • BaseNAryOperatorExpression

      public BaseNAryOperatorExpression(io.github.mmm.code.api.operator.CodeNAryOperator operator, List<io.github.mmm.code.api.expression.CodeExpression> arguments)
      The constructor.
      Parameters:
      operator - the operator.
      arguments - the arguments.
  • Method Details

    • evaluate

      public io.github.mmm.code.api.expression.CodeConstant evaluate()
      Specified by:
      evaluate in interface io.github.mmm.code.api.expression.CodeExpression
    • getArguments

      public List<? extends io.github.mmm.code.api.expression.CodeExpression> getArguments()
      Specified by:
      getArguments in interface io.github.mmm.code.api.expression.CodeOperatorExpression
    • getOperator

      public io.github.mmm.code.api.operator.CodeNAryOperator getOperator()
      Specified by:
      getOperator in interface io.github.mmm.code.api.expression.CodeNAryOperatorExpression
      Specified by:
      getOperator in interface io.github.mmm.code.api.expression.CodeOperatorExpression
    • doWrite

      protected void doWrite(Appendable sink, String newline, String defaultIndent, String currentIndent, io.github.mmm.code.api.language.CodeLanguage language) throws IOException
      Specified by:
      doWrite in class BaseItem
      Parameters:
      sink - the Appendable where to append the code from this CodeItem.
      newline - the newline String.
      defaultIndent - the String used 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 the defaultIndent will be appended.
      language - the CodeLanguage to use.
      Throws:
      IOException - if thrown by Appendable.
      See Also:
      • CodeItem.write(Appendable, String, String)