概要 | パッケージ | クラス | 使用 | 階層ツリー | 非推奨 API | 索引 | ヘルプ
前のクラス 次のクラス | フレームあり フレームなし
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド

## shohaku.core.util.debug
クラス DebugPrintStream

    java.lang.Object
      java.io.OutputStream
          java.io.FilterOutputStream
              java.io.PrintStream
                  shohaku.core.io.IntrospectPrintStream
                      shohaku.core.util.debug.DebugPrintStream

public class DebugPrintStream
extends IntrospectPrintStream

デバック用のプリント文を出力する様々なユーティリティ機能を持つ拡張プリントストリームを提供します。
親クラスが持つ機能以外に日付のフォーマット出力やコレクションの表形式の出力等の機能が追加されています。
以外にも様々なフォーマットで出力するユーティリティメソッドが多数提供されています。

入れ子クラスの概要
`static interface` | `DebugPrintStream.Printer` `DebugPrintStream.print(Object o)`で使用される出力機能を提供します。

フィールドの概要
`protected static java.util.List` | `DEFAULT_PRINTERS` デフォルトの出力プリンタを格納します。
`protected java.util.List` | `printers` このインスタンスで使用する出力プリンタ。

クラス shohaku.core.io.IntrospectPrintStream から継承したフィールド
`DEFAULT_REPETITION_LIMIT`

クラス java.io.FilterOutputStream から継承したフィールド
`out`

コンストラクタの概要
`DebugPrintStream()` 標準の出力ストリームを出力先として初期化します。
`DebugPrintStream(boolean autoFlush)` 標準の出力ストリームを出力先として初期化します。
`DebugPrintStream(java.io.OutputStream out)` 指定された出力ストリームを出力先として初期化します。
`DebugPrintStream(java.io.OutputStream out, boolean autoFlush)` 指定された出力ストリームを出力先として初期化します。

メソッドの概要
`void` | `addPrinter(DebugPrintStream.Printer printer)` 出力プリンタを追加します。
`void` | `addPrinter(int index, DebugPrintStream.Printer printer)` 出力プリンタを追加します。
`protected static boolean` | `deepEquals(java.lang.Object from, java.lang.Object to)` 厳密な同一性比較を行う。
`protected static java.lang.String` | `formatDate(java.util.Date date, java.lang.String pattern)` 日付型をフォーマット変換します。
`protected static java.lang.Object` | `formatDate(java.lang.Object date)` 日付型の書式で日付文字列に変換します。
`DebugPrintStream.Printer[]` | `getPrinters()` 登録済みの出力プリンタを返却します。
`void` | `print(java.lang.Object o)` 登録済みの出力プリンタを使用して出力ストリームへ出力します。
`void` | `print(java.lang.Object title, boolean value)` タイトルを付けて出力します。
`void` | `print(java.lang.Object title, char value)` タイトルを付けて出力します。
`void` | `print(java.lang.Object o, DebugPrintStream.Printer printer)` 出力プリンタを使用して出力ストリームへ出力します。
`void` | `print(java.lang.Object title, double value)` タイトルを付けて出力します。
`void` | `print(java.lang.Object title, float value)` タイトルを付けて出力します。
`void` | `print(java.lang.Object title, int value)` タイトルを付けて出力します。
`void` | `print(java.lang.Object title, long value)` タイトルを付けて出力します。
`void` | `print(java.lang.Object title, java.lang.Object value)` タイトルを付けて出力します。
`void` | `print(java.lang.Object title, java.lang.Object name, java.lang.Object value)` タイトルと名前=値を付けて出力します。
`void` | `print(java.lang.Object title, java.lang.Object name, java.lang.Object value1, java.lang.Object value2)` タイトルと名前=値１、値２を付けて出力します。
`void` | `printArrayTbl(java.lang.Object a)` 多次元配列を表形式で出力します。
`void` | `printArrayTbl(java.lang.Object a, int column)` 多次元配列を表形式で出力します。
`void` | `printBeansTbl(java.lang.Object[] beans)` 全ての`JavaBean`の保有するプロパティを全て表形式で出力します。
`void` | `printBeanTbl(java.lang.Object bean)` `JavaBean`の保有するプロパティを全て表形式で出力します。
`void` | `printCollTbl(java.util.Collection c)` コレクションを表形式で出力します。
`void` | `printCollTbl(java.util.Collection c, int column)` コレクションを表形式で出力します。
`void` | `printCompBean(java.lang.Object from, java.lang.Object to)` `JavaBean`の保有する同一名のプロパティを全て比較しその情報を出力する
`void` | `printCompMap(java.util.Map from, java.util.Map to)` `JavaBean`の保有する同一名のプロパティを全て比較しその情報を出力する
`void` | `printCurrentTime()` 現在時刻を出力します。
`void` | `printDate(java.util.Date date)` 日付型を出力します。
`void` | `printDLine(int len)` 二重破線を出力します。
`void` | `printDLineln(int len)` 二重破線を出力して前後１行分改行します。
`void` | `printDLineln(int len, int beginLine, int endLine)` 破線前後の改行数を指定して二重破線を出力します。
`void` | `printDLineln(java.lang.Object title, int len)` タイトルを指定して二重破線を出力します。
`void` | `printLine(int len)` 破線を出力します。
`void` | `printLineln(int len)` 破線を出力して１行分改行します。
`void` | `printLineln(int len, int beginLine, int endLine)` 破線前後の改行数を指定して破線を出力します。
`void` | `printLineln(java.lang.Object title, int len)` タイトルを指定して破線を出力します。
`void` | `println(java.lang.Object title, boolean value)` タイトルを付けて出力し改行します。
`void` | `println(java.lang.Object title, char value)` タイトルを付けて出力し改行します。
`void` | `println(java.lang.Object o, DebugPrintStream.Printer printer)` 出力プリンタを使用して出力ストリームへ出力して改行します。
`void` | `println(java.lang.Object title, double value)` タイトルを付けて出力し改行します。
`void` | `println(java.lang.Object title, float value)` タイトルを付けて出力し改行します。
`void` | `println(java.lang.Object title, int value)` タイトルを付けて出力し改行します。
`void` | `println(java.lang.Object title, long value)` タイトルを付けて出力し改行します。
`void` | `println(java.lang.Object title, java.lang.Object value)` タイトルを付けて出力し改行します。
`void` | `println(java.lang.Object title, java.lang.Object name, java.lang.Object value)` タイトルと名前=値を付けて出力し改行します。
`void` | `println(java.lang.Object title, java.lang.Object name, java.lang.Object value1, java.lang.Object value2)` タイトルと名前=値１、値２を付けて出力し改行します。
`void` | `printMapTbl(java.util.Map m)` マップを表形式で出力します。
`void` | `printType(java.lang.Object value)` 型情報を付けて出力します。
`void` | `printTypeColl(java.util.Collection c)` 要素のクラス名を含めコレクションを出力します。
`void` | `printTypeln(java.lang.Object value)` 型情報を付けて出力し改行します。
`void` | `printTypeMap(java.util.Map m)` 要素のクラス名を含めマップを出力します。
`boolean` | `removePrinter(DebugPrintStream.Printer printer)` 出力プリンタを削除します。
`boolean` | `removePrinter(int index)` 出力プリンタを削除します。

クラス shohaku.core.io.IntrospectPrintStream から継承したメソッド
`getRepetitionLimit, printArray, printArray, printBean, printBeans, printClass, printClass, printColl, printConstants, printDeepArrays, printFields, printlf, printMap, printNull, printsp, setRepetitionLimit`

クラス java.io.PrintStream から継承したメソッド
`checkError, close, flush, print, print, print, print, print, print, print, print, println, println, println, println, println, println, println, println, println, println, setError, write, write`

クラス java.io.FilterOutputStream から継承したメソッド
`write`

クラス java.lang.Object から継承したメソッド
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

フィールドの詳細

### DEFAULT_PRINTERS

    protected static final java.util.List DEFAULT_PRINTERS

  デフォルトの出力プリンタを格納します。

### printers

    protected final java.util.List printers

  このインスタンスで使用する出力プリンタ。

コンストラクタの詳細

### DebugPrintStream

    public DebugPrintStream()

  標準の出力ストリームを出力先として初期化します。

### DebugPrintStream

    public DebugPrintStream(boolean autoFlush)

  標準の出力ストリームを出力先として初期化します。

パラメータ:
  `autoFlush` - `true`の場合`println()`メソッドでは出力バッファをフラッシュする

### DebugPrintStream

    public DebugPrintStream(java.io.OutputStream out)

  指定された出力ストリームを出力先として初期化します。

パラメータ:
  `out` - 出力ストリーム

### DebugPrintStream

    public DebugPrintStream(java.io.OutputStream out,
                            boolean autoFlush)

  指定された出力ストリームを出力先として初期化します。

パラメータ:
  `out` - 出力ストリーム
  `autoFlush` - `true`の場合`println()`メソッドでは出力バッファをフラッシュする

メソッドの詳細

### getPrinters

    public DebugPrintStream.Printer[] getPrinters()

  登録済みの出力プリンタを返却します。

  戻り値:
    出力プリンタ

### addPrinter

    public void addPrinter(DebugPrintStream.Printer printer)

  出力プリンタを追加します。

  パラメータ:
    `printer` - 出力プリンタ

### addPrinter

    public void addPrinter(int index,
                           DebugPrintStream.Printer printer)

  出力プリンタを追加します。

  パラメータ:
    `index` - 登録するインデックス位置
    `printer` - 出力プリンタ
  例外:
    `java.lang.IndexOutOfBoundsException` - インデックス位置が範囲外の場合

### removePrinter

    public boolean removePrinter(int index)

  出力プリンタを削除します。

  パラメータ:
    `index` - 登録するインデックス位置
  戻り値:
    削除が実際に行われた場合`true`を返す

### removePrinter

    public boolean removePrinter(DebugPrintStream.Printer printer)

  出力プリンタを削除します。

  パラメータ:
    `printer` - 出力プリンタ
  戻り値:
    削除が実際に行われた場合`true`を返す

### print

    public void print(java.lang.Object o)

  登録済みの出力プリンタを使用して出力ストリームへ出力します。

  オーバーライド:
    クラス `IntrospectPrintStream` 内の `print`
  パラメータ:
    `o` - 出力値

### print

    public void print(java.lang.Object o,
                      DebugPrintStream.Printer printer)

  出力プリンタを使用して出力ストリームへ出力します。
  `Printer.isAssignable(Object)`が`true`の場合のみ出力されます。

  パラメータ:
    `o` - 出力値
    `printer` - 出力プリンタ

### print

    public void print(java.lang.Object title,
                      boolean value)

  タイトルを付けて出力します。

  パラメータ:
    `title` - タイトル
    `value` - 出力値

### print

    public void print(java.lang.Object title,
                      char value)

  タイトルを付けて出力します。

  パラメータ:
    `title` - タイトル
    `value` - 出力値

### print

    public void print(java.lang.Object title,
                      double value)

  タイトルを付けて出力します。

  パラメータ:
    `title` - タイトル
    `value` - 出力値

### print

    public void print(java.lang.Object title,
                      float value)

  タイトルを付けて出力します。

  パラメータ:
    `title` - タイトル
    `value` - 出力値

### print

    public void print(java.lang.Object title,
                      int value)

  タイトルを付けて出力します。

  パラメータ:
    `title` - タイトル
    `value` - 出力値

### print

    public void print(java.lang.Object title,
                      long value)

  タイトルを付けて出力します。

  パラメータ:
    `title` - タイトル
    `value` - 出力値

### print

    public void print(java.lang.Object title,
                      java.lang.Object value)

  タイトルを付けて出力します。

  パラメータ:
    `title` - タイトル
    `value` - 出力値

### print

    public void print(java.lang.Object title,
                      java.lang.Object name,
                      java.lang.Object value)

  タイトルと名前=値を付けて出力します。

  パラメータ:
    `title` - タイトル
    `name` - 値の名前
    `value` - 出力値

### print

    public void print(java.lang.Object title,
                      java.lang.Object name,
                      java.lang.Object value1,
                      java.lang.Object value2)

  タイトルと名前=値１、値２を付けて出力します。

  パラメータ:
    `title` - タイトル
    `name` - 値の名前
    `value1` - 出力値１
    `value2` - 出力値２

### println

    public void println(java.lang.Object o,
                        DebugPrintStream.Printer printer)

  出力プリンタを使用して出力ストリームへ出力して改行します。
  `Printer.isAssignable(Object)`が`true`の場合のみ出力されます。

  パラメータ:
    `o` - 出力値
    `printer` - 出力プリンタ

### println

    public void println(java.lang.Object title,
                        boolean value)

  タイトルを付けて出力し改行します。

  パラメータ:
    `title` - タイトル
    `value` - 出力値

### println

    public void println(java.lang.Object title,
                        char value)

  タイトルを付けて出力し改行します。

  パラメータ:
    `title` - タイトル
    `value` - 出力値

### println

    public void println(java.lang.Object title,
                        double value)

  タイトルを付けて出力し改行します。

  パラメータ:
    `title` - タイトル
    `value` - 出力値

### println

    public void println(java.lang.Object title,
                        float value)

  タイトルを付けて出力し改行します。

  パラメータ:
    `title` - タイトル
    `value` - 出力値

### println

    public void println(java.lang.Object title,
                        int value)

  タイトルを付けて出力し改行します。

  パラメータ:
    `title` - タイトル
    `value` - 出力値

### println

    public void println(java.lang.Object title,
                        long value)

  タイトルを付けて出力し改行します。

  パラメータ:
    `title` - タイトル
    `value` - 出力値

### println

    public void println(java.lang.Object title,
                        java.lang.Object value)

  タイトルを付けて出力し改行します。

  パラメータ:
    `title` - タイトル
    `value` - 出力値

### println

    public void println(java.lang.Object title,
                        java.lang.Object name,
                        java.lang.Object value)

  タイトルと名前=値を付けて出力し改行します。

  パラメータ:
    `title` - タイトル
    `name` - 値の名前
    `value` - 出力値

### println

    public void println(java.lang.Object title,
                        java.lang.Object name,
                        java.lang.Object value1,
                        java.lang.Object value2)

  タイトルと名前=値１、値２を付けて出力し改行します。

  パラメータ:
    `title` - タイトル
    `name` - 値の名前
    `value1` - 出力値１
    `value2` - 出力値２

### printLine

    public void printLine(int len)

  破線を出力します。

  パラメータ:
    `len` - 破線数

### printLineln

    public void printLineln(int len)

  破線を出力して１行分改行します。

  パラメータ:
    `len` - 破線数

### printLineln

    public void printLineln(java.lang.Object title,
                            int len)

  タイトルを指定して破線を出力します。 "------ タイトル ------"

  パラメータ:
    `title` - タイトル
    `len` - 破線数

### printLineln

    public void printLineln(int len,
                            int beginLine,
                            int endLine)

  破線前後の改行数を指定して破線を出力します。

  パラメータ:
    `len` - 破線数
    `beginLine` - 開始改行
    `endLine` - 終了改行

### printDLine

    public void printDLine(int len)

  二重破線を出力します。

  パラメータ:
    `len` - 破線数

### printDLineln

    public void printDLineln(int len)

  二重破線を出力して前後１行分改行します。

  パラメータ:
    `len` - 破線数

### printDLineln

    public void printDLineln(java.lang.Object title,
                             int len)

  タイトルを指定して二重破線を出力します。 "====== タイトル ======"

  パラメータ:
    `title` - タイトル
    `len` - 破線数

### printDLineln

    public void printDLineln(int len,
                             int beginLine,
                             int endLine)

  破線前後の改行数を指定して二重破線を出力します。

  パラメータ:
    `len` - 破線数
    `beginLine` - 開始改行
    `endLine` - 終了改行

### printTypeColl

    public void printTypeColl(java.util.Collection c)

  要素のクラス名を含めコレクションを出力します。

           <ClassName>[ <ClassName>item1, <ClassName>item2, … ]

  パラメータ:
    `c` - 出力値

### printTypeMap

    public void printTypeMap(java.util.Map m)

  要素のクラス名を含めマップを出力します。

        <ClassName>{ <ClassName>key1:<ClassName>value1, <ClassName>key2:<ClassName>value2, … }

  パラメータ:
    `m` - 出力値

### printArrayTbl

    public void printArrayTbl(java.lang.Object a)

  多次元配列を表形式で出力します。

           <ArrayClassType(length)>[
            item1
            <ArrayClassType(length)>[item2-1, item2-2, item2-3]
            item3
            …
           ]

  パラメータ:
    `a` - 出力値

### printArrayTbl

    public void printArrayTbl(java.lang.Object a,
                              int column)

  多次元配列を表形式で出力します。

           <ArrayClassType(length)>[
             item1, item2, item3
             item4, <ArrayClassType(length)>[item5-1, item5-2, item5-3], item6
             item7, …
           ]

  パラメータ:
    `a` - 出力値
    `column` - １列分の要素数

### printCollTbl

    public void printCollTbl(java.util.Collection c)

  コレクションを表形式で出力します。

          <ClassName>[
            item1
            item2
            item3
            …
          ]

  パラメータ:
    `c` - 出力値

### printCollTbl

    public void printCollTbl(java.util.Collection c,
                             int column)

  コレクションを表形式で出力します。

           <ClassName>[
             item1, item2, item3
             item4, item5, item6
             item7, …
           ]

  パラメータ:
    `c` - 出力値
    `column` - １列分の要素数

### printMapTbl

    public void printMapTbl(java.util.Map m)

  マップを表形式で出力します。

           <ClassName>{
             key1:value1
             key2:value2
             key3:value3
             …
           }

  パラメータ:
    `m` - 出力値

### printBeanTbl

    public void printBeanTbl(java.lang.Object bean)

  `JavaBean`の保有するプロパティを全て表形式で出力します。

           <ClassName>{
             property1=value1
             property2=value2
             property3=value3
             …
           }

  パラメータ:
    `bean` - 出力する`JavaBean`

### printBeansTbl

    public void printBeansTbl(java.lang.Object[] beans)

  全ての`JavaBean`の保有するプロパティを全て表形式で出力します。

           <ArrayClassType(length)>[length]
           [
             [0]<ClassName>{
               property1=value1
               property2=value2
               property3=value3
               …
             }
             [1]<ClassName>{
               property1=value1
               property2=value2
               property3=value3
               …
             }
             …
           ]

  パラメータ:
    `beans` - 出力する`JavaBean`の配列

### printDate

    public void printDate(java.util.Date date)

  日付型を出力します。

  パラメータ:
    `date` - 出力値

### printCurrentTime

    public void printCurrentTime()

  現在時刻を出力します。

### printCompBean

    public void printCompBean(java.lang.Object from,
                              java.lang.Object to)

  `JavaBean`の保有する同一名のプロパティを全て比較しその情報を出力する

  パラメータ:
    `from` - 比較元
    `to` - 比較先

### printCompMap

    public void printCompMap(java.util.Map from,
                             java.util.Map to)

  `JavaBean`の保有する同一名のプロパティを全て比較しその情報を出力する

  パラメータ:
    `from` - 比較元
    `to` - 比較先

### printType

    public void printType(java.lang.Object value)

  型情報を付けて出力します。

  パラメータ:
    `value` - 出力値

### printTypeln

    public void printTypeln(java.lang.Object value)

  型情報を付けて出力し改行します。

  パラメータ:
    `value` - 出力値

### formatDate

    protected static java.lang.Object formatDate(java.lang.Object date)

  日付型の書式で日付文字列に変換します。

  変換形式：

  - java.sql.Timestamp = yyyy-mm-dd hh:mm:ss.fffffffff
  - java.sql.Time = hh:mm:ss
  - java.util.Date = yyyy-mm-dd hh:mm:ss.sss

  パラメータ:
    `date` - 日付
  戻り値:
    日付文字列

### formatDate

    protected static java.lang.String formatDate(java.util.Date date,
                                                 java.lang.String pattern)

  日付型をフォーマット変換します。

  パラメータ:
    `date` - 日付
    `pattern` - 書式
  戻り値:
    日付文字列

### deepEquals

    protected static boolean deepEquals(java.lang.Object from,
                                        java.lang.Object to)

  厳密な同一性比較を行う。
  `null`の比較と 配列・多次元配列の内部要素を含む同値性比較を行い、以外は通常の比較と同一。

  パラメータ:
    `from` - 比較元
    `to` - 比較先
  戻り値:
    同一の場合True

概要 | パッケージ | クラス | 使用 | 階層ツリー | 非推奨 API | 索引 | ヘルプ
前のクラス 次のクラス | フレームあり フレームなし
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド