【手続補正書】
【提出日】平成18年4月5日(2006.4.5)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
共通のメモリ管理コードから生成されるメモリ管理実行ファイルを有するサブクラスを作成する方法であって、コンピュータで実現されるステップを含み、前記コンピュータで実現されるステップは、
共通のメモリ管理インターフェイスおよびインプリメンテーションを含むメモリ管理テンプレートへのパラメータとして、データベースにアクセスするために作成またはアクセスされる第１のオブジェクトの第１の抽象クラスを渡すことによって第１の特化されたテンプレートを生成するステップを含み、それによって、前記第１の特化されたテンプレートは前記第１の抽象クラスに特化され、前記共通のメモリ管理インターフェイスおよびインプリメンテーションから得られたメモリ管理実行ファイルを含み、
前記第１のオブジェクトは、（ａ）データベース接続オブジェクト、（ｂ）データベース照会ステートメントオブジェクト、（ｃ）データベース照会結果セットオブジェクトの第１の階層的に関連するグループからの少なくとも１つを含み、前記第１のオブジェクトの各々は対応するメモリに関連付けられ、前記コンピュータで実現されるステップはさらに、
前記メモリ管理テンプレートへのパラメータとして、データベースにアクセスするために作成またはアクセスされる第２のオブジェクトの第２の抽象クラスを渡すことによって第２の特化されたテンプレートを生成するステップを含み、それによって、前記第２の特化されたテンプレートは前記第２の抽象クラスに特化され、前記共通のメモリ管理インターフェイスおよびインプリメンテーションから得られたメモリ管理実行ファイルを含み、
前記第２のオブジェクトは、前記第１のオブジェクトからの前記少なくとも１つのオブジェクトとは異なる、前記第１の階層的に関連するグループからの少なくとも１つのオブジェクトを含み、前記第２のオブジェクトの各々は対応するメモリに関連付けられ、前記コンピュータで実現されるステップはさらに、
前記第１の特化されたテンプレートから第１の特化されたテンプレートのサブクラスを下位に分類するステップを含み、前記第１の特化されたテンプレートのサブクラスは前記第１の抽象クラスのインターフェイスに対するインプリメンテーションを提供し、前記コンピュータで実現されるステップはさらに、
前記第２の特化されたテンプレートから第２の特化されたテンプレートのサブクラスを下位に分類するステップを含み、前記第２の特化されたテンプレートのサブクラスは前記
第２の抽象クラスのインターフェイスに対するインプリメンテーションを提供し、前記コンピュータで実現されるステップはさらに、
破壊されている前記第１または第２のオブジェクトのうちの特定のオブジェクトに応答して、前記第１の階層的に関連するグループの前記階層を表すデータを横断して、前記特定のオブジェクトと、前記階層における前記特定のオブジェクトの下にあるいずれかのオブジェクトとに関連付けられる前記メモリを解放するステップを含む、方法。
【請求項２】
前記メモリ管理テンプレートはプリプロセッサコードとして共通のメモリ管理コードを含む、請求項１に記載の方法。
【請求項３】
第１の特化されたテンプレートを生成する前記ステップは、
前記メモリ管理テンプレートを複製するステップと、
前記第１の抽象クラスの種類を使用して前記メモリ管理テンプレートの複製を特化するステップとを含む、請求項１に記載の方法。
【請求項４】
前記メモリ管理テンプレート内のインターフェイスおよびインプリメンテーションは新規および削除のオペレータに対するインターフェイスおよびインプリメンテーションを含む、請求項１に記載の方法。
【請求項５】
共通のメモリ管理コードは前記新規および削除のオペレータの前記インプリメンテーションで提供される、請求項４に記載の方法。
【請求項６】
前記第１の抽象クラスの前記インターフェイスはファクトリメソッドに対するものである、請求項１に記載の方法。
【請求項７】
前記第１の特化されたテンプレートのサブクラス内の前記第１の抽象クラスのファクトリメソッドのインターフェイスのインプリメンテーションは前記第２の特化されたテンプレートのサブクラスのインスタンスを作成する、請求項６に記載の方法。
【請求項８】
前記第１の特化されたテンプレートを生成する前記ステップはコンパイル中に行なわれる、請求項１に記載の方法。
【請求項９】
前記第１の特化されたテンプレートを生成する前記ステップはコンパイルのプリプロセッサ段階中に行なわれる、請求項８に記載の方法。
【請求項１０】
前記メモリ管理テンプレートは少なくとも１つのデータメンバを含む、請求項１に記載の方法。
【請求項１１】
前記データメンバは前記共通のメモリ管理コードによって使用されるヒープへのポインタを記憶するために使用される、請求項１０に記載の方法。
【請求項１２】
前記第１および第２の特化されたテンプレートのサブクラスはコンストラクタインターフェイスを含む、請求項１に記載の方法。
【請求項１３】
前記第１の抽象クラスの前記インターフェイスはファクトリメソッドに対するものであり、ステートメントオブジェクトは前記ファクトリメソッドが起動されるときに作成される、請求項１２に記載の方法。
【請求項１４】
共通のメモリ管理コードから生成されるメモリ管理実行ファイルを有するサブクラスを作成するための命令の１つまたは複数のシーケンスを運ぶコンピュータ読取可能な媒体で
あって、１つまたは複数のプロセッサによる前記命令の１つまたは複数のシーケンスの実行は、前記１つまたは複数のプロセッサに以下のステップを行なわせ、前記以下のステップは、
共通のメモリ管理インターフェイスおよびインプリメンテーションを含むメモリ管理テンプレートへのパラメータとして、データベースにアクセスするために作成またはアクセスされる第１のオブジェクトの第１の抽象クラスを渡すことによって第１の特化されたテンプレートを生成するステップを含み、それによって前記第１の特化されたテンプレートは前記第１の抽象クラスに特化され、前記共通のメモリ管理インターフェイスおよびインプリメンテーションから得られたメモリ管理実行ファイルを含み、
前記第１のオブジェクトは、（ａ）データベース接続オブジェクト、（ｂ）データベース照会ステートメントオブジェクト、（ｃ）データベース照会結果セットオブジェクトの第１の階層的に関連するグループからの少なくとも１つを含み、前記第１のオブジェクトの各々は対応するメモリに関連付けられ、前記以下のステップはさらに、
前記メモリ管理テンプレートへのパラメータとして、データベースにアクセスするために作成またはアクセスされる第２のオブジェクトの第２の抽象クラスを渡すことによって第２の特化されたテンプレートを生成するステップを含み、それによって前記第２の特化されたテンプレートは前記第２の抽象クラスに特化され、前記共通のメモリ管理インターフェイスおよびインプリメンテーションから得られたメモリ管理実行ファイルを含み、
前記第２のオブジェクトは、前記第１のオブジェクトからの前記少なくとも１つのオブジェクトとは異なる、前記第１の階層的に関連するグループからの少なくとも１つのオブジェクトを含み、前記第２のオブジェクトの各々は対応するメモリに関連付けられ、前記以下のステップはさらに、
前記第１の特化されたテンプレートから第１の特化されたテンプレートのサブクラスを下位に分類するステップを含み、前記第１の特化されたテンプレートのサブクラスは前記第１の抽象クラスのインターフェイスに対するインプリメンテーションを提供し、前記以下のステップはさらに、
前記第２の特化されたテンプレートから第２の特化されたテンプレートのサブクラスを下位に分類するステップを含み、前記第２の特化されたテンプレートのサブクラスは前記第２の抽象クラスのインターフェイスに対するインプリメンテーションを提供し、前記以下のステップはさらに、
破壊されている前記第１または第２のオブジェクトのうちの特定のオブジェクトに応答して、前記第１の階層的に関連するグループの前記階層を表すデータを横断して、前記特定のオブジェクトと、前記階層における前記特定のオブジェクトの下にあるいずれかのオブジェクトとに関連付けられる前記メモリを解放するステップを含む、コンピュータ読取可能な媒体。
【請求項１５】
前記メモリ管理テンプレートはプリプロセッサコードとして共通のメモリ管理コードを含む、請求項１４に記載のコンピュータ読取可能な媒体。
【請求項１６】
第１の特化されたテンプレートを生成するための命令の前記１つまたは複数のシーケンスのステップは以下のステップのための命令の１つまたは複数のシーケンスを含み、前記以下のステップは、
前記メモリ管理テンプレートを複製するステップと、
前記第１の抽象クラスの種類を使用して前記メモリ管理テンプレートの複製を特化するステップとを含む、請求項１４に記載のコンピュータ読取可能な媒体。
【請求項１７】
前記メモリ管理テンプレート内のインターフェイスおよびインプリメンテーションは新規および削除のオペレータに対するインターフェイスおよびインプリメンテーションを含む、請求項１４に記載のコンピュータ読取可能な媒体。
【請求項１８】
共通のメモリ管理コードは前記新規および削除のオペレータのインプリメンテーションで提供される、請求項１７に記載のコンピュータ読取可能な媒体。
【請求項１９】
前記第１の抽象クラスの前記インターフェイスはファクトリメソッドに対するものである、請求項１４に記載のコンピュータ読取可能な媒体。
【請求項２０】
前記第１の特化されたテンプレートのサブクラス内の前記第１の抽象クラスのファクトリメソッドのインターフェイスのインプリメンテーションは前記第２の特化されたテンプレートのサブクラスのインスタンスを作成する、請求項１９に記載のコンピュータ読取可能な媒体。
【請求項２１】
前記第１の特化されたテンプレートを生成する前記ステップはコンパイル中に行なわれる、請求項１４に記載のコンピュータ読取可能な媒体。
【請求項２２】
前記第１の特化されたテンプレートを生成する前記ステップはコンパイルのプリプロセッサ段階中に行なわれる、請求項２１に記載のコンピュータ読取可能な媒体。
【請求項２３】
前記メモリ管理テンプレートは少なくとも１つのデータメンバを含む、請求項１４に記載のコンピュータ読取可能な媒体。
【請求項２４】
前記データメンバは前記共通のメモリ管理コードによって使用されるヒープへのポインタを記憶するために使用される、請求項２３に記載のコンピュータ読取可能な媒体。
【請求項２５】
前記第１の特化されたテンプレートのサブクラスは接続オブジェクトを作成するために使用され、前記第２の特化されたテンプレートのサブクラスはステートメントオブジェクトを作成するために使用され、第３の特化されたテンプレートのサブクラスは結果セットオブジェクトを作成するために使用される、請求項１４に記載のコンピュータ読取可能な媒体。
【請求項２６】
前記第１の抽象クラスの前記インターフェイスはファクトリメソッドに対するものであり、ステートメントオブジェクトは前記ファクトリメソッドが起動されるときに作成される、請求項２５に記載のコンピュータ読取可能な媒体。