org.bee.processor
Class Function

java.lang.Object
  extended by org.xml.sax.helpers.DefaultHandler
      extended by org.bee.processor.AbstractValue
          extended by org.bee.processor.AbstractBlock
              extended by org.bee.processor.Function
All Implemented Interfaces:
Instruction, org.xml.sax.ContentHandler, org.xml.sax.DTDHandler, org.xml.sax.EntityResolver, org.xml.sax.ErrorHandler
Direct Known Subclasses:
Task

public class Function
extends AbstractBlock


Nested Class Summary
 
Nested classes/interfaces inherited from class org.bee.processor.AbstractValue
AbstractValue.Type
 
Nested classes/interfaces inherited from interface org.bee.processor.Instruction
Instruction.NameSpace
 
Field Summary
protected  java.util.List<Parameter> parameters
           
 
Fields inherited from class org.bee.processor.AbstractBlock
dir, nameSpace
 
Fields inherited from class org.bee.processor.AbstractValue
locator, name, parent, type, TYPE_RESERVED, TYPE_SHORTCUTS, value, valueBuffer, variable, xpath
 
Fields inherited from interface org.bee.processor.Instruction
ATTR_CODE, ATTR_COMMENT, ATTR_DIR, ATTR_ERROUT, ATTR_ERROUT_STREAM, ATTR_EXEC, ATTR_IN, ATTR_NAME, ATTR_OPTIONS, ATTR_PATH, ATTR_PROCESSONLY, ATTR_PROPERTY, ATTR_SEPARATOR, ATTR_STDIN, ATTR_STDOUT, ATTR_STDOUT_STREAM, ATTR_TARGET, ATTR_TYPE, ATTR_URL, ATTR_VALUE, ATTR_VARIABLE, RESERVE_BUILD_FILE, RESERVE_CLASS_LIB, RESERVE_NAME_ARGS, RESERVE_NAME_DIR, RESERVE_NAME_ERROR, RESERVE_NAME_EXCEPTION, RESERVE_OPTION_NOINPUT, TYPE_BOOL, TYPE_DATE, TYPE_DIRECTORY, TYPE_FILE, TYPE_NUMBER, TYPE_URL, TYPE_VARIABLE
 
Constructor Summary
Function(java.lang.String xpath)
           
 
Method Summary
 void childDone(Instruction child)
          Child notifies a parent that evaluation done, and a parent can use it for own evaluation
 InfoHolder eval()
          Returns value of instruction
static java.lang.Class findFunctionClass(java.lang.String name)
           
 java.lang.reflect.Method getMethod(java.lang.Class classOf, java.lang.String name, java.lang.Class paramPattern)
           
 
Methods inherited from class org.bee.processor.AbstractBlock
clearNameSpace, getAllowedAttributeNames, getName, getNameSpace, startElement
 
Methods inherited from class org.bee.processor.AbstractValue
characters, endElement, getHandler, getParent, getPath, ignorableWhitespace, lookupInChain, lookupNameSpace, lookupOnTop, lookupStringValue, makeFile, setDocumentLocator, setParent, traceInChain, updateInNameSpace, verifyAttributes
 
Methods inherited from class org.xml.sax.helpers.DefaultHandler
endDocument, endPrefixMapping, error, fatalError, notationDecl, processingInstruction, resolveEntity, skippedEntity, startDocument, startPrefixMapping, unparsedEntityDecl, warning
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

parameters

protected java.util.List<Parameter> parameters
Constructor Detail

Function

public Function(java.lang.String xpath)
Method Detail

childDone

public void childDone(Instruction child)
Description copied from interface: Instruction
Child notifies a parent that evaluation done, and a parent can use it for own evaluation

Specified by:
childDone in interface Instruction
Overrides:
childDone in class AbstractValue

eval

public InfoHolder eval()
Description copied from interface: Instruction
Returns value of instruction

Returns:
InfoHolder

getMethod

public java.lang.reflect.Method getMethod(java.lang.Class classOf,
                                          java.lang.String name,
                                          java.lang.Class paramPattern)
Parameters:
classOf - a target class to find method
name - of method
paramPattern - represents a pattern of parameters, can be list or array of the same type, if parameter is an array of some class then method with one array of this type searched, if it's a single class than method with list of parameters of this class searched
Returns:
Method if found, and null if not.

findFunctionClass

public static java.lang.Class findFunctionClass(java.lang.String name)