Skip navigation links
EDB/Java
jp.ac.tokushima_u.edb

Class EDB

  • All Implemented Interfaces:
    EdbSite


    public final class EDB
    extends TaskWorkers
    implements EdbSite
    このクラスはEDBコンテキストを表し,EDBの情報を提供します.
    Version:
    $Id: EDB.java,v 1.124 2025/04/18 05:22:56 alex Exp $
    • Constructor Detail

      • EDB

        public EDB()
        EDBの新しいインスタンスを初期化します.
    • Method Detail

      • getPresentDate

        public final EdbDate getPresentDate()
        基準日を取得します.
        Returns:
        基準日を返します.
        See Also:
        setPresent(int)
      • getTracePrintWriter

        public PrintWriter getTracePrintWriter()
        トレース用のPrintWriterを返します.
        Returns:
        PrintWriter;
      • setTrace

        public void setTrace(EdbTrace listener)
        トレースリスナを設定します.
        Parameters:
        listener - トレースリスナオブジェクト
      • trace

        public void trace(Object o)
        オブジェクト文字列化したものをメッセージとして出力します.

        このメソッドの動作は,EDBコンテキストにトレースリスナが設定されているかどうかで異なります. リスナが未設定の場合はエラー出力へ,設定されている場合はリスナによって処理されます.

        Parameters:
        o - オブジェクト
        See Also:
        setTrace(EdbTrace)
      • traceWarning

        public void traceWarning(Object o)
        プログラムからの注意メッセージを出力します.

        このメソッドの動作は,EDBコンテキストにトレースリスナが設定されているかどうかで異なります. リスナが未設定の場合はエラー出力へ,設定されている場合はリスナによって処理されます.

        Parameters:
        o - 注意メッセージ
        See Also:
        setTrace(EdbTrace)
      • traceAlert

        public void traceAlert(Object o)
        プログラムからの警告メッセージを出力します.

        このメソッドの動作は,EDBコンテキストにトレースリスナが設定されているかどうかで異なります. リスナが未設定の場合はエラー出力へ,設定されている場合はリスナによって処理されます.

        Parameters:
        o - 警告メッセージ
        See Also:
        setTrace(EdbTrace)
      • traceAbnormallyDisconnected

        public void traceAbnormallyDisconnected(Object o)
        プログラムからの注意メッセージを出力します.

        このメソッドの動作は,EDBコンテキストにトレースリスナが設定されているかどうかで異なります. リスナが未設定の場合はエラー出力へ,設定されている場合はリスナによって処理されます.

        Parameters:
        o - 注意メッセージ
        See Also:
        setTrace(EdbTrace)
      • setNotifyMessageListener

        public static void setNotifyMessageListener(EdbNotifyMessageListener listener)
        通知メッセージリスナを設定します.
        Parameters:
        listener - 通知メッセージリスナオブジェクト
      • notifyMessage

        public static void notifyMessage(CharSequence s)
        通知メッセージを送ります.

        このメソッドの動作は,EDBコンテキストに通知メッセージリスナが設定されているかどうかで異なります. リスナが未設定の場合はエラー出力へ,設定されている場合はリスナによって処理されます.

        Parameters:
        s - メッセージ
        See Also:
        setNotifyMessageListener(EdbNotifyMessageListener)
      • EIDisValid

        public static final boolean EIDisValid(int eid)
        指定された EID が有効かどうか判定します.

        このメソッドは,EID が予約領域より上の値かどうかを調べます.

        Parameters:
        eid - EID
        Returns:
        有効な場合は true を,その他 false を返します.
      • EOIDisValid

        public static final boolean EOIDisValid(int eoid)
        指定された EOID が有効かどうか判定します.

        このメソッドは,EOID が予約領域より上の値かどうかを調べます.

        Parameters:
        eoid - EOID
        Returns:
        有効な場合は true を,その他 false を返します.
      • purgeObjects

        public void purgeObjects()
        キャッシュマップのタプルオブジェクトへのマッピングを全て削除し,ガベージコレクタを実行します.参照されなくなったタプルオブジェクトは破棄されます.
      • getObject

        public EdbObject getObject(EdbEIDHolder eh)
        指定された EID のテーブルまたはタプルの EID オブジェクトを取得します.
        Parameters:
        eh - EIDHolder
        Returns:
        テーブルまたはタプルの EID オブジェクトを返します.
      • getObject

        public EdbTable getObject(String xn)
        指定された XML 名のテーブルを取得します.
        Parameters:
        xn - XML 名
        Returns:
        該当する XML 名のテーブルを返します.見つからない場合は null を返します.
      • getPhantom

        public EdbObject getPhantom(EdbEIDHolder eh,
                                    int depth)
        指定された EID の EDB オブジェクトを取得します.

        キャッシュから該当する EID の EDB オブジェクトを見つけ返します.見つからない場合は,その EID を持ち,指定された取得情報の深さ( depth )でファントムを新たに作成し返します.

        Parameters:
        eh - EIDHolder
        depth - 取得情報の深さ
        Returns:
        取得した EDB オブジェクトを返します.
      • getPhantom

        public EdbObject getPhantom(EdbEIDHolder eh)
        指定された EID の EDB オブジェクトを取得します.

        キャッシュから該当する EID の EDB オブジェクトを見つけ返します.見つからない場合は,その EID を持ち,取得情報の深さ 0 のファントムを新たに作成し返します.

        Parameters:
        eh - EIDHolder
        Returns:
        取得した EDB オブジェクトを返します.
      • getPhantom

        public EdbObject getPhantom(EdbEIDHolder eh,
                                    int depth,
                                    EdbPhantomListener listener)
        指定された EID の EDB オブジェクトを取得します.

        キャッシュから該当する EID の EDB オブジェクトを見つけ返します.見つからない場合は,その EID を持ち,指定された取得情報の深さ( depth )でファントムを新たに作成し返します. また,返される EDB オブジェクトがファントムの場合,そのファントムに指定されたリスナが追加されます.

        Parameters:
        eh - EIDHolder
        depth - 取得情報の深さ
        listener - リスナ
        Returns:
        取得した EDB オブジェクトを返します.
      • getPhantom

        public EdbObject getPhantom(EdbEIDHolder eh,
                                    EdbPhantomListener listener)
        指定された EID の EDB オブジェクトを取得します.

        キャッシュから該当する EID の EDB オブジェクトを見つけ返します.見つからない場合は,その EID を持ち,取得情報の深さ 0 のファントムを新たに作成し返します. また,返される EDB オブジェクトがファントムの場合,そのファントムに指定されたリスナが追加されます.

        Parameters:
        eh - EIDHolder
        listener - リスナ
        Returns:
        取得した EDB オブジェクトを返します.
      • getTable

        public EdbTable getTable(EdbEIDHolder eh)
        指定された EID のテーブルを取得します.
        Parameters:
        eh - テーブルの EID
        Returns:
        該当するテーブルを返します.取得された情報がテーブルでない場合,または,取得できない場合は null を返します.
      • getTable

        public EdbTable getTable(String xn)
        指定された XML 名のテーブルを取得します.
        Parameters:
        xn - テーブルの XML 名
        Returns:
        該当するテーブルを返します.取得された情報がテーブルでない場合,または,取得できない場合は null を返します.
      • getTuple

        public EdbTuple getTuple(EdbEIDHolder eh)
        指定された EID のタプルを取得します.
        Parameters:
        eh - EIDHolder
        Returns:
        該当するタプルを返します.取得された情報がタプルでない場合,または,取得できない場合は null を返します.
      • getTuple

        public <T extends EdbTuple> T getTuple(Class<T> clas,
                                               EdbEIDHolder eh)
        指定されたクラス,EID のタプルを取得します.
        Type Parameters:
        T - タプルのクラス.
        Parameters:
        clas - クラスT.
        eh - EIDHolder
        Returns:
        該当するタプルを返します.取得された情報が指定したタイプのタプルでない場合,または,取得できない場合は null を返します.
      • getPerson

        public EdbPerson getPerson(EdbEIDHolder eh)
        指定された EID の個人情報を取得します.
        Parameters:
        eh - 個人情報の EID
        Returns:
        該当する個人情報を返します.取得された情報が個人情報でない場合,または,取得できない場合は null を返します.
      • getOrganization

        public EdbOrganization getOrganization(EdbEIDHolder eh)
        指定された EID の組織情報を取得します.
        Parameters:
        eh - 組織情報の EIDHolder
        Returns:
        該当する組織情報を返します.取得された情報が組織情報でない場合,または,取得できない場合は null を返します.
      • getArticle

        public EdbArticle getArticle(EdbEIDHolder eh)
        指定された EID の著作情報を取得します.
        Parameters:
        eh - 著作情報の EIDHolder
        Returns:
        該当する著作情報を返します.取得された情報が著作情報でない場合,または,取得できない場合は null を返します.
      • parseXML

        public EdbObject parseXML(CharSequence xml)
        XML 文字列を解析し,そのデータの EDB オブジェクトを作成します.
        Parameters:
        xml - XML 文字列
        Returns:
        成功した場合は EDB オブジェクトを,失敗した場合は null を返します.
      • setCacheCapacity

        public void setCacheCapacity(int cap)
      • operator

        public EdbEID operator()
        操作者を取得します.

        このメソッドは,この EDB コンテキストからデータベースへログインしている個人の EID を返します. この値を取得するには,データベースへログインしている必要があります.

        Returns:
        操作者の個人情報の EID を返します.取得できない場合は 0 を返します.
        See Also:
        loggedIn()
      • loggedIn

        public boolean loggedIn()
        データベースへログイン済みかどうかを判定します.
        Returns:
        ログイン済みの場合は true,その他 false を返します.
      • isStaff

        public boolean isStaff()
        操作者がスタッフ権限でログインしているかどうかを判定します.
        Returns:
        ログインしている場合は true,していない場合は false を返します.
        See Also:
        operator(), egIsStaff(EdbEID)
      • setPresent

        public void setPresent(int ymd)
        基準日を設定します.

        データベースをアクセスする際の基準日になります. 例えば,2008 年 5 月 1 日現在のデータを扱いたいときには,ymd = 20080501 を指定します.

        Parameters:
        ymd - 日付
        See Also:
        getPresentDate()
      • getNow

        public LocalDateTime getNow()
        EDB へ接続した日時を取得します. 返される値は,EDB サーバへ接続した際の EDB サーバ上の日時になります.
        Returns:
        接続した日時を返します.
      • captionIsOmitted

        public boolean captionIsOmitted(EdbEID eid)
        指定された EID の情報の見出しが,省略すべき見出しかどうかを判定します.

        情報の見出しを作成するときに省略したい場合があります.例えば,組織情報の見出しを作成するときに普通に「電気電子工学科」の見出しを生成すると次のようになります.

         徳島大学.工学部.電気電子工学科
         
        この見出しから徳島大学の部分を省略したいときに徳島大学の情報をカタログ ca_omitCaption に登録しておくと,次のようになります.
         工学部.電気電子工学科
         
        このメソッドは,そのカタログ ca_omitCaption に指定された EID が含まれるかどうかを判定します.
        Parameters:
        eid - EID
        Returns:
        省略すべき見出しの場合は true,その他 false を返します.
      • titleIsExecutiveStaff

        public boolean titleIsExecutiveStaff(EdbEIDHolder eh)
      • titleIsRegularTeacher

        public boolean titleIsRegularTeacher(EdbEIDHolder eh)
      • titleIsTeacher

        public boolean titleIsTeacher(EdbEIDHolder eh)
        指定された肩書きが,教員の肩書きかどうかを判定します.
        Parameters:
        eh - 肩書き
        Returns:
        教員の肩書きの場合は true,その他 false を返します.
      • titleIsPersonnel

        public boolean titleIsPersonnel(EdbEIDHolder eh)
        指定された肩書きが,教職員(教員+職員)の肩書きかどうかを判定します.
        Parameters:
        eh - 肩書き
        Returns:
        教職員の肩書きの場合は true,その他 false を返します.
      • languageAsJapanese

        public boolean languageAsJapanese(EdbEIDHolder eh)
        指定された言語を,和文として扱うかどうかを判定します.

        EDBの登録情報を扱うときに,欧文,または和文で処理を調整する場合があります. 本来,和文とは日本語のみを指しますが,中国語,ハングル語のように和文とみなして処理をしたいものがあります. このメソッドは,そのような言語かどうかの判定を行います.

        Parameters:
        eh - 言語
        Returns:
        和文として扱う場合は true,その他 false を返します.
      • standalone

        public boolean standalone()
        EDB コンテキストを単独で動作させます.

        EDB/Gate との接続を行わずに,EDB パッケージを利用できるようにするものです. 例えば,何らかのネットワーク的な理由で EDB/Gate に接続できない,けれど EDB パッケージの機能を利用したい場合に利用します.

        Returns:
        成功した場合は true,失敗した場合は,false を返します.
      • connect

        public boolean connect(String host,
                               int port)
        ホスト・ポートを指定し,EDB/Gate へ接続します.
        Parameters:
        host - ホスト
        port - ポート
        Returns:
        接続に成功した場合は true を返します.その他 false を返します.
      • connect

        public boolean connect()
        EDB/Gate へ接続します.

        このメソッドによって接続されるホスト・ポートは,EdbGate.chooseServer メソッドによって戻される値か, プログラムが保持する規定値になります.

        Returns:
        接続に成功した場合は true を返します.その他 false を返します.
      • connect

        public boolean connect(String host,
                               int port,
                               EdbEID userEID,
                               char[] pass)
        ホスト・ポートを指定し,EID とパスフレーズによる認証を経て EDB/Gate へ接続します.
        Parameters:
        host - ホスト
        port - ポート
        userEID - EID
        pass - ログインパスフレーズ
        Returns:
        接続に成功した場合は true を返します.その他 false を返します.
      • connectByUID

        public boolean connectByUID(String host,
                                    int port,
                                    String uid,
                                    char[] pass)
      • connect

        public boolean connect(EdbEID userEID,
                               char[] pass)
        EID とパスフレーズによる認証を経て EDB/Gate へ接続します.

        このメソッドによって接続されるホスト・ポートは,EdbGate.chooseServer メソッドによって戻される値か, プログラムが保持する規定値になります.

        Parameters:
        userEID - EID
        pass - ログインパスフレーズ
        Returns:
        接続に成功した場合は true を返します.その他 false を返します.
      • connect

        public boolean connect(String host,
                               int port,
                               String pkcs12file,
                               char[] pass)
        ホスト・ポートを指定し,個人証明書による認証を経て EDB/Gate へ接続します.
        Parameters:
        host - ホスト
        port - ポート
        pkcs12file - X.509個人証明書ファイル
        pass - 証明書を復元するパスワード
        Returns:
        接続に成功した場合は true を返します.その他 false を返します.
      • pkiInitialize

        public boolean pkiInitialize(String pkcs12,
                                     char[] pass)
      • connect

        public boolean connect(String pkcs12file,
                               char[] pass)
        個人証明書による認証を経て EDB/Gate へ接続します.

        このメソッドによって接続されるホスト・ポートは,EdbGate.chooseServer メソッドによって戻される値か, プログラムが保持する規定値になります.

        Parameters:
        pkcs12file - X.509個人証明書ファイル
        pass - 証明書を復元するパスワード
        Returns:
        接続に成功した場合は true を返します.その他 false を返します.
      • getConnectionFailureReason

        public Exception getConnectionFailureReason()
        EDB接続失敗の例外を返します.
        Returns:
        接続状態.
      • isConnected

        public boolean isConnected()
        EDBの接続状態を返します.
        Returns:
        接続状態.
      • terminate

        public boolean terminate()
        この EDB コンテキストを終了します.

        明示的に終了したい場合に呼び出します.呼ばれると,EDB/Gate への接続を閉じ,EDB/Gate からの情報の受信待ちを終了します.

        Returns:
        成功した場合は true,失敗した場合は false を返します.
      • loginAsStaff

        public boolean loginAsStaff(char[] pass)
        データベースにスタッフ権限でログインします.
        Parameters:
        pass - パスフレーズ
        Returns:
        成功した場合は true,失敗した場合は false を返します.
      • logoutFromStaff

        public boolean logoutFromStaff()
        スタッフ権限からログアウトします.
        Returns:
        成功した場合は true,失敗した場合は false を返します.
      • getTableCatalogue

        public EdbCatalogue getTableCatalogue()
        テーブルのカタログを取得します.

        EDB/Gate へテーブルの全リストの問い合せを行い,その結果をカタログで返します. 返されるカタログには,テーブルの EID が登録されています.

        Returns:
        テーブルのカタログを返します.
      • getTableCatalogue

        EdbCatalogue getTableCatalogue(boolean regular)
      • getRegularTables

        public EdbCatalogue getRegularTables()
        標準テーブルのカタログを取得します.

        EDB/Gate へ標準テーブルのリストの問い合せを行い,その結果をカタログで返します. 返されるカタログには,テーブルの EID が登録されています.

        Returns:
        標準テーブルのカタログを返します.
      • getAuxiliaryTables

        public EdbCatalogue getAuxiliaryTables()
        補助テーブルのカタログを取得します.

        EDB/Gate へ補助テーブルのリストの問い合せを行い,その結果をカタログで返します. 返されるカタログには,テーブルの EID が登録されています.

        Returns:
        補助テーブルのカタログを返します.
      • normalizeXN

        public static String normalizeXN(EdbXMLSpi spi0,
                                         EdbXMLSpi spi1,
                                         String xn)
        指定された XML 名を正規化します.

        現在もっとも近い場所にある XML 名を表す "@" を,指定された spi0 の XML 名に置き換えます. 指定された spi0null の場合は,spi1 の XML 名が使用されます.

        Parameters:
        spi0 - XML サービスプロバイダオブジェクト
        spi1 - XML サービスプロバイダオブジェクト
        xn - XML 名
        Returns:
        正規化された XML 名を返します.
      • normalizeXN

        public static String normalizeXN(EdbXMLSpi spi0,
                                         String xn)
        指定された XML 名を正規化します.

        現在もっとも近い場所にある XML 名を表す "@" を,指定された spi0 の XML 名に置き換えます.

        Parameters:
        spi0 - XML サービスプロバイダオブジェクト
        xn - XML 名
        Returns:
        正規化された XML 名を返します.
      • setTextOperationVerbose

        public void setTextOperationVerbose(boolean v)
        テキスト操作のときにメッセージの出力を詳細にするかどうかを設定します.
        Parameters:
        v - 詳細にするかどうか
        See Also:
        textConversion(String)
      • getTextOperationVerbose

        public boolean getTextOperationVerbose()
        テキスト操作のときにメッセージの出力を詳細にするかどうかを取得します.
        Returns:
        詳細にする場合は true,しない場合は false を返します.
        See Also:
        textConversion(String)
      • textConversion

        public String textConversion(String text)
        EDB 標準のテキストに変換します.

        標準のテキストへの変換とは,次の事などです.

        • 改行を含まない
        • 連続した空白は1つにする
        • 全角文字(「A」など)は半角文字(「A」)にする

        これらは,EDB のサーバに変換テーブルが登録されていて,それを取得して変換を行います.
        Parameters:
        text - テキスト
        Returns:
        変換後のテキストを返します.
      • textToEnglish

        public String textToEnglish(CharSequence text)
        英語(Latin)以外の文字を空白に置き換えたテキストに変換します.
        Parameters:
        text - テキスト
        Returns:
        変換後のテキストを返します.
      • textToJapanese

        public String textToJapanese(CharSequence text)
        日本語(CJK)以外の文字を空白に置き換えたテキストに変換します.
        Parameters:
        text - テキスト
        Returns:
        変換後のテキストを返します.
      • textToPronounce

        public String textToPronounce(CharSequence text)
        読み(ひらがな・カタカナ・空白)以外の文字を空白に置き換えたテキストに変換します.
        Parameters:
        text - テキスト
        Returns:
        変換後のテキストを返します.
      • isJapanese

        public boolean isJapanese()
        日本語モードかどうかを判定します.

        EDB パッケージおよび EDB/Gate との接続が,日本語モードになっているかどうかを判定します. 現状では,このメソッドは常に true を返します.また,現在のインプリメントでは,日本語モードのみです.

        Returns:
        日本語モードの場合は true,その他 false を返します.
      • createWebBrowserURL

        public static URL createWebBrowserURL(EdbEIDHolder eh)
        EID が示す EDB の登録情報ページへのブラウザ用 URL を作成します.
        Parameters:
        eh - EID,0 を指定すると閲覧のトップページ
        Returns:
        成功した場合は URL オブジェクトを返します.失敗した場合は null を返します.
      • createEdbAssistanceURL

        public static URL createEdbAssistanceURL(EdbEIDHolder eh)
        EID が示す EdbAssistanceへのブラウザ用 URL を作成します.
        Parameters:
        eh - EID,0 を指定するとEdbAssistanceページ
        Returns:
        成功した場合は URL オブジェクトを返します.失敗した場合は null を返します.
      • createWebBrowserURL

        public static URL createWebBrowserURL(String xn)
        XNが示す EDB の登録情報ページへのブラウザ用 URL を作成します.
        Parameters:
        xn - テーブルのXML名.
        Returns:
        成功した場合は URL オブジェクトを返します.失敗した場合は null を返します.
      • createEdbClientURL

        public static URL createEdbClientURL(EdbEIDHolder eh)
        EID が示す EDB の登録情報画面への EDB クライアント用 URL を作成します.
        Parameters:
        eh - EID,0 を指定すると閲覧のトップページ
        Returns:
        成功した場合は URL オブジェクトを返します.失敗した場合は null を返します.
      • openWebBrowser

        public static boolean openWebBrowser(EdbEIDHolder eh)
        EID が示す EDB の登録情報ページを表示します.
        Parameters:
        eh - EID,0 を指定すると閲覧のトップページ
        Returns:
        成功した場合は true を返します.その他 false を返します.
      • openEdbAssistance

        public static boolean openEdbAssistance(EdbEIDHolder eh)
        EID が示す EDB の登録情報ページを表示します.
        Parameters:
        eh - EID,0 を指定すると閲覧のトップページ
        Returns:
        成功した場合は true を返します.その他 false を返します.
      • openURL

        public boolean openURL(String u)
        ブラウザ,もしくは関連づけられたアプリケーションでURLを開けます.このメソッドは,EdbFile.openURL メソッドをラップしたものです.
        Parameters:
        u - URL 文字列
        Returns:
        成功した場合は true を返します.その他 false を返します.
      • makeCaption

        public String makeCaption(EdbEIDHolder eh)
        指定された EID の情報の見出しを作成します.

        指定された EID の EDB オブジェクトを取得し,そのオブジェクトから見出しを作成し返します. EDB オブジェクトが取得できない場合は,定型の見出しを返します.

        Parameters:
        eh - EID
        Returns:
        見出しを返します.
      • makeCaption

        public String makeCaption(EdbEIDHolder eh,
                                  EdbPhantomListener listener)
        指定された EID の情報の見出しを作成します.

        指定された EID の EDB オブジェクトを取得し,そのオブジェクトから見出しを作成し返します. EDB オブジェクトが取得できない場合は,定型の見出しを返します. リスナについては,取得された EDB オブジェクトがファントムの場合,そのファントムにリスナが追加されます.

        Parameters:
        eh - EID
        listener - リスナ
        Returns:
        見出しを返します.
      • getMLName

        public MLText getMLName(EdbEIDHolder eh)
        指定された EID の情報の見出しを作成します.

        指定された EID の EDB オブジェクトを取得し,そのオブジェクトから見出しを作成し返します. EDB オブジェクトが取得できない場合は,定型の見出しを返します.

        Parameters:
        eh - EID Holder
        Returns:
        見出しを返します.
      • getMLName

        public MLText getMLName(EdbEIDHolder eh,
                                EdbPhantomListener listener)
        指定された EID の情報の見出しを作成します.

        指定された EID の EDB オブジェクトを取得し,そのオブジェクトから見出しを作成し返します. EDB オブジェクトが取得できない場合は,定型の見出しを返します. リスナについては,取得された EDB オブジェクトがファントムの場合,そのファントムにリスナが追加されます.

        Parameters:
        eh - EID Holder
        listener - リスナ
        Returns:
        見出しを返します.
      • getCaption

        public EdbCaption getCaption(EdbEIDHolder eh,
                                     EdbPhantomListener lis)
        指定された EID の情報の見出しを取得します.

        指定された EID の EDB オブジェクトを取得し,そのオブジェクトから見出しを取得し返します. EDB オブジェクトが取得できない場合は,見出しを新たに作成し返します. リスナについては,取得された EDB オブジェクトがファントムの場合,そのファントムにリスナが追加されます.

        Parameters:
        eh - EID
        lis - リスナ
        Returns:
        見出しを返します.
      • getCaption

        public EdbCaption getCaption(EdbEIDHolder eh)
        指定された EID の情報の見出しを取得します.

        指定された EID の EDB オブジェクトを取得し,そのオブジェクトから取得した見出しを返します. EDB オブジェクトが取得できない場合は,見出しを新たに作成し返します.

        Parameters:
        eh - EID
        Returns:
        見出しを返します.
      • getCMSLocation

        public String getCMSLocation(EdbEIDHolder eh)
        指定された EID の情報のWebDAVサーバ (EDB/CMS) のフォルダのURLを取得します.

        EID の示す情報により,返される URL は次のようになります.

        • 個人,擬人
          http://cms.db.tokushima-u.ac.jp/DAV/person/SEID/
        • その以外の情報
          http://cms.db.tokushima-u.ac.jp/DAV/xmlname-of-table/EID/
        Parameters:
        eh - EID
        Returns:
        URL を返します.EID から情報が取得できなかった場合は null を返します.
        See Also:
        EdbTuple.getCMSLocation()
      • getERDLocation

        public String getERDLocation(EdbEIDHolder eh)
        指定された EID の情報の教育研究者総覧(ERD)のURLを取得します.

        EID の示す情報により,返される URL は次のようになります.

        Parameters:
        eh - EID
        Returns:
        URL を返します.EID から情報が取得できなかった場合は null を返します.
        See Also:
        EdbTuple.getERDLocation()
      • egBegin

        public boolean egBegin()
        トランザクションを開始します.

        EDB/Gate へトランザクションの開始要求を行います.

        Returns:
        成功した場合は true を返します.その他 false を返します.
      • egEnd

        public boolean egEnd()
        トランザクションを終了します.

        EDB/Gate へトランザクションの終了要求を行います.

        Returns:
        成功した場合は true を返します.その他 false を返します.
      • egClose

        public boolean egClose()
        接続を閉じます.

        EDB/Gate へコネクションの切断要求を行います.

        Returns:
        成功した場合は true を返します.その他 false を返します.
      • egTRCount

        public EdbCatalogue egTRCount(EdbEID eid)
        全てのテーブルについて,指定された EID を参照している情報の数を取得します.

        返されるカタログは,テーブルの EID をキーに,EdbGate.ResEETX オブジェクトへのマッピングが登録されており, そのオブジェクトには,キーに使用されているテーブルの EID と,そのテーブルで指定された EID を参照している情報の数(その情報を情報中のどれかの項目で参照しているものの総数)が保持されています.

        Parameters:
        eid - EID
        Returns:
        取得結果をカタログで返します.
      • egTOCount

        public EdbCatalogue egTOCount(EdbEID eid)
        全てのテーブルについて,指定された EID が所有している情報の数を取得します.

        返されるカタログは,テーブルの EID をキーに,EdbGate.ResEETX オブジェクトへのマッピングが登録されており, そのオブジェクトには,キーに使用されているテーブルの EID と,そのテーブルで指定された EID が所有している情報の数が保持されています.

        Parameters:
        eid - EID
        Returns:
        取得結果をカタログで返します.
      • egTPCount

        public EdbCatalogue egTPCount(EdbEID eid)
        全てのテーブルについて,指定された EID が権限をもつ情報の数を取得します.

        返されるカタログは,テーブルの EID をキーに,EdbGate.ResEETX オブジェクトへのマッピングが登録されており, そのオブジェクトには,キーに使用されているテーブルの EID と,そのテーブルで指定された EID が権限をもつ情報の数が保持されています.

        Parameters:
        eid - EID
        Returns:
        取得結果をカタログで返します.
      • egTMCount

        public EdbCatalogue egTMCount(EdbEID eid)
        全てのテーブルについて,指定された EID をマップしている情報の数を取得します.

        返されるカタログは,テーブルの EID をキーに,EdbGate.ResEETX オブジェクトへのマッピングが登録されており, そのオブジェクトには,キーに使用されているテーブルの EID と,そのテーブルで指定された EID をマップしている情報の数(情報全体でマップしている情報の総数)が保持されています.

        Parameters:
        eid - EID
        Returns:
        取得結果をカタログで返します.
      • egWritable

        public boolean egWritable(EdbEID eid)
        指定された EID の情報の書き込み可否を判定します.
        Parameters:
        eid - EID
        Returns:
        可の場合は true,否の場合は false を返します.
      • egLook

        public EdbCatalogue egLook(CharSequence condition,
                                   CharSequence order)
        指定された条件で検索します.

        指定された条件で EDB/Gate へ検索要求を行い,返された検索結果をカタログで返します. 返されるカタログは,指定された並び順で,条件に該当した情報の EID をキーに,EdbGate.ResEETX オブジェクトへのマッピングが登録されます.

        Parameters:
        condition - 条件
        order - 並び順.カラム( XML 名)を空白区切りで指定.先に書いたカラムが優先され,カラム前に'!'を記すと逆順なる.
        Returns:
        検索結果をカタログで返します.
      • egLook

        public EdbCatalogue egLook(CharSequence condition,
                                   CharSequence order,
                                   CharSequence language)
        指定された条件で検索します.

        指定された条件で EDB/Gate へ検索要求を行い,返された検索結果をカタログで返します. 返されるカタログは,指定された並び順で,条件に該当した情報の EID をキーに,EdbGate.ResEETX オブジェクトへのマッピングが登録されます.

        Parameters:
        condition - 条件
        order - 並び順.カラム( XML 名)を空白区切りで指定.先に書いたカラムが優先され,カラム前に'!'を記すと逆順なる.
        language - 並び順の英語,日本語モードを設定します.
        Returns:
        検索結果をカタログで返します.
      • egLook

        public EdbCatalogue egLook(EdbTableCondition tcon,
                                   CharSequence order,
                                   CharSequence language)
        指定された条件で検索します.

        指定された条件で EDB/Gate へ検索要求を行い,返された検索結果をカタログで返します. 返されるカタログは,指定された並び順で,条件に該当した情報の EID をキーに,EdbGate.ResEETX オブジェクトへのマッピングが登録されます.

        Parameters:
        tcon - テーブル条件
        order - 並び順.カラム( XML 名)を空白区切りで指定.先に書いたカラムが優先され,カラム前に'!'を記すと逆順なる.
        language - 並び順の英語,日本語モードを設定します.
        Returns:
        検索結果をカタログで返します.
      • egLook

        public EdbCatalogue egLook(CharSequence condition)
        指定された条件で検索します.

        指定された条件で EDB/Gate へ検索要求を行い,返された検索結果をカタログで返します. 返されるカタログは,条件に該当した情報の EID をキーに,EdbGate.ResEETX オブジェクトへのマッピングが登録されます.

        Parameters:
        condition - 条件
        Returns:
        検索結果をカタログで返します.
      • egLook

        public EdbCatalogue egLook(EdbTableCondition tcon)
        指定された条件で検索します.

        指定された条件で EDB/Gate へ検索要求を行い,返された検索結果をカタログで返します. 返されるカタログは,条件に該当した情報の EID をキーに,EdbGate.ResEETX オブジェクトへのマッピングが登録されます.

        Parameters:
        tcon - テーブル条件
        Returns:
        検索結果をカタログで返します.
      • egLook_request

        public EdbGate.Request egLook_request(CharSequence condition,
                                              CharSequence order,
                                              EdbGate.LookListener lis)
        指定された条件で検索します.

        指定された条件で EDB/Gate へ検索要求を行います.このメソッドは,EDB/Gate から検索結果が返されるのを待たずに制御を返します.

        Parameters:
        condition - 条件
        order - 並び順.カラム( XML 名)を空白区切りで指定.先に書いたカラムが優先され,カラム前に'!'を記すと逆順なる.
        lis - リスナ
        Returns:
        行った検索要求を返します.
      • egLook_request

        public EdbGate.Request egLook_request(CharSequence condition,
                                              CharSequence order)
        指定された条件で検索します.

        指定された条件で EDB/Gate へ検索要求を行います.このメソッドは,EDB/Gate から検索結果が返されるのを待たずに制御を返します.

        Parameters:
        condition - 条件
        order - 並び順.カラム( XML 名)を空白区切りで指定.先に書いたカラムが優先され,カラム前に'!'を記すと逆順なる.
        Returns:
        行った検索要求を返します.
      • egLook_request

        public EdbGate.Request egLook_request(CharSequence condition)
        指定された条件で検索します.

        指定された条件で EDB/Gate へ検索要求を行います.このメソッドは,EDB/Gate から検索結果が返されるのを待たずに制御を返します.

        Parameters:
        condition - 条件
        Returns:
        行った検索要求を返します.
      • egLook_request

        public EdbGate.Request egLook_request(CharSequence condition,
                                              EdbGate.LookListener lis)
        指定された条件で検索します.

        指定された条件で EDB/Gate へ検索要求を行います.このメソッドは,EDB/Gate から検索結果が返されるのを待たずに制御を返します.

        Parameters:
        condition - 条件
        lis - リスナ
        Returns:
        行った検索要求を返します.
      • egLook_request

        public EdbGate.Request egLook_request(EdbTableCondition tcon)
        指定された条件で検索します.

        指定された条件で EDB/Gate へ検索要求を行います.このメソッドは,EDB/Gate から検索結果が返されるのを待たずに制御を返します.

        Parameters:
        tcon - テーブル条件
        Returns:
        行った検索要求を返します.
      • egLook_request

        public EdbGate.Request egLook_request(EdbTableCondition tcon,
                                              EdbGate.LookListener lis)
        指定された条件で検索します.

        指定された条件で EDB/Gate へ検索要求を行います.このメソッドは,EDB/Gate から検索結果が返されるのを待たずに制御を返します.

        Parameters:
        tcon - テーブル条件
        lis - リスナ
        Returns:
        行った検索要求を返します.
      • egLook_response

        public EdbCatalogue egLook_response(EdbGate.Request req)
        検索結果を取得します.

        指定された検索要求から,検索結果を取得しカタログで返します. 返されるカタログは,条件に該当した情報の EID をキーに,EdbGate.ResEETX オブジェクトへのマッピングが登録されます.

        Parameters:
        req - 検索要求
        Returns:
        検索結果のカタログを返します.
      • egLook_scan

        public EdbCatalogue egLook_scan(EdbGate.Request req)
        検索要求の結果が返されているかどうかを調べます.

        指定された検索要求の結果が EDB/Gate から返されている場合は, 検索条件に該当した情報の EID をキーに,EdbGate.ResEETX オブジェクトへのマッピングが登録された検索結果のカタログを返します. 検索結果が未だ返されていない場合は,空のカタログを返します.

        Parameters:
        req - 検索要求
        Returns:
        検索結果のカタログ,または,空のカタログを返します.
      • egCount

        public int egCount(CharSequence condition)
        指定された条件に適合する情報の数を取得します.
        Parameters:
        condition - 条件
        Returns:
        適合する情報の数を返します.
      • egCount

        public int egCount(EdbTableCondition tcon)
        指定された条件に適合する情報の数を取得します.
        Parameters:
        tcon - テーブル条件
        Returns:
        適合する情報の数を返します.
      • egFresh

        public EdbCatalogue egFresh(int seconds)
        指定された秒以内に更新された情報を取得します.

        現在から遡って指定された秒以内に更新された情報のリストを EDB/Gate へ問い合せ,返された結果をカタログで返します. 返されるカタログは,該当した情報の EID をキーに,EdbGate.ResEETX オブジェクトへのマッピングが登録されます.

        Parameters:
        seconds - 秒
        Returns:
        更新された情報のカタログを返します.
      • egCreatable

        public boolean egCreatable(EdbTable table)
        指定されたテーブルにおける新規情報作成の可否を取得します.
        Parameters:
        table - テーブル
        Returns:
        可の場合は true,否の場合は false を返します.
      • egUpdatable

        public boolean egUpdatable(EdbTuple tuple)
        指定されたタプルの情報が更新可能な内容であるかを判定します.

        タプルから XML 形式の情報を取得し,その情報が更新可能な内容であるかの判定要求を EDB/Gata に行います.

        Parameters:
        tuple - タプル
        Returns:
        可能な場合は true,その他 false を返します.
      • egDeletable

        public boolean egDeletable(EdbEID eid)
        指定された EID の情報の無効化の可否を取得します.
        Parameters:
        eid - EID
        Returns:
        可の場合は true,否の場合は false を返します.
      • egUpdate

        public EdbGate.ResEETX egUpdate(EdbTuple tuple)
        指定されたタプルの情報をデータベースに登録します.

        タプルから XML 形式の情報を取得し,その情報の更新要求を EDB/Gata に行います. 返される値は,更新要求の結果になります.

        Parameters:
        tuple - タプル
        Returns:
        更新要求の結果を戻します.タプルから有効な XML 形式の情報が取得できない場合は,null を返します.
      • egCheck

        public boolean egCheck(CharSequence xml)
        指定された情報が EDB に登録可能かどうか調べます.

        登録できないケースには次のものなどがあります.

        • EID に対応する情報が別のテーブルに定義されている
        • 参照している情報( EID )が存在しない
        Parameters:
        xml - XML 形式の情報
        Returns:
        可能な場合は true,その他 false を返します.
      • egModify

        public String egModify(CharSequence xml)
        指定された情報を修正します.
        Parameters:
        xml - XML 形式の情報
        Returns:
        修正後の XML 形式の情報を返します.
      • egModify

        public EdbTuple egModify(EdbTuple tuple)
        指定されたタプルの情報を修正します.
        Parameters:
        tuple - タプル
        Returns:
        修正後の情報をもつタプルを返します.
      • egPassphrase

        public boolean egPassphrase(String pass)
        ログインパスフレーズを変更します.
        Parameters:
        pass - 変更するパスフレーズ
        Returns:
        成功した場合は true,失敗した場合は false を返します.
      • egSSLLoginAuto

        public boolean egSSLLoginAuto(boolean autologin)
        証明書で EDB に自動ログインする設定を変更します.
        Parameters:
        autologin - 自動ログインするかどうか
        Returns:
        成功した場合は true,失敗した場合は false を返します.
      • egCARequestSignedCertificate

        public String egCARequestSignedCertificate(EdbEID eid,
                                                   String req)
        証明書要求を元に指定した EID の情報の証明書を作成します.
        Parameters:
        eid - EID
        req - 証明書要求
        Returns:
        成功した場合は証明書を返します.失敗した場合は null を返します.
      • egCARequestSignedCertificate

        public String egCARequestSignedCertificate(EdbEID eid,
                                                   String req,
                                                   String[] opts)
        証明書要求を元に指定した EID の情報の証明書を作成します.
        Parameters:
        eid - EID
        req - 証明書要求
        opts - オプション("Mode: EDB/PKI 1st Generation", "Mode: EDB/PKI 2nd Generation")
        Returns:
        成功した場合は証明書を返します.失敗した場合は null を返します.
      • egGetMaxEID

        public int egGetMaxEID()
        EID の最大値を取得します.

        EID の 最大値がキャッシュされていない場合は,データベースへ問い合せを行います. 既にキャッシュされている場合は,その値を返します.

        Returns:
        EID の最大値を返します.
      • egGetMaxEOID

        public int egGetMaxEOID()
        EOID の最大値を取得します.

        getAge メソッドとは異なり,データベースへの問い合わせは行われません. 返されるのは,キャッシュされている値になります.

        Returns:
        EOID の最大値を返します.
        See Also:
        getAge()
      • egSetCensorMode

        public boolean egSetCensorMode(String cmode)
        EdbGateに読み出し承認状態をセットする.
        Parameters:
        cmode - 承認状態(confirmed, ANY)
        Returns:
        成功した場合は true,失敗した場合は false を返します.
      • egSetNotifyMode

        public boolean egSetNotifyMode(String mode)
        EdbGateに通知モードをセットする.
        Parameters:
        mode - 通知モード(immediate, delay, off)
        Returns:
        成功した場合は true,失敗した場合は false を返します.
      • egVerbose

        public boolean egVerbose(int level)
        VERBOSE レベルを設定します.

        VERBOSE = 1 に設定すると,EDB/Gate が検索要求( LOOK )などに対して生成したSQLの条件式などをコメントとして応答します. 処理自体には影響はありません.

        Parameters:
        level - レベル.0 または 1 を指定,規定値は 0
        Returns:
        成功した場合は true,失敗した場合は false を返します.
      • egChooseDB

        public boolean egChooseDB(String mode)
        DBを設定します.

        mode を public に指定すると,学外公開用DBを選択します. 処理自体には影響はありません.

        Parameters:
        mode - dbのモード."public"が利用可能.
        Returns:
        成功した場合は true,失敗した場合は false を返します.
      • egIsUser

        public boolean egIsUser(EdbEID eid)
        指定された個人がユーザ権限を持つかどうかを判定します.
        Parameters:
        eid - 個人情報の EID
        Returns:
        権限を持つ場合は true,持たない場合は false を返します.
      • egIsStaff

        public boolean egIsStaff(EdbEID eid)
        指定された個人がスタッフ権限を持つかどうかを判定します.
        Parameters:
        eid - 個人情報の EID
        Returns:
        権限を持つ場合は true,持たない場合は false を返します.
      • egIsOdin

        public boolean egIsOdin(EdbEID eid)
        指定された個人が Odin 権限を持つかどうかを判定します.
        Parameters:
        eid - 個人情報の EID
        Returns:
        権限を持つ場合は true,持たない場合は false を返します.
      • getAge

        public int getAge()
        データベースの年齢を取得します.

        現在の EDB の EOID の最大値(データベースの年齢)をデータベースに問い合せ,取得した値を返します.

        Returns:
        データベースの年齢を返します.
        See Also:
        egGetMaxEOID()
      • egUpload

        public boolean egUpload(String name,
                                String args,
                                byte[] data)
        サーバのストレージにデータをUPLOADする.
        Parameters:
        name - ストレージの名前.
        args - ストレージに対する引数.
        data - アップロードするデータ.
        Returns:
        アップロードの成否.
      • egUpload

        public boolean egUpload(String name,
                                String args,
                                CharSequence data)
        サーバのストレージにデータをUPLOADする.
        Parameters:
        name - ストレージの名前.
        args - ストレージに対する引数.
        data - アップロードするデータ.
        Returns:
        アップロードの成否.
      • egDownload

        public byte[] egDownload(String name,
                                 String args)
        サーバのストレージからデータをDOWNLOADする.
        Parameters:
        name - ストレージの名前.
        args - ストレージに対する引数.
        Returns:
        ダウンロードしたデータ.
      • egDownloadAsString

        public String egDownloadAsString(String name,
                                         String args)
        サーバのストレージからデータをDOWNLOADする.
        Parameters:
        name - ストレージの名前.
        args - ストレージに対する引数.
        Returns:
        ダウンロードしたデータ.
      • egExtStorage

        public boolean egExtStorage(EdbGate.ExtStorage es)
        サーバの外部ストレージの操作.
        Parameters:
        es - ストレージと交換するデータ.
        Returns:
        ダウンロード成功.
      • setUTLFResolver

        public void setUTLFResolver(UTLFResolver resolver)
        UTLFResolver をセット.
        Parameters:
        resolver - UTLF Resolver
      • createUTLFResolver

        UTLFResolver createUTLFResolver()
        UTLFResolver を作成.
        Returns:
        UTLF Resolver
      • egRepGet

        public UTLF egRepGet(UTLFId id,
                             int opt,
                             int depth)
        リポジトリから情報を取得.
        Parameters:
        id - repositoryからの取得ID.
        opt - Option
        depth - Depth
        Returns:
        UTLFフォーマットのデータ.
      • egRepGet

        public UTLF egRepGet(UTLFId id)
        リポジトリから情報を取得.
        Parameters:
        id - repositoryからの取得ID.
        Returns:
        UTLFフォーマットのデータ.
      • setLookupCacheCapacity

        public void setLookupCacheCapacity(int cap)
      • egLookup

        public UTLF egLookup(String type,
                             CharSequence query)
        汎用データLookup.
        Parameters:
        type - Type of Lookup Table
        query - Query String
        Returns:
        UTLFフォーマットのデータ.
      • addDatabaseListener

        public void addDatabaseListener(EdbDatabaseListener listener)
        指定されたリスナを管理するリスナに追加します.
        Parameters:
        listener - リスナ
      • removeDatabaseListener

        public void removeDatabaseListener(EdbDatabaseListener listener)
        指定されたリスナを管理するリスナから除外します.
        Parameters:
        listener - リスナ
      • edbgateGotNewResponse

        void edbgateGotNewResponse(int reqId)
      • registDocumentHandler

        public static void registDocumentHandler(EdbDocumentHandler handler)
        ドキュメントハンドラーを登録する.
        Parameters:
        handler - ハンドラー
      • lookupDocumentHandler

        public static EdbDocumentHandler lookupDocumentHandler(EDB edb,
                                                               Document doc)
        ドキュメントからハンドラーを得る.
        Parameters:
        edb - EDBコンテキスト
        doc - XMLドキュメント
        Returns:
        ドキュメントハンドラーオブジェクト
EDB/Java

EDB Working Group at Tue Jun 10 17:08:59 JST 2025