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

public abstract class Function extends MappingItem
マッパー関数の基底クラスです。
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final int
    MaxInputCountを無制限にする場合のシンボルです。

    Fields inherited from class com.infoteria.asteria.flowlibrary2.mapper.MappingItem

    TYPE_MULTI_FIELD
  • Constructor Summary

    Constructors
    Constructor
    Description
    コンストラクタ
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    ライセンスチェック処理を実装します。
    3rdパーティー製のマッパー関数でライセンスチェックを実装する場合はこのメソッドをオーバーライドします。
    abstract void
    execute(ExecuteContext context, Value[] in, Value out)
    マッパー関数の実行処理本体です。
     
    [install dir]/flow/lib/flowlibフォルダーのパスを返します。
    abstract String
    マッパー関数名を返します。
    マッパー関数名はFlowサーバ内で使用するすべての関数内でユニークでなければなりません。
    入力のアイテムを保持するリストを返します。
    int
    接続可能な入力数のMaximum。
    デフォルトの実装は 1を返します。
    必要に応じてサブクラスでオーバーライドしてください。
    接続可能数を無制限とする場合はLINK_UNBOUNDEDを返すようにします。
    protected String
    マッパー関数定義ファイルに定義したMessageを取得します。
    protected String
    パラメータを置換してマッパー関数定義ファイルに定義したMessageを取得します。
    protected String
    getMessage(String key, Object o1, Object o2)
    パラメータを置換してマッパー関数定義ファイルに定義したMessageを取得します。
    protected String
    getMessage(String key, Object o1, Object o2, Object o3)
    パラメータを置換してマッパー関数定義ファイルに定義したMessageを取得します。
    int
    接続可能な入力数のMinimum。
    デフォルトの実装は 1を返します。
    必要に応じてサブクラスでオーバーライドしてください。
     
    nameに対応するプロパティ値を取得します。
    getProperty(String name, Value[] in, int no)
    nameに対応するプロパティ値を取得します。 ただし引数 inの個数が no値より大きい場合は in[no]の値をプロパティ値の替わりに返します。
    boolean
    nameに対応するプロパティ値をbooleanとして取得します。
    boolean
    getPropertyBoolean(String name, Value[] in, int no)
    nameに対応するプロパティ値をbooleanとして取得します。 ただし引数 inの個数が no値より大きい場合は in[no]の値をプロパティ値の替わりに返します。
    double
    nameに対応するプロパティ値をdoubleとして取得します。
    double
    getPropertyDouble(String name, Value[] in, int no)
    nameに対応するプロパティ値をdoubleとして取得します。 ただし引数 inの個数が no値より大きい場合は in[no]の値をプロパティ値の替わりに返します。
    long
    nameに対応するプロパティ値をlongとして取得します。
    long
    getPropertyInteger(String name, Value[] in, int no)
    nameに対応するプロパティ値をlongとして取得します。 ただし引数 inの個数が no値より大きい場合は in[no]の値をプロパティ値の替わりに返します。
    nameに対応するプロパティ値をStringとして取得します。
    getPropertyString(String name, Value[] in, int no)
    nameに対応するプロパティ値をStringとして取得します。 ただし引数 inの個数が no値より大きい場合は in[no]の値をプロパティ値の替わりに返します。
     
    void
    MapperComponentのinitメソッド内で呼び出される初期化メソッドです。
    protected abstract void
    マッパー関数の登録時に呼び出される初期化メソッドです。
    このメソッド内でプロパティの登録を行います。
    protected void
     
    protected void
    registProperty(String name, Value.Type type, boolean required)
    プロパティを登録します。
    このメソッドはinternalInitメソッド内で実行します。
    protected void
    registProperty(String name, Value.Type type, boolean required, Value def)
    プロパティを登録します。
    このメソッドはinternalInitメソッド内で実行します。
    void
     
    void
    setOwner(User user)
     
    void
    MapperComponentのtermメソッド内で呼び出される終末処理メソッドです。

    Methods inherited from class com.infoteria.asteria.flowlibrary2.mapper.MappingItem

    beginMapping, compare, endMapping, getCanonicalName, getName

    Methods inherited from class java.lang.Object

    finalize, getClass, notify, notifyAll, wait, wait, wait
  • Field Details

  • Constructor Details

    • Function

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

    • getFunctionName

      public abstract 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 - 出力値。関数の計算結果はこのオブジェクトに対して設定します。
      Throws:
      MapperException
    • getInputList

      public List<MappingItem> getInputList()
      入力のアイテムを保持するリストを返します。
      Specified by:
      getInputList in class MappingItem
    • registProperty

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

      protected void registProperty(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メソッド内で呼び出される初期化メソッドです。
      Specified by:
      init in class MappingItem
      Throws:
      MapperException
    • term

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

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

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

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

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

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

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

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

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

      public double getPropertyDouble(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(String name)
      nameに対応するプロパティ値をbooleanとして取得します。
      Parameters:
      name - プロパティ名
      Returns:
      nameに対応するプロパティがない場合はfalseが返されます。
    • getPropertyBoolean

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

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

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

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

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

      protected void postCompile() throws MapperException
      Throws:
      MapperException
    • getOwner

      public User getOwner()
    • setOwner

      public void setOwner(User user)
    • getBaseDirectory

      public String getBaseDirectory()
    • setBaseDirectory

      public void setBaseDirectory(String s)
    • getSubItem

      public MappingItem getSubItem(String name)
    • getFlowlibPath

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