Class ComponentCompiler

Direct Known Subclasses:
MultiConnectorComponent.Compiler

public class ComponentCompiler extends CompilerBase
標準のコンポーネントコンパイラです。
自作のコンパイラを作成する場合はこのクラスを継承して作成します。
  • Field Details

    • _component

      protected Component _component
      コンパイル中のコンポーネント。
  • Constructor Details

    • ComponentCompiler

      public ComponentCompiler(Component component)
      コンパイル対象のコンポーネントを引数にComponentCompilerを作成します。
  • Method Details

    • getLogger

      public Logger getLogger()
      Loggerを返します。
      Overrides:
      getLogger in class AbstractCompiler
    • processOtherProperty

      protected boolean processOtherProperty(Property property, Element el)
      独自のPropertyTypeを定義した場合にオーバーライドします。
      自作PropertyのProperty#getTypeメソッドが独自のPropertyTypeを返すように作成した場合、 このメソッドをオーバーライドすることによりProperty要素の内容を自由にコンパイルすることができます。
    • preCompile

      public void preCompile(Element el)
      フローのコンパイル時にComponentのインスタンスが作成された直後に呼び出されます。
      このメソッドの実行時にはコンポーネントのコンパイルはまだ行われていないのでプロパティなどは設定されていません。
      通常コンパイラを拡張する場合はpostCompileメソッドをオーバーライドしてそちらで行いますが、動的にコネクタを追加する 場合などリンク処理よりも先に処理を行う必要がある場合はこちらのメソッドを使用します。
      引数のElementはxfp2ファイルのComponent要素ですので、処理に必要な情報を取得するためには自分でNodeをトラバースする 必要があります。
    • postCompile

      protected void postCompile(Map<String,Component> componentMap)
      プロジェクトファイル中に定義されているすべてのPropertyが設定された後に呼び出されます。
      このメソッドをオーバーライドすることによりプロパティの整合性のチェックなどを行うことができます。
      Parameters:
      componentMap - ownerFlowに含まれるコンポーネント名とコンポーネントインスタンスのMap
    • postCompile

      protected void postCompile()
      このメソッドはコンポーネントのMapを引数とするpostCompile(Map)メソッドに置き換えられました。
      今後postCompileメソッドをオーバーライドする場合はMapを引数とするメソッドを使用してください。
    • onComponentError

      protected void onComponentError(int code)
      ユーザが作成したサブクラスで使用するエラー通知メソッドです。
      エラーメッセージをxscファイルから取得することができます。
      Parameters:
      code - xscファイルで定義したMessage要素のkeyを指定します。
    • onComponentError

      protected void onComponentError(int code, Object o1)
      ユーザが作成したサブクラスで使用するエラー通知メソッドです。
      エラーメッセージをxscファイルから取得することができます。
      Parameters:
      code - xscファイルで定義したMessage要素のkeyを指定します。
    • onComponentError

      protected void onComponentError(int code, Object o1, Object o2)
      ユーザが作成したサブクラスで使用するエラー通知メソッドです。
      エラーメッセージをxscファイルから取得することができます。
      Parameters:
      code - xscファイルで定義したMessage要素のkeyを指定します。
    • onComponentError

      protected void onComponentError(int code, Object o1, Object o2, Object o3)
      ユーザが作成したサブクラスで使用するエラー通知メソッドです。
      エラーメッセージをxscファイルから取得することができます。
      Parameters:
      code - xscファイルで定義したMessage要素のkeyを指定します。
    • onComponentError

      protected void onComponentError(com.infoteria.asteria.flowengine2.compile.ErrorInfo info)
      ユーザが作成したサブクラスで使用するエラー通知メソッドです。
    • onComponentError

      protected void onComponentError(String msg)
      ユーザが作成したサブクラスで使用するエラー通知メソッドです。
    • onComponentWarning

      protected void onComponentWarning(int code, int level)
      ユーザが作成したサブクラスで使用する警告通知メソッドです。
      警告メッセージをxscファイルから取得することができます。
      Parameters:
      code - xscファイルで定義したMessage要素のkeyを指定します。
    • onComponentWarning

      protected void onComponentWarning(int code, int level, Object o1)
      ユーザが作成したサブクラスで使用する警告通知メソッドです。
      警告メッセージをxscファイルから取得することができます。
      Parameters:
      code - xscファイルで定義したMessage要素のkeyを指定します。
    • onComponentWarning

      protected void onComponentWarning(int code, int level, Object o1, Object o2)
      ユーザが作成したサブクラスで使用する警告通知メソッドです。
      警告メッセージをxscファイルから取得することができます。
      Parameters:
      code - xscファイルで定義したMessage要素のkeyを指定します。
    • onComponentWarning

      protected void onComponentWarning(int code, int level, Object o1, Object o2, Object o3)
      ユーザが作成したサブクラスで使用する警告通知メソッドです。
      警告メッセージをxscファイルから取得することができます。
      Parameters:
      code - xscファイルで定義したMessage要素のkeyを指定します。
    • onComponentWarning

      protected void onComponentWarning(com.infoteria.asteria.flowengine2.compile.ErrorInfo info, int level)
      ユーザが作成したサブクラスで使用する警告通知メソッドです。
    • onComponentWarning

      protected void onComponentWarning(String msg, int level)
      ユーザが作成したサブクラスで使用する警告通知メソッドです。
    • getPropertyElement

      protected Element getPropertyElement(Element el, String name)
      引数の要素直下の「fe:Property[@name="xxxx"]」要素を返します。
      preCompileメソッド内でPropertyの定義要素を取得するために使用します。
      Parameters:
      el - 通常はfe:Component要素
      name - 取得するPropertyの名前
    • getPropertyValue

      protected String getPropertyValue(Element el, String name)
      引数の要素直下の「fe:Property[@name="xxxx"]」要素の設定値を返します。
      preCompileメソッド内でProperty値を取得するために使用します。
      Parameters:
      el - 通常はfe:Component要素
      name - 取得するPropertyの名前