org.lee.mugen.sprite.cns
Class AbstractCnsFunction

java.lang.Object
  extended by org.lee.mugen.sprite.cns.AbstractCnsFunction
All Implemented Interfaces:
Functionable, Valueable
Direct Known Subclasses:
SpriteCnsTriggerFunction, StateCtrlFunction

public abstract class AbstractCnsFunction
extends java.lang.Object
implements Functionable


Field Summary
protected  java.lang.String functionName
           
protected  java.util.HashMap<java.lang.String,java.lang.Integer> paramNameIndexMap
           
protected  java.lang.String[] paramNames
           
protected  Valueable[][] valueableParams
           
 
Constructor Summary
AbstractCnsFunction(java.lang.String functionName, java.lang.String[] paramNames)
           
 
Method Summary
 void addParam(java.lang.String name, Valueable[] param)
           
 boolean control()
           
 AbstractCnsFunction copy()
           
static Valueable[] getFloatValuable(java.lang.String value)
           
 java.lang.String getFunctionName()
           
static Valueable[] getIntValuable(java.lang.String value)
           
 int getParamIndex(java.lang.String name)
           
 java.util.Collection<java.lang.String> getParamNames()
           
static Valueable[] getStringValuable(java.lang.String value)
           
 java.lang.Object getValue(java.lang.String spriteId, Valueable... params)
           
protected  boolean isSetterMandatory(java.lang.String name)
           
abstract  Valueable[] parseValue(java.lang.String name, java.lang.String value)
           
 void setFunctionName(java.lang.String functionName)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.lee.mugen.parser.type.Functionable
reset
 

Field Detail

valueableParams

protected Valueable[][] valueableParams

paramNames

protected java.lang.String[] paramNames

functionName

protected java.lang.String functionName

paramNameIndexMap

protected java.util.HashMap<java.lang.String,java.lang.Integer> paramNameIndexMap
Constructor Detail

AbstractCnsFunction

public AbstractCnsFunction(java.lang.String functionName,
                           java.lang.String[] paramNames)
Method Detail

copy

public AbstractCnsFunction copy()

addParam

public void addParam(java.lang.String name,
                     Valueable[] param)

getValue

public java.lang.Object getValue(java.lang.String spriteId,
                                 Valueable... params)
Specified by:
getValue in interface Valueable

getParamNames

public java.util.Collection<java.lang.String> getParamNames()

getFunctionName

public final java.lang.String getFunctionName()

setFunctionName

public final void setFunctionName(java.lang.String functionName)

getParamIndex

public final int getParamIndex(java.lang.String name)

getFloatValuable

public static Valueable[] getFloatValuable(java.lang.String value)

getIntValuable

public static Valueable[] getIntValuable(java.lang.String value)

getStringValuable

public static Valueable[] getStringValuable(java.lang.String value)

control

public boolean control()

isSetterMandatory

protected boolean isSetterMandatory(java.lang.String name)

parseValue

public abstract Valueable[] parseValue(java.lang.String name,
                                       java.lang.String value)