D88File
クラス DiskResultSet

java.lang.Object
  拡張D88File.DiskResultSet

public class DiskResultSet
extends java.lang.Object

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

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

関連項目:
D88File

コンストラクタの概要
DiskResultSet(java.util.Vector vecDiskResult)
          コンストラクタ(D88Fileからのみ使用する。).
 
メソッドの概要
 boolean absolute(int intRow)
          カーソルを指定した行に移動する.
 boolean first()
          カーソルを先頭行(1行目)に移動する.
 int getDiskFormat()
          現在指定しているカーソル(内部ファイル)のディスクフォーマットを取得する.
 java.lang.String getDiskName()
          現在指定しているカーソルのディスク名を取得する.
 int getDiskNumber()
          現在指定しているカーソルのディスク番号を取得する.
 int getDiskSize()
          現在指定しているカーソルのディスクサイズを取得する.
 int getDiskType()
          現在指定しているカーソルのディスク種類を取得する.
 java.lang.String getLine()
          現在指定しているカーソルのD88操作情報を一行で取得する.
 int getManFlag()
          現在指定しているカーソルの操作区分を取得する.
static int getMaxRows()
          DISKを操作した際の結果セットの行数を取得する.
 java.lang.String getReturn()
          現在指定しているカーソルの操作実施の結果を取得する.
 int getRow()
          現在指定しているカーソルの行番号を取得する.
 int getWpFlag()
          現在指定しているカーソルのライトプロテクトフラグを取得する.
 boolean last()
          カーソルを最終行に移動する.
 boolean next()
          カーソルを現在の位置から1行下に移動する.
 boolean previous()
          カーソルを現在の位置から1行上に移動する.
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

DiskResultSet

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

メソッドの詳細

getMaxRows

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

行数が 0 以下となる場合は操作が失敗または無効を意味する。
listDiskの場合は内部ディスクの数となり、
他の操作系メソッドの場合は有効な操作の場合は 1 となる。

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

getRow

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

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

next

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

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

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

previous

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

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

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

first

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

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

last

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

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

absolute

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

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

getManFlag

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

戻り値:
実施したD88ファイルへのDISK操作の種類。
  1: リスト取得
  2: 展開(Extract)
  4: ライトプロテクト解除(OFF)
  5: ライトプロテクト設定(ON)
  6: ディスク名リネーム

getDiskNumber

public int getDiskNumber()
現在指定しているカーソルのディスク番号を取得する.

戻り値:
内部ディスクにおける先頭からのディスク番号。
1 〜 getMaxRows の範囲が返る。

getDiskName

public java.lang.String getDiskName()
現在指定しているカーソルのディスク名を取得する.

戻り値:
ディスク名(トグル名)。 D88の仕様により、固定16バイトを返す。

getWpFlag

public int getWpFlag()
現在指定しているカーソルのライトプロテクトフラグを取得する.

戻り値:
ライトプロテクトフラグ。
  0: ライトプロテクトOFF
  1: ライトプロテクトON (不適合)
  16: ライトプロテクトON

getDiskType

public int getDiskType()
現在指定しているカーソルのディスク種類を取得する.

戻り値:
ディスク種類。
  0: 2D
  16: 2DD
  32: 2HD

getDiskFormat

public int getDiskFormat()
現在指定しているカーソル(内部ファイル)のディスクフォーマットを取得する.

戻り値:
ディスクフォーマットフラグ。
  0: その他
  1: N88 DISK BASIC
  2: PC-8001 Micro Disk Basic
  3: Magical-DOS
  4: Frost-DOS

getDiskSize

public int getDiskSize()
現在指定しているカーソルのディスクサイズを取得する.

戻り値:
ディスクサイズ(バイト単位)。

getReturn

public java.lang.String getReturn()
現在指定しているカーソルの操作実施の結果を取得する.

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

戻り値:
操作実施の結果
  ""(空文字):エラー
  それ以外の値なら正常
    ・getManFlag が 1(リスト取得)の時はディスク番号
    ・getManFlag が 2(展開)の時は 展開した出力ファイル名
    ・getManFlag が 4,5(ライトプロテクト操作)の時は、変更前のライトプロテクトフラグ
    ・getManFlag が 6(リネーム)の時は 旧ディスク名

getLine

public java.lang.String getLine()
現在指定しているカーソルのD88操作情報を一行で取得する.

そのD88に対して行った操作によって、取得する形式が異なる。 取得形式は d88edj で使用する形式。

戻り値:
D88操作情報。以下、フォーマットの判例。
nn: ディスク番号、w: wならライトプロテクトなし、- ならあり。
s: *の時はライトプロテクト不適合、TTT: 2D・2DD・2HD、##,###,###: ディスクサイズ
FFFFFFFFFFFFFFF: ディスクフォーマット: N88,MDB,Magical-DOS,Frost-DOS、空白:その他
xxxxxxxxxxxxxxxx: ディスク名(旧)、rrrrrrrrrrrrrrrr: リネーム後ディスク名

  ・getManFlag が 1(リスト取得)の場合
      [nn] xxxxxxxxxxxxxxxx [w]s [TTT] FFFFFFFFFFFFFFF ##,###,### Byte
  ・getManFlag が 2(展開)の場合
      ExtractDisk s[nn]"xxxxxxxxxxxxxxxx" -> "出力FileName"
  ・getManFlag が 4(ライトプロテクト解除:OFF)の場合
      WriteProtect Off [nn]"xxxxxxxxxxxxxxxx"
  ・getManFlag が 5(ライトプロテクト設定:ON)の場合
      WriteProtect On [nn]"xxxxxxxxxxxxxxxx"
  ・getManFlag が 6(リネーム)の場合
      Rename DiskName [nn]"xxxxxxxxxxxxxxxx" -> "rrrrrrrrrrrrrrrr"