このサンプルは、登録済みのカテゴリーとプロパティーのリストをプログラムで取得する方法を示します。現在のところ、登録済みのカテゴリーとプロパティーの名前を取得することができます。カテゴリーごとに、カテゴリーのインスタンスを取得でき、各インスタンスのプロパティー値を取得できます。
カテゴリー、プロパティー、およびインスタンスに関する情報を取得するには、「API サンプル」->「プロパティー情報」アクションを選択します。
登録済みのカテゴリーごとに、カテゴリーの名前、カテゴリーのプロパティー、およびカテゴリーのインスタンスが、ワークベンチに関連付けられた標準出力に表示されます。これは、ワークベンチが開始された DOS ウィンドウ、またはランタイム・ワークベンチの場合はホスティング・ワークベンチの「コンソール」ビューに表示されます。
ZOSPropertyGroupManager manager = ZOSPropertyGroupManager.getZOSPropertyGroupManager(); // Retrieve registered categories List<ICategory> categories = manager.getCategories();
これは、ZOSPropertyGroupManager クラスの getZOSPropertyGroupManager メソッドを使用して取得される ZOSPropertyGroupManager クラスを使用して、登録済みカテゴリーを表す ICategory を取得することから開始します。また、登録済みカテゴリーは、(LocalPropertyGroupManager) クラスを使用しても取得することができます。これは両方の管理機能がプロパティーの登録に同じ Eclipse 拡張ポイントを共有しているためです。
for (ICategory category : categories) {
System.out.println("---------------");
System.out.println("Category: " + category.getName());
// Retrieve registered properties for this category.
List<IPropertyInfo> infos = category.getPropertyInformation();
for (IPropertyInfo info : infos) {
System.out.println(" Property: " + info.getName());
}
// Retrieve category instances for each registered category, and print
// the properties and values for each instance.
List<ICategoryInstance> instances = category.getInstances();
for (ICategoryInstance instance : instances) {
System.out.println(" Instance: ");
List<IProperty> properties = instance.getProperties();
for (IProperty property : properties) {
System.out.println(" ----");
System.out.println(" Property name: " + property.getName());
System.out.println(" Property value: " + property.getValue());
}
}
各カテゴリーは名前を持ち、そのカテゴリーの登録済みプロパティーの名前を保持する IPropertyInfo オブジェクトの取得が可能です。
各カテゴリーでは、プロパティー値を保持する ICategoryInstance オブジェクトの取得が可能です。 最後に、ICategoryInstance オブジェクトから取得される IProperty オブジェクトは、プロパティーの名前とプロパティー値を保持します。
<extension
id="com.ibm.ftt.api.samples.actionSets"
name="%apiSample.actionSets"
point="org.eclipse.ui.actionSets">
<actionSet label="com.ibm.ftt.api.samples.actionSet1"
description="Action set for the API samples"
visible="true"
id="com.ibm.ftt.api.samples.actionSet1">
<menu label="%apiMenu.title"
id="com.ibm.ftt.api.samples.apiMenu">
<separator name="com.ibm.ftt.api.samples.apiMenu.resourcesAPI"/>
</menu>
<action label="%apiMenu.samples.listProperties"
class="com.ibm.ftt.api.samples.resources.ListPropertiesAction"
style="push" menubarPath=
"com.ibm.ftt.api.samples.apiMenu/com.ibm.ftt.api.samples.apiMenu.resourcesAPI"
id="com.ibm.ftt.api.samples.listPropertiesAction"/>
......
</actionSet>
</extension>