D88File
クラス FileResultSet

java.lang.Object
  拡張D88File.FileResultSet

public class FileResultSet
extends java.lang.Object

D88ファイルへのFILE単位の操作結果を保存する結果セット。
D88Fileクラスより作成され、利用アプリケーションにおいては、
ResultSetオブジェクトと同じ感覚で動作する。

利用アプリケーション側では、nextメソッド等でカーソルを移動し、
trueの場合はgetXXXXで現在のカーソルより値を取り出すことが可能。
nextメソッドでfalseの場合は値がないためgetXXXはエラーを起こす。

関連項目:
D88File

コンストラクタの概要
FileResultSet(java.util.Vector vecFileResult)
          コンストラクタ(D88Fileからのみ使用する。).
 
メソッドの概要
 boolean absolute(int intRow)
          カーソルを指定した行に移動する.
 boolean first()
          カーソルを先頭行(1行目)に移動する.
 java.lang.String getFileDirName()
          現在指定しているカーソル(内部ファイル)が格納されているディレクトリ名を取得する.
 int getFileEAddr()
          現在指定しているカーソル(内部ファイル)の終了アドレスを取得する.
 java.lang.String getFileName()
          現在指定しているカーソル(内部ファイル)のファイル名を取得する.
 int getFileNumber()
          現在指定しているカーソル(内部ファイル)のファイル番号を取得する.
 int getFileSAddr()
          現在指定しているカーソル(内部ファイル)の開始アドレスを取得する.
 int getFileSector()
          現在指定しているカーソル(内部ファイル)の開始Sector番号を取得する.
 int getFileSeveral()
          現在指定しているカーソル(内部ファイル)のフォーマット別情報を取得する.
 int getFileSize()
          現在指定しているカーソル(内部ファイル)のファイルサイズを取得する.
 int getFileTrack()
          現在指定しているカーソル(内部ファイル)の開始Track番号を取得する.
 int getFileType()
          現在指定しているカーソル(内部ファイル)のファイル属性を取得する.
 int getFileXAddr()
          現在指定しているカーソル(内部ファイル)の実行アドレスを取得する.
 java.lang.String getLineCui()
          現在指定しているカーソルのファイル操作情報を一行で取得する(簡易版).
 java.lang.String getLineGui()
          現在指定しているカーソルのファイル操作情報を一行で取得する(詳細版).
 int getManFlag()
          現在指定しているカーソルの操作区分を取得する.
static int getMaxRows()
          FILEを操作した際の結果セットの行数を取得する.
 java.lang.String getReturn()
          現在指定しているカーソルの変更時設定値を取得する.
 int getRow()
          現在指定しているカーソルの行番号を取得する.
 boolean last()
          カーソルを最終行に移動する.
 boolean next()
          カーソルを現在の位置から1行下に移動する.
 boolean previous()
          カーソルを現在の位置から1行上に移動する.
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

FileResultSet

public FileResultSet(java.util.Vector vecFileResult)
コンストラクタ(D88Fileからのみ使用する。).
本来ならはインターフェイスであるべきなのだが...

メソッドの詳細

getMaxRows

public static int getMaxRows()
FILEを操作した際の結果セットの行数を取得する.

行数が 0 以下となる場合は操作が失敗または無効を意味する。
listFileの場合は内部ファイルの数となり、
他の操作系メソッドの場合は有効な操作の場合は 1 となる。

戻り値:
FileResultSet で保持する最大行数。

getRow

public int getRow()
現在指定しているカーソルの行番号を取得する.

戻り値:
現在指定しているカーソルの行番号。

next

public boolean next()
カーソルを現在の位置から1行下に移動する.

FileResultSetの生成時は先頭行よりも上にカーソルがあるため、
行を取り出すには、このnextメソッドか、firstメソッド、
absoluteメソッド、lastメソッドを使用して、カーソルを有効な行に
移動する必要がある。

戻り値:
カーソルを1行下に移動できた場合は true を返す。
行の終わりを検出した場合は false を返す。

previous

public boolean previous()
カーソルを現在の位置から1行上に移動する.

FileResultSetの生成時にこのメソッドを使用した場合、
先頭行よりも上にカーソルがあるため、カーソルを合わせられず失敗する。
そのため、必ず nextメソッドや absoluteメソッド、lastメソッドを
を使用して、カーソルの行位置を後ろへずらしてから使用する必要がある。

戻り値:
カーソルを1行上に移動できた場合は true を返す。
行の始まりを検出した場合は false を返す。

first

public boolean first()
カーソルを先頭行(1行目)に移動する.

戻り値:
カーソルを先頭行(1行目)に移動できた場合は true を返す。
FileResultSet が無効等で先頭行に移動できない場合は false を返す。

last

public boolean last()
カーソルを最終行に移動する.

戻り値:
カーソルを最終行に移動できた場合は true を返す。
FileResultSet が無効等で最終行に移動できない場合は false を返す。

absolute

public boolean absolute(int intRow)
カーソルを指定した行に移動する.

パラメータ:
intRow - カーソルを移動する行番号を指定する。
            指定範囲は、1 <= getMaxRows の値。
            ただし、-1 指定時はlastと同一とする。
戻り値:
カーソルを指定行に移動できた場合は true を返す。
FileResultSet が無効等で指定行に移動できない場合は false を返す。

getManFlag

public int getManFlag()
現在指定しているカーソルの操作区分を取得する.

戻り値:
実施したD88ファイルへのFILE操作の種類。
  1: ファイルリスト取得
  2: ファイル展開(Extract)

getFileNumber

public int getFileNumber()
現在指定しているカーソル(内部ファイル)のファイル番号を取得する.
ディレクトリエントリの格納順で、1番から連番とする。

戻り値:
指定ディスク内におけるそのファイルのディレクトリエントリ先頭からのファイル番号。

getFileName

public java.lang.String getFileName()
現在指定しているカーソル(内部ファイル)のファイル名を取得する.

戻り値:
内部ファイル名。

getFileDirName

public java.lang.String getFileDirName()
現在指定しているカーソル(内部ファイル)が格納されているディレクトリ名を取得する.

戻り値:
内部ファイル格納ディレクトリ名

getFileType

public int getFileType()
現在指定しているカーソル(内部ファイル)のファイル属性を取得する.

戻り値:
内部ファイルの属性。
  0: その他ファイル
  1: BINARY(マシン語)ファイル
  2: BASICファイル
  3: ASCII(テキスト)ファイル

getFileSize

public int getFileSize()
現在指定しているカーソル(内部ファイル)のファイルサイズを取得する.

戻り値:
内部ファイルサイズ(バイト単位)。
ただし、N88 DISK BASIC や Micro Disk Basic の場合はセクタ単位に切り上げ。

getFileSAddr

public int getFileSAddr()
現在指定しているカーソル(内部ファイル)の開始アドレスを取得する.

戻り値:
内部ファイルの開始アドレス。
バイナリ(マシン語)ファイルのみ有効で、他は -1が設定される。

getFileEAddr

public int getFileEAddr()
現在指定しているカーソル(内部ファイル)の終了アドレスを取得する.

戻り値:
内部ファイルの終了アドレス。
バイナリ(マシン語)ファイルのみ有効で、他は -1が設定される。

getFileXAddr

public int getFileXAddr()
現在指定しているカーソル(内部ファイル)の実行アドレスを取得する.

戻り値:
内部ファイルの実行アドレス。
バイナリ(マシン語)ファイルのみ有効で、他は -1が設定される。

getFileTrack

public int getFileTrack()
現在指定しているカーソル(内部ファイル)の開始Track番号を取得する.

戻り値:
内部ファイルの開始トラック番号(0-163)。

getFileSector

public int getFileSector()
現在指定しているカーソル(内部ファイル)の開始Sector番号を取得する.

戻り値:
内部ファイルの開始セクタ番号(1-20)。

getFileSeveral

public int getFileSeveral()
現在指定しているカーソル(内部ファイル)のフォーマット別情報を取得する.

戻り値:
Frost-DOS・Magical-DOS 以外は 0 が設定される。
Magical-DOS の場合は、ファイルヘッダで使用するセクタ数( 1 以上)
Frost-DOS の場合はセクタ内の開始Seek位置(バイト)を取得(0 or 256)

getReturn

public java.lang.String getReturn()
現在指定しているカーソルの変更時設定値を取得する.

そのD88に対して行った操作によって、取得されるものが変わる。

戻り値:
操作実施の結果
  ""(空文字):エラー
  それ以外の値なら正常
    ・getManFlag が 1(リスト取得)の時はファイル番号
    ・getManFlag が 2(展開)の時は 展開した出力ファイル名

getLineGui

public java.lang.String getLineGui()
現在指定しているカーソルのファイル操作情報を一行で取得する(詳細版).

そのD88に対して行ったファイル操作によって、取得する形式が異なる。
取得形式は d88edj で使用する形式。
リスト取得時に開始アドレス、終了アドレス、開始トラック、開始セクタが、
展開時に出力ファイルがフルパスで表示される点で getLineCui と異なる。

戻り値:
ファイル操作情報。以下、フォーマットの判例。
nnn: ファイル番号、a: ファイル属性。B:Basic A:Ascii M:Binary ?:etc
ssss: 開始アドレス、eeee:終了アドレス、#,###,###: ファイルサイズ
TTT: 開始トラック番号、SS:開始セクタ番号、
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx: ファイル名、ddddddddddddddd: ディレクトリ名

  ・getManFlag が 1(リスト取得)の場合
      [nnn] xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ddddddddddddddd [a] #,###,### Byte ssss eeee [TTT] [SS]

  ・getManFlag が 2(展開)の場合(正常抽出時)
      ExtractFile [nnn]"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" -> "出力FileName(フルパス)"
  ・getManFlag が 2(展開)の場合(エラー発生時)
      ExtractFile Error... [nnn]"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"


getLineCui

public java.lang.String getLineCui()
現在指定しているカーソルのファイル操作情報を一行で取得する(簡易版).

そのD88に対して行ったファイル操作によって、取得する形式が異なる。
取得形式は d88edj で使用する形式。
リスト取得時に、開始アドレス、終了アドレス、開始トラック、開始セクタを
表示する場合、展開時に、出力ファイル名をフルパスで表示する場合は
getLineGui にて取得する。

戻り値:
ファイル操作情報。以下、フォーマットの判例。
nnn: ファイル番号、a: ファイル属性。B:Basic A:Ascii M:Binary ?:etc
#,###,###: ファイルサイズ
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx: ファイル名、ddddddddddddddd: ディレクトリ名

  ・getManFlag が 1(リスト取得)の場合
      [nnn] xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ddddddddddddddd [a] #,###,### Byte

  ・getManFlag が 2(展開)の場合(正常抽出時)
      ExtractFile [nnn]"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" -> "出力FileName(ファイル名のみ)"
  ・getManFlag が 2(展開)の場合(エラー発生時)
      ExtractFile Error... [nnn]"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"