com.infoteria.asteria.flowlibrary2.mapper
Class Function

java.lang.Object
  |
  +--com.infoteria.asteria.flowlibrary2.mapper.MappingItem
        |
        +--com.infoteria.asteria.flowlibrary2.mapper.Function
All Implemented Interfaces:
java.lang.Cloneable, java.lang.Comparable
Direct Known Subclasses:
MultiOutputFunction

public abstract class Function
extends MappingItem

マッパー関数の基底クラスです。


Field Summary
static int LINK_UNBOUNDED
          MaxInputCountを無制限にする場合のシンボルです。
 
Fields inherited from class com.infoteria.asteria.flowlibrary2.mapper.MappingItem
TYPE_MULTI_FIELD
 
Constructor Summary
Function()
          コンストラクタ
 
Method Summary
 void checkLicense()
          ライセンスチェック処理を実装します。
3rdパーティー製のマッパー関数でライセンスチェックを実装する場合はこのメソッドをオーバーライドします。
abstract  void execute(ExecuteContext context, Value[] in, Value out)
          マッパー関数の実行処理本体です。
 java.lang.String getBaseDirectory()
           
 java.lang.String getFlowlibPath()
          [install dir]/flow/lib/flowlibフォルダーのパスを返します。
abstract  java.lang.String getFunctionName()
          マッパー関数名を返します。
マッパー関数名はFlowサーバ内で使用するすべての関数内でユニークでなければなりません。
 java.util.List getInputList()
          入力のアイテムを保持するリストを返します。
 int getMaxInputCount()
          接続可能な入力数のMaximum。
デフォルトの実装は 1を返します。
必要に応じてサブクラスでオーバーライドしてください。
接続可能数を無制限とする場合はLINK_UNBOUNDEDを返すようにします。
protected  java.lang.String getMessage(java.lang.String key)
          マッパー関数定義ファイルに定義したMessageを取得します。
protected  java.lang.String getMessage(java.lang.String key, java.lang.Object o1)
          パラメータを置換してマッパー関数定義ファイルに定義したMessageを取得します。
protected  java.lang.String getMessage(java.lang.String key, java.lang.Object o1, java.lang.Object o2)
          パラメータを置換してマッパー関数定義ファイルに定義したMessageを取得します。
protected  java.lang.String getMessage(java.lang.String key, java.lang.Object o1, java.lang.Object o2, java.lang.Object o3)
          パラメータを置換してマッパー関数定義ファイルに定義したMessageを取得します。
 int getMinInputCount()
          接続可能な入力数のMinimum。
デフォルトの実装は 1を返します。
必要に応じてサブクラスでオーバーライドしてください。
 User getOwner()
           
 Value getProperty(java.lang.String name)
          nameに対応するプロパティ値を取得します。
 Value getProperty(java.lang.String name, Value[] in, int no)
          nameに対応するプロパティ値を取得します。 ただし引数 inの個数が no値より大きい場合は in[no]の値をプロパティ値の替わりに返します。
 boolean getPropertyBoolean(java.lang.String name)
          nameに対応するプロパティ値をbooleanとして取得します。
 boolean getPropertyBoolean(java.lang.String name, Value[] in, int no)
          nameに対応するプロパティ値をbooleanとして取得します。 ただし引数 inの個数が no値より大きい場合は in[no]の値をプロパティ値の替わりに返します。
 double getPropertyDouble(java.lang.String name)
          nameに対応するプロパティ値をdoubleとして取得します。
 double getPropertyDouble(java.lang.String name, Value[] in, int no)
          nameに対応するプロパティ値をdoubleとして取得します。 ただし引数 inの個数が no値より大きい場合は in[no]の値をプロパティ値の替わりに返します。
 long getPropertyInteger(java.lang.String name)
          nameに対応するプロパティ値をlongとして取得します。
 long getPropertyInteger(java.lang.String name, Value[] in, int no)
          nameに対応するプロパティ値をlongとして取得します。 ただし引数 inの個数が no値より大きい場合は in[no]の値をプロパティ値の替わりに返します。
 java.lang.String getPropertyString(java.lang.String name)
          nameに対応するプロパティ値をStringとして取得します。
 java.lang.String getPropertyString(java.lang.String name, Value[] in, int no)
          nameに対応するプロパティ値をStringとして取得します。 ただし引数 inの個数が no値より大きい場合は in[no]の値をプロパティ値の替わりに返します。
 MappingItem getSubItem(java.lang.String name)
           
 void init(MapperComponent mapper, ExecuteContext context)
           
protected abstract  void internalInit()
          マッパー関数の登録時に呼び出される初期化メソッドです。
このメソッド内でプロパティの登録を行います。
protected  void postCompile()
           
protected  void registProperty(java.lang.String name, Value.Type type, boolean required)
          プロパティを登録します。
このメソッドはinternalInitメソッド内で実行します。
protected  void registProperty(java.lang.String name, Value.Type type, boolean required, Value def)
          プロパティを登録します。
このメソッドはinternalInitメソッド内で実行します。
 void setBaseDirectory(java.lang.String s)
           
 void setOwner(User user)
           
 void term(MapperComponent mapper, ExecuteContext context)
           
 
Methods inherited from class com.infoteria.asteria.flowlibrary2.mapper.MappingItem
beginMapping, compare, endMapping, getCanonicalName, getName
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface java.lang.Comparable
compareTo
 

Field Detail

LINK_UNBOUNDED

public static final int LINK_UNBOUNDED
MaxInputCountを無制限にする場合のシンボルです。
Constructor Detail

Function

public Function()
コンストラクタ
Method Detail

getFunctionName

public abstract java.lang.String getFunctionName()
マッパー関数名を返します。
マッパー関数名はFlowサーバ内で使用するすべての関数内でユニークでなければなりません。

internalInit

protected abstract void internalInit()
マッパー関数の登録時に呼び出される初期化メソッドです。
このメソッド内でプロパティの登録を行います。

getMinInputCount

public int getMinInputCount()
接続可能な入力数のMinimum。
デフォルトの実装は 1を返します。
必要に応じてサブクラスでオーバーライドしてください。

getMaxInputCount

public int getMaxInputCount()
接続可能な入力数のMaximum。
デフォルトの実装は 1を返します。
必要に応じてサブクラスでオーバーライドしてください。
接続可能数を無制限とする場合はLINK_UNBOUNDEDを返すようにします。

execute

public abstract void execute(ExecuteContext context,
                             Value[] in,
                             Value out)
                      throws MapperException
マッパー関数の実行処理本体です。
Parameters:
context - 実行コンテキスト
in - 入力値の配列
out - 出力値。関数の計算結果はこのオブジェクトに対して設定します。

getInputList

public java.util.List getInputList()
入力のアイテムを保持するリストを返します。
Overrides:
getInputList in class MappingItem

registProperty

protected void registProperty(java.lang.String name,
                              Value.Type type,
                              boolean required)
プロパティを登録します。
このメソッドはinternalInitメソッド内で実行します。
Parameters:
name - プロパティ名
type - プロパティ値のデータ型
required - このプロパティが必須の場合はtrue

registProperty

protected void registProperty(java.lang.String name,
                              Value.Type type,
                              boolean required,
                              Value def)
プロパティを登録します。
このメソッドはinternalInitメソッド内で実行します。
Parameters:
name - プロパティ名
type - プロパティ値のデータ型
required - このプロパティが必須の場合はtrue
def - デフォルト値

init

public void init(MapperComponent mapper,
                 ExecuteContext context)
          throws MapperException
Description copied from class: MappingItem
MapperComponentのinitメソッド内で呼び出される初期化メソッドです。
Overrides:
init in class MappingItem

term

public void term(MapperComponent mapper,
                 ExecuteContext context)
Description copied from class: MappingItem
MapperComponentのtermメソッド内で呼び出される終末処理メソッドです。
Overrides:
term in class MappingItem

checkLicense

public void checkLicense()
                  throws LicenseException
ライセンスチェック処理を実装します。
3rdパーティー製のマッパー関数でライセンスチェックを実装する場合はこのメソッドをオーバーライドします。
Throws:
LicenseException - ライセンスチェックでエラーとなった場合

getProperty

public Value getProperty(java.lang.String name)
nameに対応するプロパティ値を取得します。
Parameters:
name - プロパティ名
Returns:
nameに対応するプロパティがない場合はnull

getProperty

public Value getProperty(java.lang.String name,
                         Value[] in,
                         int no)
nameに対応するプロパティ値を取得します。 ただし引数 inの個数が no値より大きい場合は in[no]の値をプロパティ値の替わりに返します。
Parameters:
name - プロパティ名
in - 入力値の配列。executeメソッドの引数inをそのまま渡します。
no - 入力値でプロパティ値を置換する場合の入力値のインデックス
Returns:
入力値の個数がnoよりも小さく、nameに対応するプロパティがない場合はnull

getPropertyString

public java.lang.String getPropertyString(java.lang.String name)
nameに対応するプロパティ値をStringとして取得します。
Parameters:
name - プロパティ名
Returns:
nameに対応するプロパティがない場合は""が返されるのでnullが返ることはありません。

getPropertyString

public java.lang.String getPropertyString(java.lang.String name,
                                          Value[] in,
                                          int no)
nameに対応するプロパティ値をStringとして取得します。 ただし引数 inの個数が no値より大きい場合は in[no]の値をプロパティ値の替わりに返します。
Parameters:
name - プロパティ名
in - 入力値の配列。executeメソッドの引数inをそのまま渡します。
no - 入力値でプロパティ値を置換する場合の入力値のインデックス
Returns:
対応する値がない場合は""が返されるのでnullが返ることはありません。

getPropertyInteger

public long getPropertyInteger(java.lang.String name)
nameに対応するプロパティ値をlongとして取得します。
Parameters:
name - プロパティ名
Returns:
nameに対応するプロパティがない場合は0が返されます。

getPropertyInteger

public long getPropertyInteger(java.lang.String name,
                               Value[] in,
                               int no)
nameに対応するプロパティ値をlongとして取得します。 ただし引数 inの個数が no値より大きい場合は in[no]の値をプロパティ値の替わりに返します。
Parameters:
name - プロパティ名
in - 入力値の配列。executeメソッドの引数inをそのまま渡します。
no - 入力値でプロパティ値を置換する場合の入力値のインデックス
Returns:
対応する値がない場合は0が返されます。

getPropertyDouble

public double getPropertyDouble(java.lang.String name)
nameに対応するプロパティ値をdoubleとして取得します。
Parameters:
name - プロパティ名
Returns:
nameに対応するプロパティがない場合は0.0が返されます。

getPropertyDouble

public double getPropertyDouble(java.lang.String name,
                                Value[] in,
                                int no)
nameに対応するプロパティ値をdoubleとして取得します。 ただし引数 inの個数が no値より大きい場合は in[no]の値をプロパティ値の替わりに返します。
Parameters:
name - プロパティ名
in - 入力値の配列。executeメソッドの引数inをそのまま渡します。
no - 入力値でプロパティ値を置換する場合の入力値のインデックス
Returns:
対応する値がない場合は0.0が返されます。

getPropertyBoolean

public boolean getPropertyBoolean(java.lang.String name)
nameに対応するプロパティ値をbooleanとして取得します。
Parameters:
name - プロパティ名
Returns:
nameに対応するプロパティがない場合はfalseが返されます。

getPropertyBoolean

public boolean getPropertyBoolean(java.lang.String name,
                                  Value[] in,
                                  int no)
nameに対応するプロパティ値をbooleanとして取得します。 ただし引数 inの個数が no値より大きい場合は in[no]の値をプロパティ値の替わりに返します。
Parameters:
name - プロパティ名
in - 入力値の配列。executeメソッドの引数inをそのまま渡します。
no - 入力値でプロパティ値を置換する場合の入力値のインデックス
Returns:
対応する値がない場合はfalseが返されます。

getMessage

protected java.lang.String getMessage(java.lang.String key)
マッパー関数定義ファイルに定義したMessageを取得します。

getMessage

protected java.lang.String getMessage(java.lang.String key,
                                      java.lang.Object o1)
パラメータを置換してマッパー関数定義ファイルに定義したMessageを取得します。

getMessage

protected java.lang.String getMessage(java.lang.String key,
                                      java.lang.Object o1,
                                      java.lang.Object o2)
パラメータを置換してマッパー関数定義ファイルに定義したMessageを取得します。

getMessage

protected java.lang.String getMessage(java.lang.String key,
                                      java.lang.Object o1,
                                      java.lang.Object o2,
                                      java.lang.Object o3)
パラメータを置換してマッパー関数定義ファイルに定義したMessageを取得します。

postCompile

protected void postCompile()
                    throws MapperException

getOwner

public User getOwner()

setOwner

public void setOwner(User user)

getBaseDirectory

public java.lang.String getBaseDirectory()

setBaseDirectory

public void setBaseDirectory(java.lang.String s)

getSubItem

public MappingItem getSubItem(java.lang.String name)

getFlowlibPath

public java.lang.String getFlowlibPath()
[install dir]/flow/lib/flowlibフォルダーのパスを返します。
Returns:
flowlibフォルダーのパス