public interface Unit extends Component
ファイルや文字列からユニット情報を読み込むにはユーティリティUnits
の各種メソッドを利用する。
List<Unit> us = Units.fromFile("/path/to/unitdef");
ユニットはそれ自身の名称を含むユニット属性パラメータAttributes
と
ユニット定義パラメータParameter
のリスト、そして下位ユニットUnit
のリストを持つ。
これらの情報へはそれぞれ対応するgetterメソッドを通じてアクセスできるほか、
query(Query)
メソッドを通じて問合せることもできる。
問合せのパラメータとなるQuery
については各種の定義済みオブジェクトがユーティリティ
Queries
において提供されている。
import static org.unclazz.jp1ajs2.unitdef.query.UnitQueries.*; Unit u = ...; Iterable<Unit> cs = u.query(children()); Iterable<Unit> csTypeIsPcJob = u.query(children() .typeIs(UnitType.PC_JOB)); Iterable<Unit> usNameStartsWithFoo = u.query(descendants() .nameStartsWith("foo").list()); MapSize sz = u.query(sz().one()); List<Element> els = u.query(el().list()); Iterable<Tuple> arTuplesAll = u.query(itSelfAndDescendants() .theirParameters().nameEquals("ar") .theirValues().at(0).typeIsTuple());
ユニット定義を構成する情報は非常に多岐にわたり それらはHITACHIのリファレンスの記述においても必ずしも網羅されているわけではない。 あるユニット種別のユニットがどのユニット定義パラメータを保持することが許容されているか、 あるユニット定義パラメータはどのような組み合わせで、どのようなフォーマットで、 どのような制約のものとで設定可能であるか、これらは必ずしも明確にされていない。 したがってこのインターフェースはユニット定義ファイルをパースした結果に対する 参照オペレーションのみを提供し、かつその参照される情報の適正性については保証しない。
修飾子とタイプ | メソッドと説明 |
---|---|
Attributes |
getAttributes()
ユニット属性パラメータを返す.
|
CharSequence |
getComment()
コメントを返す.
|
FullQualifiedName |
getFullQualifiedName()
ユニットの完全名を返す.
|
String |
getName()
ユニット名を返す.
|
List<Parameter> |
getParameters()
ユニット定義パラメータのリストを返す.
|
Unit |
getSubUnit(String name)
下位ユニットを返す.
|
List<Unit> |
getSubUnits()
下位ユニットのリストを返す.
|
UnitType |
getType()
ユニット種別を返す.
|
<R> R |
query(Query<Unit,R> q)
クエリを使用してユニット定義から情報を取り出す.
|
contentEquals, contentEquals, serialize
FullQualifiedName getFullQualifiedName()
このメソッドが返す完全名は、あくまでもオブジェクトが生成される元になったユニット定義ファイルにおける ルート・ユニットを起点としたものであり、JP1/AJS2 Viewなどで確認できる完全名とは異なる可能性がある。
Attributes getAttributes()
String getName()
ユニット名はユニット属性パラメータのうちでも必須の項目であるため、
メソッドが返す値はnull
でも""
でもないことが保証されている。
UnitType getType()
ユニット定義パラメータtyがすべてのユニット種別における必須項目であるため、
このメソッドが返す値がnull
ではないことが保証されている。
CharSequence getComment()
ユニット定義パラメータcmが存在しない場合は""
を返す。
List<Parameter> getParameters()
ユニット定義パラメータtyがすべてのユニット種別における必須項目であるため、 このメソッドが返すリストの要素数は必ず1以上になる。
<R> R query(Query<Unit,R> q)
R
- クエリにより返される値の型q
- クエリList<Unit> getSubUnits()
下位ユニットが1つも存在しない場合、このメソッドは空のリストを返す。
Copyright © 2016. All rights reserved.