次の例は、SimpleInstanceProvider によって提供される Ex_SimpleInstanceProvider クラスを CIM Object Manager に宣言する MOF ファイルを示したものです (例 5–1) 。MOF ファイルのプロバイダ名とクラス名は、次の規則に従っていなければなりません。
クラス名は有効な CIM スキーマ名でなければなりません。つまり、クラス名には、接頭辞とその後に続く下線が必要です。たとえば、green_apples や red_apples は有効な CIM スキーマ名ですが、apples は有効な CIM スキーマ名ではありません。
クラス名は、MOF ファイルのプロバイダに指定されているクラス名と同じでなければなりません。例 5–5 の MOF ファイルには、以下のように Ex_SimpleInstanceProvider クラスが定義されています。
class Ex_SimpleInstanceProvider
例 5–1 のプロバイダ中の enumInstances メソッドには、以下のようにこれと同じクラス名が指定されています。
public Vector enumInstances(CIMObjectPath op, boolean deep, CIMClass cc) throws CIMException { if (op.getObjectName().equalsIgnoreCase("Ex_SimpleInstanceProvider"))
MOF ファイルに指定するプロバイダ名は、プロバイダクラスファイルの名前と同じでなければなりません。例 5–5 の MOF ファイルには、以下のように Ex_SimpleInstanceProvider クラスのプロバイダとして SimpleInstanceProvider が指定されています。
[Provider("SimpleInstanceProvider")] class Ex_SimpleInstanceProvider
// =================================================================== // Title: SimpleInstanceProvider // Filename: SimpleInstanceProvider.mof // Description: // =================================================================== // ================================================================== // Pragmas // ================================================================== #pragma Locale ("en-US") // ================================================================== // SimpleInstanceProvider // ================================================================== [Provider("SimpleInstanceProvider")] class Ex_SimpleInstanceProvider { // プロパティ [Key, Description("First Name of the User")] string First; [Description("Last Name of the User")] string Last; };