* (non-Javadoc)
* @see org.apache.jcs.auxiliary.AuxiliaryCache#getStatistics()
*/
public synchronized IStats getStatistics()
{
IStats stats = new Stats();
stats.setTypeName( "Indexed Disk Cache" );
ArrayList elems = new ArrayList();
IStatElement se = null;
se = new StatElement();
se.setName( "Is Alive" );
se.setData( "" + alive );
elems.add( se );
se = new StatElement();
se.setName( "Key Map Size" );
if ( this.keyHash != null )
{
se.setData( "" + this.keyHash.size() );
}
else
{
se.setData( "-1" );
}
elems.add( se );
try
{
se = new StatElement();
se.setName( "Data File Length" );
if ( this.dataFile != null )
{
se.setData( "" + this.dataFile.length() );
}
else
{
se.setData( "-1" );
}
elems.add( se );
}
catch ( Exception e )
{
log.error( e );
}
se = new StatElement();
se.setName( "Hit Count" );
se.setData( "" + this.hitCount );
elems.add( se );
se = new StatElement();
se.setName( "Bytes Free" );
se.setData( "" + this.bytesFree );
elems.add( se );
se = new StatElement();
se.setName( "Optimize Operation Count" );
se.setData( "" + this.removeCount );
elems.add( se );
se = new StatElement();
se.setName( "Times Optimized" );
se.setData( "" + this.timesOptimized );
elems.add( se );
se = new StatElement();
se.setName( "Recycle Count" );
se.setData( "" + this.recycleCnt );
elems.add( se );
se = new StatElement();
se.setName( "Recycle Bin Size" );
se.setData( "" + this.recycle.size() );
elems.add( se );
se = new StatElement();
se.setName( "Startup Size" );
se.setData( "" + this.startupSize );
elems.add( se );
// get the stats from the super too
// get as array, convert to list, add list to our outer list
IStats sStats = super.getStatistics();
IStatElement[] sSEs = sStats.getStatElements();
List sL = Arrays.asList( sSEs );
elems.addAll( sL );
// get an array and put them in the Stats object
IStatElement[] ses = (IStatElement[]) elems.toArray( new StatElement[0] );