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

Class EdbPrint



  • public class EdbPrint
    extends Object
    エンジンによってスタイリングされた情報をドキュメントに出力します.
    Version:
    $Id: EdbPrint.java,v 1.75 2022/10/19 05:57:58 alex Exp $
    See Also:
    WHOISインタフェースの利用方法
    • Method Detail

      • registerSpi

        public static void registerSpi(String sty,
                                       Class<? extends EdbPrintSpi> c)
        指定されたスタイルのスタイリングを行うクラスを登録します.
        Parameters:
        sty - スタイル
        c - クラス
      • registerXNSpi

        public static void registerXNSpi(String sty,
                                         String xn,
                                         Class<? extends EdbPrintSpi> c)
        指定されたスタイルで,指定された XML 名の情報のスタイリングをカスタマイズするクラスを登録します.

        登録された内容は,プリントエンジン ( EdbPrint ) がインスタンス化されるときに参照されます.

        Parameters:
        sty - スタイル
        xn - XML 名
        c - クラス
      • registerTypeSpi

        public static void registerTypeSpi(String sty,
                                           String type,
                                           Class<? extends EdbPrintSpi> c)
        指定されたスタイルで,指定された型名の情報のスタイリングをカスタマイズするクラスを登録します.

        登録された内容は,プリントエンジン ( EdbPrint ) がインスタンス化されるときに参照されます.

        Parameters:
        sty - スタイル
        type - 型名
        c - クラス
      • addXNSpi

        public void addXNSpi(String sty,
                             String xn,
                             Class<? extends EdbPrintSpi> c)
        指定されたスタイルで,指定された XML 名の情報のスタイリングをカスタマイズするクラスを追加します.

        このメソッドは,既にインスタンス化されているプリントエンジン ( EdbPrint ) に対し動的に登録するためのものです.

        Parameters:
        sty - スタイル
        xn - XML 名
        c - クラス
      • addTypeSpi

        public void addTypeSpi(String sty,
                               String type,
                               Class<? extends EdbPrintSpi> c)
        指定されたスタイルで,指定された型名の情報のスタイリングをカスタマイズするクラスを追加します.

        このメソッドは,既にインスタンス化されているプリントエンジン ( EdbPrint ) に対し動的に登録するためのものです.

        Parameters:
        sty - スタイル
        type - 型名
        c - クラス
      • getEDB

        public EDB getEDB()
        EDB コンテキストを取得します.
        Returns:
        EDB コンテキストを返します.
      • getDoc

        public EdbDoc getDoc()
        ドキュメントを取得します.
        Returns:
        ドキュメントを返します.
      • getDML

        public String getDML()
        ドキュメントの DML を取得します.
        Returns:
        ドキュメントの DML を返します.
      • getStyle

        public String getStyle()
        エンジンのスタイルを取得します.
        Returns:
        スタイルを返します.
      • setUseLuxurySpace

        public void setUseLuxurySpace(boolean p)
        スペースを贅沢に使うかどうかを設定します.
        Parameters:
        p - スペースを贅沢に使うかどうか.
      • getUseLuxurySpace

        public boolean getUseLuxurySpace()
      • setPrintAlert

        public void setPrintAlert(boolean p)
        警告を出力するかどうかを設定します.
        Parameters:
        p - 出力するかどうか
      • isPrintAlert

        public boolean isPrintAlert()
        警告を出力するかどうかを取得します.
        Returns:
        出力する場合は true,出力しない場合は false を返します.
      • setUsingColor

        public void setUsingColor(boolean p)
        色付き文字を使用するかどうかを設定します.
        Parameters:
        p - 使用するかどうか
      • isUsingColor

        public boolean isUsingColor()
        色付き文字を使用するかどうかを取得します.
        Returns:
        使用する場合は true,使用しない場合は false を返します.
      • resetEOI

        public void resetEOI()
        EOI ( 注目すべき EID ) のカタログをリセットします.

        保持している EOI のカタログを破棄します.

      • clearEOI

        public void clearEOI()
        EOI ( 注目すべき EID ) のカタログをクリアします.

        EOI のカタログを,新規作成した空のカタログにします.

      • addEOI

        public void addEOI(EdbEIDHolder eh)
        指定された EID を EOI ( 注目すべき EID ) のカタログに追加します.

        EOI のカタログが無い場合は,新規に作成されます.

        Parameters:
        eh - EIDHolder
      • addEOI

        public void addEOI(Collection<? extends EdbEIDHolder> eids)
        指定された EID を EOI ( 注目すべき EID ) のカタログに追加します.

        EOI のカタログが無い場合は,新規に作成されます.

        Parameters:
        eids - Collection of EID
      • copyEOI

        public void copyEOI(EdbPrint src)
        指定された src の持つ EOI のカタログの内容を,このオブジェクトが保持する EOI のカタログに追加します.
        Parameters:
        src - EdbPrint
      • setPhantomListener

        public void setPhantomListener(EdbPhantomListener lis)
        ファントムリスナを設定します.

        出力のために取得した情報がファントムであった場合に,そのファントムに対してリスナが追加されるようになります.

        Parameters:
        lis - ファントムリスナ
      • attemptGetTuple

        public EdbTuple attemptGetTuple(EdbEID eid)
        指定された EID のタプルの取得を試みます.

        setPhantomListener メソッドでファントムリスナが設定されている場合は, 指定された EID のタプルが既にキャッシュに入っているかどうか確認し,入っていれば,それを返します. ファントムリスナが設定されていない場合は,指定された EID のタプルが取得できるまで待ちます.

        Parameters:
        eid - EID
        Returns:
        タプルを返します.取得できなかった場合は,null を返します.
        See Also:
        setPhantomListener(EdbPhantomListener)
      • getInstance

        public static EdbPrint getInstance(EDB edb,
                                           EdbPrintSpi engine,
                                           EdbDoc doc)
        指定されたドキュメントに,指定されたエンジンでスタイリングした情報を出力するインスタンスを取得します.
        Parameters:
        edb - EDB コンテキスト
        engine - エンジン
        doc - ドキュメント
        Returns:
        インスタンスを返します.
      • getInstance

        public static EdbPrint getInstance(EDB edb,
                                           String style,
                                           EdbDoc doc)
        指定されたドキュメントに,指定されたスタイルのエンジンでスタイリングした情報を出力するインスタンスを取得します.
        Parameters:
        edb - EDB コンテキスト
        style - スタイル
        doc - ドキュメント
        Returns:
        成功した場合はインスタンスを返します.失敗した場合は null を返します.
      • getOutputSequence

        public CharSequence getOutputSequence()
        出力によって生成されたドキュメントの内容を取得します.

        このメソッドは,出力先のドキュメントの EdbDoc.getSequence メソッドをラップしたものです. 出力先のドキュメントの出力先 ( ドキュメント生成エンジンによって生成されたドキュメント内容が出力される先 ) が変更されている場合は空文字列を返します.

        Returns:
        生成されたドキュメントの内容を返します.
        See Also:
        EdbDoc.getSequence()
      • puts

        public boolean puts(CharSequence s)
        指定された文字列をプットします.
        Parameters:
        s - 文字列
        Returns:
        成功した場合は true,失敗した場合は false を返します.
        See Also:
        EdbDoc.puts(CharSequence)
      • createEOI

        public EdbDoc.Content createEOI(EdbEID eid,
                                        EdbDoc.Content con)
        EOI ( 注目すべき EID ) の区間を作成します.
        Parameters:
        eid - EID
        con - Content
        Returns:
        Content
      • clearAlerts

        public void clearAlerts()
      • hasAlerts

        public boolean hasAlerts()
      • hasWarnings

        public boolean hasWarnings()
      • createAlert

        public EdbDoc.Content createAlert(EdbDoc.Content con)
        コンテンツを警告で修飾します.
        Parameters:
        con - 修飾されるコンテンツ
        Returns:
        Content
      • createWarning

        public EdbDoc.Content createWarning(EdbDoc.Content con)
        コンテンツを注意で修飾します.
        Parameters:
        con - 修飾されるコンテンツ
        Returns:
        Content
      • createAlert

        public EdbDoc.Content createAlert(EdbTable table,
                                          String xn)
        指定されたカラムの名前で警告文のコンテンツを返します.

        情報の出力中にある項目が登録されていないときに, 注意を示すために出力文字色を変更する目的で用います.

        Parameters:
        table - カラムのテーブル
        xn - カラムの XML 名
        Returns:
        Content
      • createWarning

        public EdbDoc.Content createWarning(EdbTable table,
                                            String xn)
        指定されたカラムの名前で注意文のコンテンツを返します.

        情報の出力中にある項目が登録されていないときに, 注意を示すために出力文字色を変更する目的で用います.

        Parameters:
        table - カラムのテーブル
        xn - カラムの XML 名
        Returns:
        Content
      • createNotice

        public EdbDoc.Content createNotice(EdbTable table,
                                           EdbDatum d,
                                           String xn,
                                           int alert)
        指定されたカラムの名前を警告文,又は注意文を作成します.

        情報の出力中にある項目が登録されていないときに, 注意を示すために出力文字色を変更する目的で用います.

        Parameters:
        table - カラムのテーブル
        d - Datum
        xn - カラムの XML 名
        alert - 警告の種類.定数を指定
        Returns:
        Content
        See Also:
        EP_ALERT, EP_WARNING
      • printStart

        public boolean printStart()
        開始部を出力します.
        Returns:
        成功した場合は true,失敗した場合は false を返します.
        See Also:
        EdbPrintSpi.epPrintStart()
      • printStart

        public boolean printStart(CharSequence title)
        開始部を出力します.
        Parameters:
        title - タイトル
        Returns:
        成功した場合は true,失敗した場合は false を返します.
        See Also:
        EdbPrintSpi.epPrintStart()
      • printEnd

        public boolean printEnd()
        終了部を出力します.
        Returns:
        成功した場合は true,失敗した場合は false を返します.
        See Also:
        EdbPrintSpi.epPrintEnd()
      • print

        public boolean print(EdbDoc.Content... contents)
        指定された EdbDoc.Content を出力します.
        Parameters:
        contents - Contents to be print
        Returns:
        何かが出力された場合にはtrue.
      • createContent

        public EdbDoc.Content createContent(CharSequence l,
                                            EdbObject obj,
                                            CharSequence t,
                                            CharSequence r)
        指定された EDB オブジェクトの情報のコンテンツを作成します.

        次のように情報が出力されます.

         [ 前置文字列 ] ( EDB オブジェクトの情報 ) [ 後置文字列 ]
         
        出力に失敗した場合は,代替文字列が出力されます.
        Parameters:
        l - 前置文字列
        obj - EDB オブジェクト
        t - 後置文字列
        r - 代替文字列
        Returns:
        Content
        See Also:
        EdbPrintSpi.epCreate(EdbObject)
      • createContent

        public EdbDoc.Content createContent(EdbTuple tuple,
                                            String xn)
        指定されたタプルカラムのコンテンツを作成します.
        Parameters:
        tuple - 出力するタプルカラムのタプル
        xn - 出力するタプルカラムの XML 名
        Returns:
        Content
        See Also:
        EdbPrintSpi.epCreate(EdbTC)
      • createContent

        public EdbDoc.Content createContent(EdbPrint.TCPrint tcp)
        タプルカラムの情報を汎用パターン形式で作成します.
        Parameters:
        tcp - タプルカラム汎用パターン形式出力情報
        Returns:
        Content
        See Also:
        EdbPrint.TCPrint
      • createContent

        public EdbDoc.Content createContent(EdbTuple tuple,
                                            EdbDatum p,
                                            EdbDoc.Content l1,
                                            EdbDoc.Content l2,
                                            String xn,
                                            EdbPrint.TCPrint[] ch,
                                            EdbDoc.Content t2,
                                            EdbDoc.Content t1,
                                            EdbDoc.Content r,
                                            int alert)
        タプルカラムの情報を汎用パターン形式で作成します.
        Parameters:
        tuple - 出力するタプルカラムのタプル
        p - 出力するタプルカラムの XML 名の検索範囲.指定されたdatumの下位のタプルカラムが対象になる
        l1 - 前置文字列 1
        l2 - 前置文字列 2
        xn - 出力するタプルカラムの XML 名
        ch - 子タプルカラム汎用パターン形式出力情報
        t2 - 後置文字列 2
        t1 - 後置文字列 1
        r - 代替文字列
        alert - 項目が登録されていない場合に出力される警告の種類.定数を指定
        Returns:
        Content
        See Also:
        EP_ALERT, EP_WARNING, EdbPrint.TCPrint
      • createContent

        public EdbDoc.Content createContent(EdbTuple tuple,
                                            EdbDatum p,
                                            EdbDoc.Content l1,
                                            EdbDoc.Content l2,
                                            String xn,
                                            EdbPrint.TCPrint ch,
                                            EdbDoc.Content t2,
                                            EdbDoc.Content t1,
                                            EdbDoc.Content r,
                                            int alert)
        タプルカラムの情報を汎用パターン形式で作成します.
        Parameters:
        tuple - 出力するタプルカラムのタプル
        p - 出力するタプルカラムの XML 名の検索範囲.指定されたdatumの下位のタプルカラムが対象になる
        l1 - 前置文字列 1
        l2 - 前置文字列 2
        xn - 出力するタプルカラムの XML 名
        ch - 子タプルカラム汎用パターン形式出力情報
        t2 - 後置文字列 2
        t1 - 後置文字列 1
        r - 代替文字列
        alert - 項目が登録されていない場合に出力される警告の種類.定数を指定
        Returns:
        Content
        See Also:
        EP_ALERT, EP_WARNING, EdbPrint.TCPrint
      • createContent

        public EdbDoc.Content createContent(EdbTuple tuple,
                                            EdbDoc.Content l1,
                                            EdbDoc.Content l2,
                                            String xn,
                                            EdbPrint.TCPrint ch,
                                            EdbDoc.Content t2,
                                            EdbDoc.Content t1,
                                            int alert)
        タプルカラムの情報を汎用パターン形式で作成します.
        Parameters:
        tuple - 出力するタプルカラムのタプル
        l1 - 前置文字列 1
        l2 - 前置文字列 2
        xn - 出力するタプルカラムの XML 名
        ch - 子タプルカラム汎用パターン形式出力情報
        t2 - 後置文字列 2
        t1 - 後置文字列 1
        alert - 項目が登録されていない場合に出力される警告の種類.定数を指定
        Returns:
        Content
        See Also:
        EP_ALERT, EP_WARNING, EdbPrint.TCPrint
      • createContent

        public EdbDoc.Content createContent(EdbTuple tuple,
                                            EdbDatum p,
                                            EdbDoc.Content l1,
                                            EdbDoc.Content l2,
                                            String xn,
                                            EdbDoc.Content t2,
                                            EdbDoc.Content t1,
                                            EdbDoc.Content r,
                                            int alert)
        タプルカラムの情報を汎用パターン形式で作成します.
        Parameters:
        tuple - 出力するタプルカラムのタプル
        p - 出力するタプルカラムの XML 名の検索範囲.指定されたdatumの下位のタプルカラムが対象になる
        l1 - 前置文字列 1
        l2 - 前置文字列 2
        xn - 出力するタプルカラムの XML 名
        t2 - 後置文字列 2
        t1 - 後置文字列 1
        r - 代替文字列
        alert - 項目が登録されていない場合に出力される警告の種類.定数を指定
        Returns:
        Content
        See Also:
        EP_ALERT, EP_WARNING, EdbPrint.TCPrint
      • createValue

        public EdbDoc.Content createValue(EdbDoc.Content l,
                                          EdbDatum datum,
                                          EdbDoc.Content t,
                                          EdbDoc.Content r)
        指定されたdatumの値のコンテンツを返します.

        次のように情報が出力されます.

         [ 前置文字列 ] ( datumの値 ) [ 後置文字列 ]
         
        代替文字列が有効な値 ( 1 文字以上の文字列 ) ならば,datumの値が使用可能でない場合に,datumの値の代りに代替文字列が出力されます.
        Parameters:
        l - 前置文字列
        datum - Datum
        t - 後置文字列
        r - 代替文字列
        Returns:
        Content
      • createValue

        public EdbDoc.Content createValue(EdbDatum datum)
        指定されたdatumのコンテンツを返します.
        Parameters:
        datum - Datum
        Returns:
        Content
      • push

        public void push(Class<? extends EdbPrintSpi> spi)
        現在のスタイリングの状態を待避し,指定されたクラスのスタイルでスタイリングを開始します.
        Parameters:
        spi - クラス
      • push

        public void push()
        スタイリングの状態を維持しながら,その状態を待避します.
      • push

        public void push(String style)
        現在のスタイリングの状態を待避し,指定されたスタイルでスタイリングを開始します.
        Parameters:
        style - スタイル
      • pop

        public void pop()
        待避したスタイリングの状態に戻します.
      • languageIsAuto

        public boolean languageIsAuto()
        出力言語は情報の属性による自動調整かどうかを判定します.
        Returns:
        自動調整の場合は true,その他 false を返します.
      • languageIsEnglish

        public boolean languageIsEnglish()
        英語(Latin語圏)指向での出力かどうかを判定します.
        Returns:
        英語指向の場合は true,その他 false を返します.
      • languageIsJapanese

        public boolean languageIsJapanese()
        日本語指向での出力かどうかを判定します.
        Returns:
        日本語指向の場合は true,その他 false を返します.
      • getLanguage

        public int getLanguage()
        出力言語を取得します.
        Returns:
        出力言語を返します.
      • setLanguage

        public void setLanguage(int lang)
        出力言語を設定します.
        Parameters:
        lang - 出力言語.出力言語の定数を指定
        See Also:
        LANG_Auto, LANG_English, LANG_Japanese
      • setAnyTime

        public void setAnyTime(boolean a)
        期間限定で有効でない項目も出力するかどうかを設定します.
        Parameters:
        a - 出力するかどうか
      • isAnyTime

        public boolean isAnyTime()
        期間限定で有効でない項目も出力するかどうかを取得します.
        Returns:
        出力する場合は true,出力しない場合は false を返します.
      • isListing

        public boolean isListing(int m)
        指定されたリスティングモードに LISTING の指定が含まれるかどうかを判定します.
        Parameters:
        m - リスティングモード.リスティングモードの定数の値の組み合わせ
        Returns:
        含まれる場合は true,その他 false を返します.
        See Also:
        LISTING, LISTING_number, LISTING_prefix, LISTING_postfix
      • isListingNumber

        public boolean isListingNumber(int m)
        指定されたリスティングモードに LISTING_number の指定が含まれるかどうかを判定します.
        Parameters:
        m - リスティングモード.リスティングモードの定数の値の組み合わせ
        Returns:
        含まれる場合は true,その他 false を返します.
        See Also:
        LISTING, LISTING_number, LISTING_prefix, LISTING_postfix
      • isListingPrefix

        public boolean isListingPrefix(int m)
        指定されたリスティングモードに LISTING_prefix の指定が含まれるかどうかを判定します.
        Parameters:
        m - リスティングモード.リスティングモードの定数の値の組み合わせ
        Returns:
        含まれる場合は true,その他 false を返します.
        See Also:
        LISTING, LISTING_number, LISTING_prefix, LISTING_postfix
      • isListingPostfix

        public boolean isListingPostfix(int m)
        指定されたリスティングモードに LISTING_postfix の指定が含まれるかどうかを判定します.
        Parameters:
        m - リスティングモード.リスティングモードの定数の値の組み合わせ
        Returns:
        含まれる場合は true,その他 false を返します.
        See Also:
        LISTING, LISTING_number, LISTING_prefix, LISTING_postfix
      • isListing

        public boolean isListing()
        このオブジェクトのリスティングモードに LISTING の指定が含まれるかどうかを判定します.
        Returns:
        含まれる場合は true,その他 false を返します.
        See Also:
        LISTING, LISTING_number, LISTING_prefix, LISTING_postfix
      • isListingNumber

        public boolean isListingNumber()
        このオブジェクトのリスティングモードに LISTING_number の指定が含まれるかどうかを判定します.
        Returns:
        含まれる場合は true,その他 false を返します.
        See Also:
        LISTING, LISTING_number, LISTING_prefix, LISTING_postfix
      • isListingPrefix

        public boolean isListingPrefix()
        このオブジェクトのリスティングモードに LISTING_prefix の指定が含まれるかどうかを判定します.
        Returns:
        含まれる場合は true,その他 false を返します.
        See Also:
        LISTING, LISTING_number, LISTING_prefix, LISTING_postfix
      • isListingPostfix

        public boolean isListingPostfix()
        このオブジェクトのリスティングモードに LISTING_postfix の指定が含まれるかどうかを判定します.
        Returns:
        含まれる場合は true,その他 false を返します.
        See Also:
        LISTING, LISTING_number, LISTING_prefix, LISTING_postfix
      • setListingMode

        public void setListingMode(int m)
        リスティングモードを設定します.
        Parameters:
        m - リスティングモード.リスティングモードの定数の値の組み合わせ
        See Also:
        LISTING, LISTING_number, LISTING_prefix, LISTING_postfix
      • setUnderlineEnabled

        public void setUnderlineEnabled(boolean u)
        下線を有効にするかどうかを指定します.

        EOI ( 注目すべき EID ) などの出力で下線を有効にするかどうかの指定です.

        Parameters:
        u - 有効にするかどうか
        See Also:
        EdbPrintSpi.epCreateEOI(EdbDatum)
      • isPrintColumn

        public boolean isPrintColumn(String cxn)
        表示するカラムかどうかを調べる.
        Parameters:
        cxn - カラムのXN名.
        Returns:
        真偽値.
      • isPrintColumn

        public boolean isPrintColumn(EdbColumn ci)
      • setPrintColumns

        public void setPrintColumns(List<String> clist)
        SPREADSHEET等の表示のときに参照されるカラムリストを登録する.
        Parameters:
        clist - カラムのリスト.カラムはXN名で指定.
      • isTablePrefix

        boolean isTablePrefix()
      • setTableMode

        public void setTableMode(int m)
        テーブルモードを設定します.
        Parameters:
        m - テーブルモード.テーブルモードの定数の値の組み合わせ
        See Also:
        TABLE, TABLE_prefix
      • getTableMode

        public int getTableMode()
        テーブルモードを取得します.
        Returns:
        テーブルモードを返します.
      • tableStart

        public boolean tableStart(int mode,
                                  int cols)
        Start Table.
        Parameters:
        mode - Mode.
        cols - カラム数.
        Returns:
        真偽値.
      • tableEnd

        public boolean tableEnd()
        End Table.
        Returns:
        真偽値.
      • tableBodyStart

        public boolean tableBodyStart()
        Start Table Body.
        Returns:
        真偽値.
      • tableBodyEnd

        public boolean tableBodyEnd()
        End Table Body.
        Returns:
        真偽値.
EDB/Java

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