jp.co.justsystem.choco.model.expr
クラス ExprValue

java.lang.Object
  |
  +--jp.co.justsystem.choco.model.expr.ExprValue
すべての実装インタフェース:
java.lang.Cloneable

public final class ExprValue
extends java.lang.Object
implements java.lang.Cloneable

式の値を表現します


フィールドの概要
static int TYPE_CELL
          セル参照型
static int TYPE_RANGE
          セル範囲参照型
static int TYPE_VALUE
          値型
 
コンストラクタの概要
ExprValue()
          コンストラクタ
 
メソッドの概要
 boolean accessRange(CellAccess access)
          型が TYPE_CELL/TYPE_RANGE の場合、セルデータに逐一アクセスします。
 int castInt()
          整数値への型変換を行い、取得します。
 boolean castLogical()
          論理値への型変換を行い、取得します。
 double castNumber()
          実数値への型変換を行い、取得します。
 java.lang.String castText()
          文字列への型変換を行い、取得します。
 Value changeValue()
          自分自身を Value に型変換します。
 java.lang.Object clone()
          Object#clone の実装です。
 void evalExpr()
          式評価(遅延評価)を行います。
 jp.co.justsystem.choco.model.expr.ExprBook getBook()
          ブックを取得します。
 CellData getCellData()
          型が TYPE_CELL の場合、セルデータを取得します。
 int getCmax()
          終点セルの列番号を取得します。
 int getCmin()
          始点セルの列番号を取得します。
 int getRmax()
          終点セルの行番号を取得します。
 int getRmin()
          始点セルの行番号を取得します。
 int getSmax()
          終了シート番号を取得します。
 int getSmin()
          開始シート番号を取得します。
 int getType()
          式値の種類を取得します。
 Value getValue()
          値を取得します。
 boolean isCellRef()
          単一セルかどうか調べます。
 boolean isRef()
          参照型(TYPE_CELL or TYPE_RANGE)かどうか調べます。
 boolean isSkewerRef()
          串刺し参照かどうか調べます。
 boolean isValue()
          値型かどうか調べます。
 void setCell(jp.co.justsystem.choco.model.expr.ExprBook book, int sno, int row, int col)
          セルを設定します。
 void setError(int val)
          エラー値を設定します。
 void setExprValue(ExprValue val)
          式値を設定します。
 void setLogical(boolean val)
          論理値を設定します。
 void setNumber(double val)
          実数値を設定します。
 void setRange(jp.co.justsystem.choco.model.expr.ExprBook book, int sno, int rmin, int cmin, int rmax, int cmax)
          セル範囲を設定します。
 void setSkewerRange(jp.co.justsystem.choco.model.expr.ExprBook book, int smin, int smax, int rmin, int cmin, int rmax, int cmax)
          セル範囲を設定します。
 void setText(java.lang.String str)
          文字列を設定します。
 void setValue(Value val)
          値を設定します。
 
クラス java.lang.Object から継承したメソッド
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

TYPE_VALUE

public static final int TYPE_VALUE
値型

TYPE_CELL

public static final int TYPE_CELL
セル参照型

TYPE_RANGE

public static final int TYPE_RANGE
セル範囲参照型
コンストラクタの詳細

ExprValue

public ExprValue()
コンストラクタ
メソッドの詳細

clone

public java.lang.Object clone()
Object#clone の実装です。
オーバーライド:
クラス java.lang.Object 内の clone
戻り値:
結果

getType

public int getType()
式値の種類を取得します。
戻り値:
TYPE_xxx

isValue

public boolean isValue()
値型かどうか調べます。
戻り値:
値の場合は true を返します。

isRef

public boolean isRef()
参照型(TYPE_CELL or TYPE_RANGE)かどうか調べます。
戻り値:
参照型の場合 true を返します。

isCellRef

public boolean isCellRef()
単一セルかどうか調べます。
戻り値:
単一セルの場合 true を返します。

isSkewerRef

public boolean isSkewerRef()
串刺し参照かどうか調べます。
戻り値:
串刺し範囲の場合 true を返します。

getValue

public Value getValue()
値を取得します。
ただし、値型以外の時にこのメソッドを呼び出すと Error が出ます。
戻り値:
値クラス

getBook

public jp.co.justsystem.choco.model.expr.ExprBook getBook()
ブックを取得します。
戻り値:
ブック

getSmin

public int getSmin()
開始シート番号を取得します。
戻り値:
開始シート番号

getSmax

public int getSmax()
終了シート番号を取得します。
戻り値:
終了シート番号

getRmin

public int getRmin()
始点セルの行番号を取得します。
戻り値:
始点セルの行番号

getCmin

public int getCmin()
始点セルの列番号を取得します。
戻り値:
始点セルの列番号

getRmax

public int getRmax()
終点セルの行番号を取得します。
戻り値:
終点セルの行番号

getCmax

public int getCmax()
終点セルの列番号を取得します。
戻り値:
終点セルの列番号

setValue

public void setValue(Value val)
値を設定します。
パラメータ:
val - 値

setExprValue

public void setExprValue(ExprValue val)
式値を設定します。
パラメータ:
val - 式値

setCell

public void setCell(jp.co.justsystem.choco.model.expr.ExprBook book,
                    int sno,
                    int row,
                    int col)
セルを設定します。
パラメータ:
book - ブック
sno - シート番号
row - 行番号
col - 列番号

setRange

public void setRange(jp.co.justsystem.choco.model.expr.ExprBook book,
                     int sno,
                     int rmin,
                     int cmin,
                     int rmax,
                     int cmax)
セル範囲を設定します。
始点終点が逆転している場合(例えば B2:A1 のような場合)は、内部で入れ替えている(A1:B2にする)ので 呼び出し側は特に意識する必要はありません。
パラメータ:
book - ブック番号
sno - シート番号
rmin - 始点セル行番号
cmin - 始点セル列番号
rmax - 終点セル行番号
cmax - 終点セル列番号

setSkewerRange

public void setSkewerRange(jp.co.justsystem.choco.model.expr.ExprBook book,
                           int smin,
                           int smax,
                           int rmin,
                           int cmin,
                           int rmax,
                           int cmax)
セル範囲を設定します。
始点終点が逆転している場合(例えば Sheet2:Sheet1!B2:A1 のような場合)は、内部で入れ替えている(Sheet1:Sheet2!A1:B2にする)ので 呼び出し側は特に意識する必要はありません。
パラメータ:
book - ブック番号
smin - 始点セルシート番号
smax - 終点セルシート番号
rmin - 始点セル行番号
cmin - 始点セル列番号
rmax - 終点セル行番号
cmax - 終点セル列番号

changeValue

public Value changeValue()
自分自身を Value に型変換します。
つまりは、セル参照値、等を取得します。
戻り値:

evalExpr

public void evalExpr()
式評価(遅延評価)を行います。

setLogical

public void setLogical(boolean val)
論理値を設定します。
パラメータ:
val - 論理値

setNumber

public void setNumber(double val)
実数値を設定します。
パラメータ:
val - 実数値

setText

public void setText(java.lang.String str)
文字列を設定します。
パラメータ:
val - 文字列

setError

public void setError(int val)
エラー値を設定します。
パラメータ:
val - エラー値

castLogical

public boolean castLogical()
                    throws jp.co.justsystem.choco.model.ValueException
論理値への型変換を行い、取得します。
このメソッドの呼び出し後、自分自身の型は値型になります。
戻り値:
論理値

castInt

public int castInt()
            throws jp.co.justsystem.choco.model.ValueException
整数値への型変換を行い、取得します。
このメソッドの呼び出し後、自分自身の型は値型になります。
戻り値:
整数値

castNumber

public double castNumber()
                  throws jp.co.justsystem.choco.model.ValueException
実数値への型変換を行い、取得します。
このメソッドの呼び出し後、自分自身の型は値型になります。
戻り値:
実数値

castText

public java.lang.String castText()
                          throws jp.co.justsystem.choco.model.ValueException
文字列への型変換を行い、取得します。
このメソッドの呼び出し後、自分自身の型は値型になります。
戻り値:
文字列

getCellData

public CellData getCellData()
型が TYPE_CELL の場合、セルデータを取得します。

accessRange

public boolean accessRange(CellAccess access)
型が TYPE_CELL/TYPE_RANGE の場合、セルデータに逐一アクセスします。
パラメータ:
access - アクセッサ
戻り値:
全てのセルにアクセスしたら true を返します