StringBoundaryLocator (クラス)
public abstract StringBoundaryLocator {inherits {Iterator-of int}}
パッケージ: CURL.UTIL.UNICODE

StringInterface 内に境界を配置するためのインターフェイスです。

説明

このクラスのオブジェクトによって見つかった境界は、文字の間に発生します。境界のインデックスが 0 の場合は、最初の文字の直前の位置を参照します。境界のインデックスが 1 の場合は、1 番目の文字の直後で 2 番目の文字の前の位置を参照します。境界のインデックスは、最後の文字の直後の位置を参照する string のサイズと等しくなります。
Curl 実行環境自身によって使用される境界ロケーターは、StringBoundaryLocatorMaker.get-line-boundary-locatorStringBoundaryLocatorMaker.get-word-boundary-locator メソッドで利用可能な単語と行の境界ロケーターです。
導入: バージョン 6.0

コンストラクタ
default:新しい StringBoundaryLocator を作成します。
コンストラクタ public {StringBoundaryLocator.default
string:StringInterface,
min-index:int = 0,
max-index:int = string.size,
initial-index:int = min-index
}

プロパティ
_index:string 内の境界ロケーターの現在のインデックスです。
フィールド protected StringBoundaryLocator._index:int
at-boundary?:現在のインデックスに境界があるかどうかを示します。
アクセサ public abstract StringBoundaryLocator.at-boundary?:bool
index:string 内の境界ロケーターの現在のインデックスです。
アクセサ public StringBoundaryLocator.index:int
セッター public StringBoundaryLocator.index:int
initial-index:境界ロケーターの初期インデックスです。
フィールド public-get protected-set StringBoundaryLocator.initial-index:int
max-index:コンストラクタで設定された、境界の最大インデックスです。
フィールド public-get protected-set StringBoundaryLocator.max-index:int
min-index:境界ロケーターの最小インデックスです。
フィールド public-get protected-set StringBoundaryLocator.min-index:int
reverse?:境界ロケーターが反対に操作されるべきかどうかを示します。
フィールド public StringBoundaryLocator.reverse?:bool
string:境界が配置されているStringInterface です。
フィールド public-get protected-set StringBoundaryLocator.string:StringInterface =""

メソッド
read-one:次の境界を配置します。
public {StringBoundaryLocator.read-one}:(val:int, eof?:bool)
reset:self を初期の状態にリセットします。
public {StringBoundaryLocator.reset}:void
set-string:文字列(またはその文字列内の部分文字列)をこの境界ロケーターが操作する場所に設定します。
public {StringBoundaryLocator.set-string
string:StringInterface,
min-index:int = 0,
max-index:int = string.size,
initial-index:int = min-index
}:void
メソッド 継承 Iterator-of: read-one-as-any, to-Iterator
メソッド 継承 Object: object-describe, object-describe-for-debugging, object-serialize



コンストラクタ詳細
default (コンストラクタ)
public {StringBoundaryLocator.default
string:StringInterface,
min-index:int = 0,
max-index:int = string.size,
initial-index:int = min-index
}

新しい StringBoundaryLocator を作成します。

string: 境界が検出されるべき StringInterface です。 値が WritableString の場合、set-string を呼び出すことで文字列が更新されるとロケーターは通知される必要があります。
min-index: string 内の境界ロケーターの最小インデックスです。
max-index: string 内の境界ロケーターの最大インデックスです。
initial-index: string 内の境界ロケーターの初期インデックスです。

説明

コンストラクタは、値を初期化するために set-string を呼び出します。
導入: バージョン 6.0



プロパティ詳細
_index (フィールド)
protected StringBoundaryLocator._index:int

string 内の境界ロケーターの現在のインデックスです。

説明

代わりに、アプリケーションでは通常 index を使用します。 境界ロケーターのインデックスは、min-index 以上で、max-index 以下でなければなりません。 インデックスは、境界上にはなりえません。インデックスが境界上かどうかを確認するために、at-boundary? を使用してください。
導入: バージョン 6.0


at-boundary? (アクセサ)
アクセサ public abstract StringBoundaryLocator.at-boundary?:bool

現在のインデックスに境界があるかどうかを示します。

注意事項

境界が、min-indexmax-index 上に存在する必要はありません。 ロケーターは、方向によって境界の振る舞いが異なる可能性があるため、reverse? が変更される時に、at-boundary? の値が変わる可能性があることに注意してください。
導入: バージョン 6.0


index (アクセサ)
アクセサ public StringBoundaryLocator.index:int
セッター public StringBoundaryLocator.index:int

string 内の境界ロケーターの現在のインデックスです。

説明

境界ロケーターのインデックスは、min-index 以上かつ max-index 以下でなければなりません。インデックスにこの範囲外の値が設定された場合、エラーがスローされます。 インデックスは境界上にはなりえません。インデックスが境界上かどうかを確認するために、at-boundary? を使用してください。
導入: バージョン 6.0


initial-index (フィールド)
public-get protected-set StringBoundaryLocator.initial-index:int

境界ロケーターの初期インデックスです。

説明

reset が呼び出される時、この値は index を設定するために使用されます。
導入: バージョン 6.0


max-index (フィールド)
public-get protected-set StringBoundaryLocator.max-index:int

コンストラクタで設定された、境界の最大インデックスです。

説明

境界ロケーターのインデックスは、この値以下でなければなりません。 最大のインデックスは、0 以上かつ string の長さ以下でなければなりません。
導入: バージョン 6.0


min-index (フィールド)
public-get protected-set StringBoundaryLocator.min-index:int

境界ロケーターの最小インデックスです。

説明

境界ロケーターのインデックスは、この値以上でなければなりません。 最小のインデックスは、0 以上かつ string の長さ以下でなければなりません。
導入: バージョン 6.0


reverse? (フィールド)
public StringBoundaryLocator.reverse?:bool

境界ロケーターが反対に操作されるべきかどうかを示します。

説明

reverse?true の場合、read-one を呼び出すとインデックスは増えずに減ります。 ロケーターは、方向によって境界の振る舞いが異なる可能性があるため、reverse? が変更される時に、at-boundary? の値が変わる可能性があることに注意してください。
導入: バージョン 6.0


string (フィールド)
public-get protected-set StringBoundaryLocator.string:StringInterface =""

境界が配置されているStringInterface です。

注意事項

値が WritableString の場合、set-string を呼び出すことで文字列が更新されるとロケーターは通知される必要があります。
導入: バージョン 6.0





メソッド詳細
read-one (メソッド)
public {StringBoundaryLocator.read-one}:(val:int, eof?:bool)

次の境界を配置します。

戻り値

追加の境界が配置されうる場合、インデックスはその境界へ移動され、戻り値は新しいインデックスと false になります。そうでなければ、インデックスは変わらずに、戻り値は古いインデックスと true になります。

説明

reverse?true の場合、read-one を呼び出すとインデックスは増えずに減ります。


reset (メソッド)
public {StringBoundaryLocator.reset}:void

self を初期の状態にリセットします。

説明

このメソッドが呼び出されると、次に続く self.read-one の呼び出しは self の作成後の最初の self.read-one の呼び出しで返されたのと同じ結果を返します。


set-string (メソッド)
public {StringBoundaryLocator.set-string
string:StringInterface,
min-index:int = 0,
max-index:int = string.size,
initial-index:int = min-index
}:void

文字列(またはその文字列内の部分文字列)をこの境界ロケーターが操作する場所に設定します。

string: 境界が配置されているStringInterface です。
min-index: string 内の境界ロケーターの最小インデックスです。
max-index: string 内の境界ロケーターの最大インデックスです。
initial-index: string 内の境界ロケーターの初期インデックスです。

オーバーライド

このメソッドの既定の実装では、インデックスの不変性が保たれていることを保証します。このメソッドをオーバーライドしたサブクラスは、super.set-string を呼び出すかそのような不変性の確認を自身で行う必要があります。 stringWritableString になりえるため、このメソッドは文字列の値が変わった場合に呼び出される必要があります。このメソッドをオーバーライドしたサブクラスでは、string を現在の値に設定するための呼び出しを無視することで最適化しようとしてはいけません。
導入: バージョン 6.0