nars.language
Class Product

java.lang.Object
  extended by nars.language.Term
      extended by nars.language.CompoundTerm
          extended by nars.language.Product
All Implemented Interfaces:
java.lang.Cloneable, java.lang.Comparable<Term>

public class Product
extends CompoundTerm

A Product is a sequence of terms.


Field Summary
 
Fields inherited from class nars.language.CompoundTerm
complexity, components, openVariables
 
Fields inherited from class nars.language.Term
name
 
Constructor Summary
private Product(java.lang.String n, java.util.ArrayList<Term> arg)
          Constructor with partial values, called by make
private Product(java.lang.String n, java.util.ArrayList<Term> cs, java.util.ArrayList<Variable> open, short complexity)
          Constructor with full values, called by clone
 
Method Summary
 java.lang.Object clone()
          Clone a Product
static Term make(java.util.ArrayList<Term> argument)
          Try to make a new compound.
static Term make(CompoundTerm image, Term component, int index)
          Try to make a Product from an ImageExt/ImageInt and a component.
 java.lang.String operator()
          Get the operator of the term.
 
Methods inherited from class nars.language.CompoundTerm
addComponents, argumentsToList, cloneComponents, cloneList, componentAt, containAllComponents, containComponent, getComplexity, getComponents, getConstantName, getOpenVariables, isCommutative, isConstant, isOperator, make, make, makeCompoundName, makeImageName, makeName, makeSetName, prepareComponentLinks, reduceComponents, renameVariables, renameVariables, replaceComponent, replaceComponent, size, substituteComponent
 
Methods inherited from class nars.language.Term
compareTo, equals, getName, getOrder, hashCode, toString
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

Product

private Product(java.lang.String n,
                java.util.ArrayList<Term> arg)
Constructor with partial values, called by make

Parameters:
n - The name of the term
arg - The component list of the term

Product

private Product(java.lang.String n,
                java.util.ArrayList<Term> cs,
                java.util.ArrayList<Variable> open,
                short complexity)
Constructor with full values, called by clone

Parameters:
n - The name of the term
cs - Component list
open - Open variable list
complexity - Syntactic complexity of the compound
Method Detail

clone

public java.lang.Object clone()
Clone a Product

Specified by:
clone in class CompoundTerm
Returns:
A new object, to be casted into an ImageExt

make

public static Term make(java.util.ArrayList<Term> argument)
Try to make a new compound. Called by StringParser.

Parameters:
argument - The list of components
Returns:
the Term generated from the arguments

make

public static Term make(CompoundTerm image,
                        Term component,
                        int index)
Try to make a Product from an ImageExt/ImageInt and a component. Called by the inference rules.

Parameters:
image - The existing Image
component - The component to be added into the component list
index - The index of the place-holder in the new Image -- optional parameter
Returns:
A compound generated or a term it reduced to

operator

public java.lang.String operator()
Get the operator of the term.

Specified by:
operator in class CompoundTerm
Returns:
the operator of the term