(クラス)
create: | 新しい CsvRecordSet を作成して初期化し、既存のファイルが存在すれば上書きします。 |
コンストラクタ public | {CsvRecordSet.create} |
default: | 新しい StoredRecordSet を初期化して返します。 |
コンストラクタ public | {CsvRecordSet.default} |
フィールド protected CsvRecordSet.backup-done?:
bool =false
フィールド public-get protected-set CsvRecordSet.backup?:
bool
フィールド public-get protected-set CsvRecordSet.character-encoding:
CharEncoding ="utf8"
フィールド public CsvRecordSet.header-line-count:
int =0
フィールド public-get protected-set CsvRecordSet.url:
Url
protected | {CsvRecordSet.backup-if-needed}:void |
public | {CsvRecordSet.import}:int |
protected | {CsvRecordSet.load-records}:void |
protected | {CsvRecordSet.write-record r:Record}:void |
protected | {CsvRecordSet.write-records}:void |
メソッド 継承 BasicRecordSet:
allocate-record, append, append-row-data, commit-record, deindex-record, deindex-record-field, delete-all, delete-record, index-record, index-record-field, init, internal-store-record, member?, new-record, revert, revert-record, set-value, to-Iterator, validate-record, validate-value
(コンストラクタ)
public | {CsvRecordSet.create} |
新しい CsvRecordSet を作成して初期化し、既存のファイルが存在すれば上書きします。
url: CSV ファイルが格納されている場所です。
header: オプションのヘッダー テキストです。
character-encoding: ファイルの文字エンコーディングです。
backup?: true の場合、最初に CsvRecordSet が保存された時点でバックアップが作成されます。
...:
EventHandler または
RecordData インスタンスが含まれる場合があります。このレコード セットにイベント ハンドラがアタッチされます。
RecordData オブジェクトが渡されると、レコードが作成され、指定のデータを保持するためにアタッチされます。
(コンストラクタ)
public | {CsvRecordSet.default} |
新しい StoredRecordSet を初期化して返します。
説明
レコードセットの内容は、
url パラメータで指定されたファイルに格納されます。このファイルが存在しないと、レコードセットは開始時は空で、最初に
CsvRecordSet.commit メソッドが呼び出された時点でファイルが作成されます (コミットされていない変更があることが前提)。
url: CSV ファイルが格納されている場所です。
header-line-count: CSV ファイル ヘッダーの行数です。
header: ヘッダー行です。このパラメータが必要なのは、最初に
CsvRecordSet が保存される時点のみです。
modifiable?:
CsvRecordSet のデータが変更されるのは、
modifiable? が true の場合だけです。
character-encoding: ファイルの文字エンコーディングです。
backup?: true の場合、最初に CsvRecordSet が保存された時点でバックアップが作成されます。
...: このレコード セットにアタッチされるイベント ハンドラです。
(フィールド)
(フィールド)
protected CsvRecordSet.backup-done?:
bool =false
最初は false ですが、バックアップが実行されると、true に設定されます。
(フィールド)
public-get protected-set CsvRecordSet.backup?:
bool true の場合、最初に CsvRecordSet がコミットされた時点で現在のファイルの名前が変更されます。
説明
バックアップ ファイルは、最初にレコードセットがロードされた後で 1 回だけ作成されます。この実装では、バックアップ ファイルのサフィックスとしてティルデ (~) を使用します。
(フィールド)
public-get protected-set CsvRecordSet.character-encoding:
CharEncoding ="utf8"
(アクセサ)
ヘッダー行です。
説明
ヘッダーは、CsvRecordSet が作成されると読み取られ、ファイルが保存されるたびに書き出されます。
通常、ヘッダーは、最初に
CsvRecordSet が作成されるそのときに提供されます。その後、レコードセットがロードされるとファイルから読み取られ、更新がファイルに書き込まれるときにもう一度ファイルに書き出されます。
(フィールド)
public CsvRecordSet.header-line-count:
int =0
データ レコードの読み取り前に読み取られるファイルの先頭部分の行数です。
(フィールド)
(フィールド)
public-get protected-set CsvRecordSet.url:
Url
(メソッド)
protected | {CsvRecordSet.backup-if-needed}:void |
可能な場合は、既存のデータ ファイルのバックアップを作成します。
説明
(メソッド)
public | {CsvRecordSet.import}:int |
reader のデータをインポートします。
説明
reader: このレコードセットに追加されるレコードのソースです。
converters: 必要に応じ、データ値用に特殊化されたパーサーを提供する RecordData です。たとえば、
converters が次のように指定されているとします。
converters =
{RecordData
amount = {CsvImportNumberConverter {StandardDoubleDomain}},
due-date = {CsvImportDateConverter {StandardDateDomain}}
}
これは、
amount フィールドが変換されると、
CsvImportNumberConverter が使用され、
due-date フィールドが変換されると、
CsvImportDateConverter が使用されることを示します。他のフィールドでは、変換にフィールドの
Domain が使用されます。
append?: true の場合、インポートされたレコードがこの
CsvRecordSet に追加されます。false の場合、レコードセットがクリアされてから新しいレコードがインポートされます。
ignore-bad-values?: false の場合、文字列から値への変換でエラーが発生すると、例外がスローされます。true の場合、変換が失敗すると、列の既定値がレコードに格納されます。
adjustment-proc: CSV ファイルがインポートされる時、データの各行は
StringArray に構成されます。
adjustment-proc が指定されている場合は、値が解析される前にその配列を修正することができます。これは列の追加や、列の統合、それらが処理される前に入力データをきれいにすることについて便利です。
(メソッド)
protected | {CsvRecordSet.load-records}:void |
すべてのレコードを格納場所のファイルからロードします。
説明
(メソッド)
(メソッド)
(メソッド)
protected | {CsvRecordSet.write-record r:Record}:void |
TextDataWriter を使用して RecordSet レコードを書き込みます。
説明
このクラスは、カンマ区切り値 (CSV) 形式を使用してレコードを書き込みます。
- レコードは '\n' によって区切られます。
- フィールドは ',' によって区切られます。
- ',' を含むフィールドは '"' によって区切られ、その中の '"' は二重となります。
このメソッドは、レコードセットの変更のコミット中に呼び出されることを前提にして、RecordState.appended および RecordState.original の状態のレコードしか書き込みません。こうしたレコードは、まさにコミットが成功した後に残るレコードです。
オーバーライド
(メソッド)
protected | {CsvRecordSet.write-records}:void |
レコードをストレージに書き込みます。
説明
このメソッドはレコードをループし、レコードの状態が RecordState.deleted または RecordState.detached でない場合に self.write-record を呼び出します。
オーバーライド