MOEA Framework 2.12
API Specification

org.moeaframework.util.tree
Class Lambda

java.lang.Object
  extended by org.moeaframework.util.tree.Node
      extended by org.moeaframework.util.tree.Lambda

public class Lambda
extends Node

The node for defining an immutable, anonymous function. Unlike Define, the behavior (body) of a Lambda can not be modified. Therefore, Lambdas are useful for providing pre-defined functions built using existing Nodes.

See Also:
Define

Constructor Summary
Lambda(Node node)
          Constructs a new node for defining an immutable, anonymous function with no arguments.
Lambda(Node node, String[] variableNames, Class<?>[] variableTypes)
          Constructs a new node for defining an immutable, anonymous function with a user-defined number of arguments.
Lambda(Node node, String variableName, Class<?> variableType)
          Constructs a new node for defining an immutable, anonymous function with one argument.
Lambda(Node node, String name1, Class<?> type1, String name2, Class<?> type2)
          Constructs a new node for defining an immutable, anonymous function with two arguments.
 
Method Summary
 Node copyNode()
          Returns a copy of this node, but without any children or parents assigned.
 Object evaluate(Environment environment)
          Evaluates this node in the context of the specified environment.
 
Methods inherited from class org.moeaframework.util.tree.Node
copyTree, getArgument, getArgumentType, getDepth, getFunctionAt, getFunctionAt, getMaximumHeight, getMinimumHeight, getNodeAt, getNodeAt, getNodeAt, getNumberOfArguments, getNumberOfFunctions, getNumberOfFunctions, getNumberOfNodes, getNumberOfNodes, getNumberOfNodes, getNumberOfTerminals, getNumberOfTerminals, getParent, getReturnType, getTerminalAt, getTerminalAt, isFixed, isTerminal, isValid, setArgument, setFixed, setFixedTree, size, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

Lambda

public Lambda(Node node)
Constructs a new node for defining an immutable, anonymous function with no arguments.

Parameters:
node - the body of this function
Throws:
IllegalArgumentException - if node is incomplete or not strongly typed (i.e., node.isValid() returns false)

Lambda

public Lambda(Node node,
              String variableName,
              Class<?> variableType)
Constructs a new node for defining an immutable, anonymous function with one argument.

Parameters:
node - the body of this function
variableName - the name of the argument
variableType - the type of the argument
Throws:
IllegalArgumentException - if node is incomplete or not strongly typed (i.e., node.isValid() returns false)

Lambda

public Lambda(Node node,
              String name1,
              Class<?> type1,
              String name2,
              Class<?> type2)
Constructs a new node for defining an immutable, anonymous function with two arguments.

Parameters:
node - the body of this function
name1 - the name of the first argument
type1 - the type of the first argument
name2 - the name of the second argument
type2 - the type of the second argument
Throws:
IllegalArgumentException - if node is incomplete or not strongly typed (i.e., node.isValid() returns false)

Lambda

public Lambda(Node node,
              String[] variableNames,
              Class<?>[] variableTypes)
Constructs a new node for defining an immutable, anonymous function with a user-defined number of arguments.

Parameters:
node - the body of this function
variableNames - the names of the arguments to this function
variableTypes - the types of the arguments to this function
Throws:
IllegalArgumentException - if node is incomplete or not strongly typed (i.e., node.isValid() returns false)
Method Detail

copyNode

public Node copyNode()
Description copied from class: Node
Returns a copy of this node, but without any children or parents assigned.

Specified by:
copyNode in class Node
Returns:
a copy of this node, but without any children or parents assigned

evaluate

public Object evaluate(Environment environment)
Description copied from class: Node
Evaluates this node in the context of the specified environment.

Specified by:
evaluate in class Node
Parameters:
environment - the execution environment
Returns:
the result of evaluating this node

MOEA Framework 2.12
API Specification

Copyright 2009-2016 MOEA Framework. All rights reserved.
Licensed under the GNU Lesser General Public License.
Return to the MOEA Framework homepage. Visit us on Github!