アドオンの作成
AddOn オブジェクトの作成方法を、次の Java™ および C# の例に示します。
AddOn オブジェクトの新しいインスタンスは、Domain オブジェクトと、ドメインの Global Configuration Database (GCD) で AddOn を識別する固有の GUID を渡すことにより作成されます。インポートされるデータは、FileInputStream として AddOn オブジェクトに設定されます。次に、Prerequisites プロパティーを含むオブジェクトのプロパティーが設定されます。GUID で指定する、前提条件である AddOn は、この新しい AddOn オブジェクトをインストールする前にインストールしなければなりません。最後に、新規 AddOn オブジェクトが保存され、これによってドメインの GCD に登録されます。登録済みアドオンのリストは Domain オブジェクトから取得できます。
Java の例
public void createAddon(Domain domain)
{
// AddOn オブジェクトを作成するUse the same Id value for the AddOn instance for all domains.
AddOn addon = Factory.AddOn.createInstance(domain,
new Id("{70f5fb79-32fb-412f-930f-ce5d40fa5c9a}") );
// インポートするデータの FileInputStream を作成し、
// それを AddOn オブジェクトで設定
File importDataset = new File("C:¥¥temp¥¥Addon_v1.xml");
// Windows 以外: File importDataset = new File("/tmp/Addon_v1.xml");
FileInputStream fis = null;
try
{
fis = new FileInputStream(importDataset);
}
catch (FileNotFoundException fnfe)
{
fnfe.printStackTrace();
}
addon.setImportDataStream(fis);
// AddOn オブジェクトのプロパティーを設定
IdList preRequisiteList = Factory.IdList.createList();
preRequisiteList.add(new Id("{a3b865d4-41c4-4e9d-8e97-e9eb54e5752c}") );
addon.set_Prerequisites(preRequisiteList);
addon.set_AddOnType(AddOnType.OPTIONAL);
addon.set_DisplayName("Addon_v2");
addon.set_DescriptiveText("Installs classes and properties necessary for v2 functionality");
addon.set_Creator("CEMP Integrators");
addon.save(RefreshMode.NO_REFRESH);
}
C# の例
public void createAddon(IDomain domain)
{
IAddOn addon = Factory.AddOn.CreateInstance(domain,
new Id("{70f5fb79-32fb-412f-930f-ce5d40fa5c9a}") );
// インポートするデータの Stream を作成し、
// それを IAddOn オブジェクトで設定
Stream fileStream = File.OpenRead("C:¥¥temp¥¥Addon_v1.xml");
addon.SetImportDataStream(fileStream);
// IAddOn オブジェクトのプロパティーを設定
IIdList preRequisiteList = Factory.IdList.CreateList();
preRequisiteList.Add(new Id("{a3b865d4-41c4-4e9d-8e97-e9eb54e5752c}"));
addon.Prerequisites = preRequisiteList;
addon.AddOnType = AddOnType.OPTIONAL;
addon.DisplayName = "C#Addon_v2";
addon.DescriptiveText = "Installs classes and properties necessary for v2 functionality");
addon.Creator = "CEMP Integrators";
addon.Save(RefreshMode.NO_REFRESH);
}