SequenceBoxAddParser (クラス)
public SequenceBoxAddParser {inherits InitRestArgParser}
インポート元: CURL.GUI.STANDARD. package 内で定義されています CURL.GUI.BASE.

SequenceBox へのオブジェクトの追加と関連したパラメータの解析を容易にするために設計されたクラス。

オーバーライド

このクラスのオーバーライドは、独自に SequenceBox を作成している場合にのみ有効です。通常は、SequenceBoxAddParser のインスタンスを作成し、SequenceBoxAddParser.process-add-args を呼び出すことで SequenceBox.add 内からそのインスタンスを使用します。
SequenceBoxAddParser.process-add-args が呼び出される前に SequenceBoxAddParser.box が正しく設定されていることを確認しますが、これは SequenceBoxAddParser の実装によって行う必要があります。通常、これはファクトリーまたはコンストラクタで行われます。
SequenceBoxAddParser の実装におけるパフォーマンスを上げるために、SequenceBoxAddParser クラスのインスタンスをキャッシュすることができます。そうすれば、SequenceBox にオブジェクトが追加されるたびに新しいものを作成しなくても、そのインスタンスを再利用することができます。これが正しく機能するためには、SequenceBoxAddParser.release をオーバーライドする必要があります。
キャッシュ方式でオブジェクトを追加するときは、次のように SequenceBox.add メソッドを実装する必要があります。
  • すでに格納されているインスタンスがある場合は、SequenceBoxAddParser.box を設定し、そのインスタンスをストレージから削除することで、そのインスタンスを初期化します。そうでない場合は、新しいインスタンスを割り当てます。(サブクラスでもその他の初期化が必要な場合があります。)
  • 通常どおり追加を続行します。
  • SequenceBoxAddParser.release を呼び出し、インスタンスをストレージに返します。
SequenceBoxAddParser.release の基本実装を呼び出さないように、注意してください。

プロパティ
box:この SequenceBoxAddParser が属する SequenceBox
フィールド protected SequenceBoxAddParser.box:SequenceBox ={uninitialized-value-for-type SequenceBox}
graphic:SequenceBox に追加されるグラフィック オブジェクト。
フィールド protected SequenceBoxAddParser.graphic:any

メソッド
add-at-index:SequenceBoxAddParser.graphicSequenceBoxAddParser.box に追加することで、追加操作を完了します。
protected {SequenceBoxAddParser.add-at-index}:#Graphic
keyword-init-arg:SequenceBox.add に渡された残余引数を処理します。
protected {SequenceBoxAddParser.keyword-init-arg
key:String,
value:any
}:void
non-keyword-init-arg:SequenceBox.add に渡された非キーワード引数を処理します。
protected {SequenceBoxAddParser.non-keyword-init-arg a:any}:void
process-add-args:SequenceBox にオブジェクトを追加する操作と関連したすべての引数を処理し、最後にそのオブジェクトを追加します。
public {SequenceBoxAddParser.process-add-args g:any, ...}:#Graphic
reinitialize:前の SequenceBox との関連付けの削除を含め、SequenceBoxAddParser を完全にリセットします。
protected {SequenceBoxAddParser.reinitialize}:void
release:後続の追加操作で再利用できるように SequenceBoxAddParser インスタンスを解放します。
protected {SequenceBoxAddParser.release}:void
reset:新しい追加を解析するように既存の SequenceBoxAddParser を準備します。
protected {SequenceBoxAddParser.reset}:void
メソッド 継承 InitRestArgParser: process-rest-args
メソッド 継承 Object: object-describe, object-describe-for-debugging, object-serialize




プロパティ詳細
box (フィールド)
protected SequenceBoxAddParser.box:SequenceBox ={uninitialized-value-for-type SequenceBox}

この SequenceBoxAddParser が属する SequenceBox



graphic (フィールド)
protected SequenceBoxAddParser.graphic:any

SequenceBox に追加されるグラフィック オブジェクト。






メソッド詳細
add-at-index (メソッド)
protected {SequenceBoxAddParser.add-at-index}:#Graphic

SequenceBoxAddParser.graphicSequenceBoxAddParser.box に追加することで、追加操作を完了します。

オーバーライド

このメソッドをオーバーライドするサブクラスは、追加のために self.graphicGraphic にキャストする必要があります。


keyword-init-arg (メソッド)
protected {SequenceBoxAddParser.keyword-init-arg
key:String,
value:any
}:void

SequenceBox.add に渡された残余引数を処理します。

説明

既定の実装は、キーワード引数 indexbefore、および after を認識します。これらのキーワードは、SequenceBox 内における新しいオブジェクトの絶対位置または既存の子に対する相対位置を記述するものです。

オーバーライド

サブクラスは通常、後で使用する予定のあるパラメータを記録するのにフィールドを使用します。たとえば、Canvas はこのメカニズムを使用して、x および y キーワード引数を記録します。(Canvas では、これらが新しいオブジェクトの位置を示します。)


non-keyword-init-arg (メソッド)
protected {SequenceBoxAddParser.non-keyword-init-arg a:any}:void

SequenceBox.add に渡された非キーワード引数を処理します。

オーバーライド

このメソッドは通常オーバーライドされません。既定の実装により、aSequenceBoxAddParser.graphic に格納されます。(複数の非キーワード引数が渡されると、このメソッドが複数回呼び出されることになり、エラーが発生します)。


process-add-args (メソッド)
public {SequenceBoxAddParser.process-add-args g:any, ...}:#Graphic

SequenceBox にオブジェクトを追加する操作と関連したすべての引数を処理し、最後にそのオブジェクトを追加します。

説明

このメソッドは通常、SequenceBox.add (または同じメソッドのオーバーライド済みバージョン) の中から呼び出されます。


reinitialize (メソッド)
protected {SequenceBoxAddParser.reinitialize}:void

前の SequenceBox との関連付けの削除を含め、SequenceBoxAddParser を完全にリセットします。

説明

このメソッドは、SequenceBoxAddParser 再割り当てを回避するためにインスタンスをキャッシュするときに使用します。
このメソッドは SequenceBoxAddParser.release によって呼び出されます。

オーバーライド

キャッシュに関する注意については、SequenceBoxAddParser クラスの資料を参照してください。
SequenceBoxAddParser.reinitialize をオーバーライドするときは、super.reinitialize を呼び出す必要があります。


release (メソッド)
protected {SequenceBoxAddParser.release}:void

後続の追加操作で再利用できるように SequenceBoxAddParser インスタンスを解放します。

注意事項

この実装がサブクラスで呼び出される場合は、エラーがスローされます。すべてのサブクラスでこの実装をオーバーライドする必要があります。また、サブクラスの実装でスーパークラス メソッドを呼び出さないでください。
この実装では、self.reinitialize を呼び出し、キャッシュに self を返します。

オーバーライド

SequenceBoxAddParser インスタンスのキャッシュを実装するには、このメソッドをオーバーライドする必要があります。詳細については、SequenceBoxAddParser の資料を参照してください。

このメソッドのオーバーライドされた実装は、SequenceBoxAddParser.reinitialize を呼び出す必要があります。


reset (メソッド)
protected {SequenceBoxAddParser.reset}:void

新しい追加を解析するように既存の SequenceBoxAddParser を準備します。

説明

このメソッドは、引数を実際に処理する前に、SequenceBoxAddParser.process-add-args の既定実装によって呼び出されます。

オーバーライド

このメソッドは主として、SequenceBoxSequenceBoxAddParser の実装によって SequenceBoxAddParser クラスのインスタンスをキャッシュする場合に役立ちます。通常は、追跡するすべてのパラメータを、それぞれの初期値にリセットする必要があります。また、super.reset を呼び出すことも重要です。