shohaku.core.util.debug
クラス DumpStream

java.lang.Object
  拡張java.io.OutputStream
      拡張java.io.FilterOutputStream
          拡張java.io.PrintStream
              拡張shohaku.core.util.debug.DumpStream

public class DumpStream
extends java.io.PrintStream

デバック文を出力する拡張プリントストリームを提供します。

配列・多次元配列の要素の出力や日付のフォーマット出力、 java bean のプロパティ出力等の機能が提供されています。
以外にも様々なフォーマットで出力するユーティリティメソッドが多数提供されています。


フィールドの概要
static int DEFAULT_REPETITION_LIMIT
          反復処理を行う要素数のデフォルトの上限値。
 
クラス java.io.FilterOutputStream から継承したフィールド
out
 
コンストラクタの概要
DumpStream()
          標準の出力ストリームを出力先として初期化します。
DumpStream(boolean autoFlush)
          標準の出力ストリームを出力先として初期化します。
DumpStream(java.io.OutputStream out, boolean autoFlush)
          指定された出力ストリームを出力先として初期化します。
 
メソッドの概要
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)
          日付型の書式で日付文字列に変換します。
 int getRepetitionLimit()
          反復処理を行う要素数の上限値を返却します。
 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 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)
          タイトルと名前=値1、値2を付けて出力します。
 void printArray(java.lang.Object a)
          多次元配列を出力します。
 void printArray(java.lang.Object title, java.lang.Object a)
          タイトルと多次元配列を出力します。
 void printArrayTbl(java.lang.Object a)
          多次元配列を表形式で出力します。
 void printArrayTbl(java.lang.Object a, int column)
          多次元配列を表形式で出力します。
 void printBean(java.lang.Object bean)
          JavaBean の保有するプロパティを全て出力します。
 void printBeans(java.lang.Object[] beans)
          全ての JavaBean の保有するプロパティを全て出力します。
 void printBeansTbl(java.lang.Object[] beans)
          全ての JavaBean の保有するプロパティを全て表形式で出力します。
 void printBeanTbl(java.lang.Object bean)
          JavaBean の保有するプロパティを全て表形式で出力します。
 void printClass(java.lang.Object o)
          クラス名を出力します。
 void printColl(java.util.Collection c)
          コレクションを出力します。
 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 printConstants(java.lang.Class c)
          public, static, final であるフィールドを全て出力します。
 void printCurrentTime()
          現在時刻を出力します。
 void printDate(java.util.Date date)
          日付型を出力します。
protected  void printDeepArrays(java.lang.Object a)
          指定された配列の「深層内容」の文字列表現を返却します。
protected  void printDeepArrays(java.lang.Object a, VariableInteger count, int row)
           
 void printDLine(int len)
          二重破線を出力します。
 void printDLineln(int len)
          二重破線を出力して前後1行分改行します。
 void printDLineln(int len, int beginLine, int endLine)
          破線前後の改行数を指定して二重破線を出力します。
 void printDLineln(java.lang.Object title, int len)
          タイトルを指定して二重破線を出力します。
 void printFields(java.lang.Object o)
          public であるフィールドを全て出力します。
 void printLine(int len)
          破線を出力します。
 void printLineln(int len)
          破線を出力して1行分改行します。
 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 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)
          タイトルと名前=値1、値2を付けて出力し改行します。
 void printMap(java.util.Map m)
          マップを出力します。
 void printMapTbl(java.util.Map m)
          マップを表形式で出力します。
 void printnl(int len)
          引数分の改行を出力します。
 void printNull()
          null 値の文字列表現を出力します。
 void printPattern(java.util.regex.Pattern pattern)
          正規表現パターンを出力します。
 void printsp(int len)
          引数分のスペースを出力します。
 void printType(java.lang.Object value)
          型情報を付けて出力します。
 void printTypeColl(java.util.Collection c)
          要素のクラス名を含めコレクションを出力します。
 void printTypeln(java.lang.Object value)
          型情報を付けて出力し改行します。
 void printTypeMap(java.util.Map m)
          要素のクラス名を含めマップを出力します。
 void setRepetitionLimit(int limit)
          反復処理を行う要素数の上限値を格納します。
 
クラス 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_REPETITION_LIMIT

public static final int DEFAULT_REPETITION_LIMIT
反復処理を行う要素数のデフォルトの上限値。

関連項目:
定数フィールド値
コンストラクタの詳細

DumpStream

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


DumpStream

public DumpStream(boolean autoFlush)
標準の出力ストリームを出力先として初期化します。

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

DumpStream

public DumpStream(java.io.OutputStream out,
                  boolean autoFlush)
指定された出力ストリームを出力先として初期化します。

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

print

public void print(java.lang.Object o)
登録済みの出力プリンタを使用して出力ストリームへ出力します。

パラメータ:
o - 出力値

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)
タイトルと名前=値1、値2を付けて出力します。

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

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)
タイトルと名前=値1、値2を付けて出力し改行します。

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

printnl

public void printnl(int len)
引数分の改行を出力します。

パラメータ:
len - 改行数

printsp

public void printsp(int len)
引数分のスペースを出力します。

パラメータ:
len - スペース数

printLine

public void printLine(int len)
破線を出力します。

パラメータ:
len - 破線数

printLineln

public void printLineln(int len)
破線を出力して1行分改行します。

パラメータ:
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)
二重破線を出力して前後1行分改行します。

パラメータ:
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 - 終了改行

printArray

public void printArray(java.lang.Object a)
多次元配列を出力します。
  <ArrayClassType(length)>[item1, item2, <ArrayClassType(length)>[item3-1, item3-2, …], item4]
 
配列以外は print(Object) を呼ぶ

パラメータ:
a - 出力値

printArray

public void printArray(java.lang.Object title,
                       java.lang.Object a)
タイトルと多次元配列を出力します。
  タイトル : <ArrayClassType(length)>[item1, item2, <ArrayClassType(length)>[item3-1, item3-2, …], item4]
 

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

printColl

public void printColl(java.util.Collection c)
コレクションを出力します。
     <ClassName>[ item1, item2, item3, … ]
 

パラメータ:
c - 出力値

printMap

public void printMap(java.util.Map m)
マップを出力します。
  <ClassName>{ key1:value1, key2:value2, key3:value3, … }
 

パラメータ:
m - 出力値

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 - 1列分の要素数

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 - 1列分の要素数

printMapTbl

public void printMapTbl(java.util.Map m)
マップを表形式で出力します。
     <ClassName>{
       key1:value1
       key2:value2
       key3:value3
       …
     }
 

パラメータ:
m - 出力値

printBean

public void printBean(java.lang.Object bean)
JavaBean の保有するプロパティを全て出力します。
  <ClassName>{ property1=value1, property2=value2, … }
 

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

printBeans

public void printBeans(java.lang.Object[] beans)
全ての JavaBean の保有するプロパティを全て出力します。
     <ArrayClassType(length)>[length]
       [
       [0]<ClassName>{ property1=value1, property2=value2, … }
       [1]<ClassName>{ property1=value1, property2=value2, … }
       …
     ]
 

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

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 の配列

printConstants

public void printConstants(java.lang.Class c)
public, static, final であるフィールドを全て出力します。
     <ClassName>{
       public static final [field name1] = [field value1]
       public static final transient [field name2] = [field value2]
       ・・・
     }
 

パラメータ:
c - 出力するクラス

printFields

public void printFields(java.lang.Object o)
public であるフィールドを全て出力します。
     <ClassName>{
       public static final java.lang.String foo = "foo"
       public static  java.lang.String foo = "foo"
       public final  java.lang.String foo = "foo"
       public java.lang.String foo = "foo"
       public transient  java.lang.String foo = "foo"
       public volatile java.lang.String foo = "foo"
       ・・・
     }  
 

パラメータ:
o - 出力するオブジェクト

printClass

public void printClass(java.lang.Object o)
クラス名を出力します。

パラメータ:
o - 出力するオブジェクト

printType

public void printType(java.lang.Object value)
型情報を付けて出力します。

パラメータ:
value - 出力値

printTypeln

public void printTypeln(java.lang.Object value)
型情報を付けて出力し改行します。

パラメータ:
value - 出力値

printNull

public void printNull()
null 値の文字列表現を出力します。


printDate

public void printDate(java.util.Date date)
日付型を出力します。

パラメータ:
date - 出力値

printCurrentTime

public void printCurrentTime()
現在時刻を出力します。


printPattern

public void printPattern(java.util.regex.Pattern pattern)
正規表現パターンを出力します。

パラメータ:
pattern - 正規表現パターン

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 - 比較先

getRepetitionLimit

public int getRepetitionLimit()
反復処理を行う要素数の上限値を返却します。

戻り値:
反復処理を行う要素数の上限値

setRepetitionLimit

public void setRepetitionLimit(int limit)
反復処理を行う要素数の上限値を格納します。

パラメータ:
limit - 反復処理を行う要素数の上限値

printDeepArrays

protected void printDeepArrays(java.lang.Object a)
指定された配列の「深層内容」の文字列表現を返却します。
REPETITION_LIMITの要素数まで出力します。

パラメータ:
a - 出力する配列

printDeepArrays

protected void printDeepArrays(java.lang.Object a,
                               VariableInteger count,
                               int row)

formatDate

protected static java.lang.Object formatDate(java.lang.Object 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