public class LayoutFileParser
extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
static class |
LayoutFileParser.Token
フォーマット定義ファイルの構文定義上の終端要素(トークン)。
|
static class |
LayoutFileParser.Tokenizer
フォーマット定義ファイルの字句要素解析器
|
static class |
LayoutFileParser.TokenType
フォーマット定義ファイルの終端要素(トークン)の種別
|
Constructor and Description |
---|
LayoutFileParser(java.lang.String filePath)
コンストラクタ。
|
LayoutFileParser(java.lang.String filePath,
java.lang.String encoding)
コンストラクタ。
フォーマット定義ファイルのエンコーディングを指定する。
|
Modifier and Type | Method and Description |
---|---|
java.lang.Object[] |
argsOpt()
コンバータのオプション定義を読み込む。
|
void |
conditionalStatement(RecordDefinition record)
レコードタイプ判定条件を読み込む
|
void |
conditionalStatements(RecordDefinition record)
レコードタイプ判定条件定義部を読み込む
|
LayoutFileParser.Token |
consume()
次のトークンを返し、読み込んだトークン分のだけ読み出し位置を進める。
|
LayoutFileParser.Token |
consume(LayoutFileParser.TokenType type)
次のトークンを読み込み、読み出し位置を進める。
このとき、読み込んだトークンの種別が指定したものと異なる場合は実行時例外を送出する。
|
boolean |
consumeIfFollowing(LayoutFileParser.TokenType type)
次のトークンが指定した種別のものである場合のみ、それを読み込んでスキャナの
位置を進める。
種別が一致しない場合は何もしない。
|
protected LayoutDefinition |
createDefinition(java.lang.String filePath)
パース結果を格納するクラスを生成し、フィールドに設定する。
|
void |
directive(LayoutDefinition definition)
動作設定(ディレクティブ)を読み込む。
|
void |
directives(LayoutDefinition definition)
共通設定部をパースする。
|
FieldDefinition |
fieldFormat()
フィールド定義を読み込む。
|
void |
fieldFormats(LayoutDefinition layout,
RecordDefinition record)
フィールド定義部をパースする。
|
java.lang.Object |
literal()
リテラル値を読み込む。
|
LayoutDefinition |
parse()
フォーマット定義ファイルをパースし、その内容を渡されたオブジェクトに設定する。
|
LayoutFileParser.Token |
peek()
次のトークンを返却する。
ただし、現在の読み出し位置は変更しない。
|
void |
recordFormat(LayoutDefinition layout)
レコード定義を読み込む。
|
void |
recordFormats(LayoutDefinition layout)
レコードタイプ定義部をパースする。
|
void |
valueConvertor(FieldDefinition field)
フィールド値のタイプ定義およびコンバート定義を読み込む。
|
void |
valueConvertors(FieldDefinition field)
フィールドに設定されているすべてのコンバート定義を読み込む。
|
@Published(tag="architect") public LayoutFileParser(java.lang.String filePath)
filePath
- フォーマット定義ファイルのパス@Published(tag="architect") public LayoutFileParser(java.lang.String filePath, java.lang.String encoding)
filePath
- フォーマット定義ファイルのパスencoding
- フォーマット定義ファイルのエンコーディングprotected LayoutDefinition createDefinition(java.lang.String filePath)
filePath
- フォーマット定義ファイルのパス@Published(tag="architect") public LayoutDefinition parse() throws SyntaxErrorException
SyntaxErrorException
- フォーマット定義ファイル内に構文エラーが存在した場合。public void directives(LayoutDefinition definition)
definition
- フォーマット定義情報保持クラスpublic void directive(LayoutDefinition definition)
definition
- フォーマット定義情報保持クラスpublic void recordFormats(LayoutDefinition layout)
layout
- フォーマット定義情報保持クラスpublic void recordFormat(LayoutDefinition layout)
layout
- フォーマット定義情報保持クラスpublic void fieldFormats(LayoutDefinition layout, RecordDefinition record)
layout
- フォーマット定義情報保持クラスrecord
- レコードフォーマット定義public void conditionalStatements(RecordDefinition record)
record
- レコードフォーマット定義public void conditionalStatement(RecordDefinition record)
record
- レコードフォーマット定義public FieldDefinition fieldFormat()
public void valueConvertors(FieldDefinition field)
field
- フィールドフォーマット定義public void valueConvertor(FieldDefinition field)
field
- フィールド定義public java.lang.Object[] argsOpt()
public java.lang.Object literal()
public LayoutFileParser.Token peek()
public LayoutFileParser.Token consume() throws SyntaxErrorException
SyntaxErrorException
- 読み出し位置が既に終端に達している場合public LayoutFileParser.Token consume(LayoutFileParser.TokenType type) throws SyntaxErrorException
type
- 読み込むトークンの種別SyntaxErrorException
- 読み込んだトークンが指定したものと異なる場合。public boolean consumeIfFollowing(LayoutFileParser.TokenType type)
type
- 読み込むトークンの種別