org.simBio.sim.analyzer.graph.results
Class CachedBuffer

java.lang.Object
  extended by org.simBio.sim.analyzer.graph.results.CachedBuffer

public class CachedBuffer
extends java.lang.Object

キャッシュ機能付きの、時系列データバッファ.
本クラスは、ファイルをバッファにして、配列の時系列データを格納・取出しすることが できます.

Author:
misaki

Constructor Summary
CachedBuffer(java.io.File file)
           
 
Method Summary
 void addDoubles(double[] value)
          double 配列を書き出す.
 void addLongs(long[] value)
          long 配列を書き出す.
 void clear()
          バッファの内容をクリアする.
 void close()
          インスタンスを使用終了し、バッファファイルを開放する.
protected  void flushWriteCache()
          書き込みキャッシュをディスクに書き出す。
 long getCount()
          書き込みバッファの使用容量を取得する.
 double getDouble(long index, int targetSeries)
          インデックスと系列番号を指定して、double値を読み込む
 long getLong(long index, int targetSeries)
          インデックスと系列番号を指定して、long値を読み込む
 void getPrepareDouble(long indexMin, long indexMax)
          先読みキャッシュにdouble値を読み込む.
 void getPrepareLong(long indexMin, long indexMax)
          先読みキャッシュにlong値を読み込む.
protected  org.simBio.sim.analyzer.graph.results.CachedBuffer.ReadCache getReadCache(long numReadPosition, long numReadsRequired)
          指定した位置のデータが読まれたキャッシュを取得する。
 int getSeries()
          系列数を取得する.
 int getWriteBufferCapacity()
          書き込みバッファの容量を取得する.
protected  void loadCache(org.simBio.sim.analyzer.graph.results.CachedBuffer.ReadCache cache, long numReadPosition, long numReadsRequired)
          キャッシュにデータを読み込む
protected  void loadCacheSub(org.simBio.sim.analyzer.graph.results.CachedBuffer.ReadCache cache, long indexMin, long indexMax, int unitBytes)
          キャッシュにデータを読み込む(内部メソッド)
 void setSeries(int i)
          系列数を設定する.
 void setWriteBufferCapacity(int i)
          書き込みバッファの容量を設定する.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CachedBuffer

public CachedBuffer(java.io.File file)
             throws java.io.IOException
Parameters:
file - バッファとして使用するファイル
Throws:
java.io.IOException
Method Detail

close

public void close()
           throws java.io.IOException
インスタンスを使用終了し、バッファファイルを開放する.

Throws:
java.io.IOException

clear

public void clear()
           throws java.io.IOException
バッファの内容をクリアする.

Throws:
java.io.IOException

loadCache

protected void loadCache(org.simBio.sim.analyzer.graph.results.CachedBuffer.ReadCache cache,
                         long numReadPosition,
                         long numReadsRequired)
キャッシュにデータを読み込む

Parameters:
cache - 読み込まれるキャッシュオブジェクト
numReadPosition - 読み込み開始位置
numReadsRequired - 読み込みバイト数

getReadCache

protected org.simBio.sim.analyzer.graph.results.CachedBuffer.ReadCache getReadCache(long numReadPosition,
                                                                                    long numReadsRequired)
指定した位置のデータが読まれたキャッシュを取得する。

Parameters:
numReadPosition - 読み込み開始位置
numReadsRequired - 読み込みバイト数
Returns:
キャッシュオブジェクト

loadCacheSub

protected void loadCacheSub(org.simBio.sim.analyzer.graph.results.CachedBuffer.ReadCache cache,
                            long indexMin,
                            long indexMax,
                            int unitBytes)
キャッシュにデータを読み込む(内部メソッド)

Parameters:
cache - 読み込まれるキャッシュオブジェクト
indexMin - 読み込み開始要素
indexMax - 読み込み最終要素
unitBytes - 要素単位容量(バイト)

flushWriteCache

protected void flushWriteCache()
                        throws java.io.IOException
書き込みキャッシュをディスクに書き出す。

Throws:
java.io.IOException

addDoubles

public void addDoubles(double[] value)
double 配列を書き出す.

Parameters:
value - double 配列

addLongs

public void addLongs(long[] value)
long 配列を書き出す.

Parameters:
value - long 配列

getPrepareDouble

public void getPrepareDouble(long indexMin,
                             long indexMax)
先読みキャッシュにdouble値を読み込む.

Parameters:
indexMin - インデックス最小値
indexMax - インデックス最大値

getDouble

public double getDouble(long index,
                        int targetSeries)
インデックスと系列番号を指定して、double値を読み込む

Parameters:
index - インデックス
targetSeries - 系列番号(0..n-1)
Returns:
取り出された値

getPrepareLong

public void getPrepareLong(long indexMin,
                           long indexMax)
先読みキャッシュにlong値を読み込む.

Parameters:
indexMin - インデックス最小値
indexMax - インデックス最大値

getLong

public long getLong(long index,
                    int targetSeries)
インデックスと系列番号を指定して、long値を読み込む

Parameters:
index - インデックス
targetSeries - 系列番号(0..n-1)
Returns:
取り出された値

setSeries

public void setSeries(int i)
系列数を設定する.

Parameters:
i - 系列数

getSeries

public int getSeries()
系列数を取得する.

Returns:
系列数

setWriteBufferCapacity

public void setWriteBufferCapacity(int i)
書き込みバッファの容量を設定する.

Parameters:
i - 書き込みバッファの容量(実容量は、 i * 系列数 * データサイズ)

getWriteBufferCapacity

public int getWriteBufferCapacity()
書き込みバッファの容量を取得する.

Returns:
書き込みバッファの容量(実容量は、 i * 系列数 * データサイズ)

getCount

public long getCount()
書き込みバッファの使用容量を取得する.

Returns:
書き込みバッファの使用容量(実容量は、 i * 系列数 * データサイズ)


Copyright © 2002-2008 Cell/Biodinamics simulation project. All Rights Reserved.