binaryFileStorage
Class BinarySettingsStorage

java.lang.Object
  extended by binaryFileStorage.BinarySettingsStorage
All Implemented Interfaces:
PamSettingsSource

public class BinarySettingsStorage
extends java.lang.Object
implements PamSettingsSource

Manage storage and retrieval of PAMGUARD serialised settings storage in binary files.

Author:
Doug

Field Summary
private  BinaryStore binaryStore
           
private  java.util.Vector<PamSettingsGroup> pamSettingsGroups
           
private static java.lang.String SETTINGSFILENAME
           
private static java.lang.String SETTINGSSTORE
           
 
Constructor Summary
BinarySettingsStorage(BinaryStore binaryStore)
           
 
Method Summary
private  void addFiles(java.util.ArrayList<java.io.File> files, java.io.File folder, PamFileFilter filter)
           
 int getNumSettings()
          Get the number of different settings within the settings source.
 PamSettingsGroup getSettings(int settingsIndex)
          Get a specific PamSettingsGroup
 java.lang.String getSettingsSourceName()
          Get a name for the settings source
private  java.util.ArrayList<java.io.File> listSettingsFiles()
           
private  void loadFileSettings(java.io.File file)
           
 void makeSettingsMap()
           
 boolean saveStartSettings(long timeStamp)
          Save the settings in some vaguely sensible format.
private  boolean writeData(java.io.DataOutputStream dos, int objectId, byte[] data)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

binaryStore

private BinaryStore binaryStore

SETTINGSFILENAME

private static final java.lang.String SETTINGSFILENAME
See Also:
Constant Field Values

SETTINGSSTORE

private static final java.lang.String SETTINGSSTORE
See Also:
Constant Field Values

pamSettingsGroups

private java.util.Vector<PamSettingsGroup> pamSettingsGroups
Constructor Detail

BinarySettingsStorage

public BinarySettingsStorage(BinaryStore binaryStore)
Method Detail

saveStartSettings

public boolean saveStartSettings(long timeStamp)
Save the settings in some vaguely sensible format. This will be different to the main settings stores since a) they are crap b) I want to include a list of modules in a format which can be read by anything, so that other software can at least work out which modules were present without having to decode the serialised java objects.

Specified by:
saveStartSettings in interface PamSettingsSource
Parameters:
timeStamp - current time in milliseconds
Returns:
true if saved correctly

writeData

private boolean writeData(java.io.DataOutputStream dos,
                          int objectId,
                          byte[] data)

getNumSettings

public int getNumSettings()
Description copied from interface: PamSettingsSource
Get the number of different settings within the settings source.

Specified by:
getNumSettings in interface PamSettingsSource
Returns:
the number of PamSettingsGroups.

getSettings

public PamSettingsGroup getSettings(int settingsIndex)
Description copied from interface: PamSettingsSource
Get a specific PamSettingsGroup

Specified by:
getSettings in interface PamSettingsSource
Parameters:
settingsIndex - index of group
Returns:
a settings group

makeSettingsMap

public void makeSettingsMap()

listSettingsFiles

private java.util.ArrayList<java.io.File> listSettingsFiles()

addFiles

private void addFiles(java.util.ArrayList<java.io.File> files,
                      java.io.File folder,
                      PamFileFilter filter)

loadFileSettings

private void loadFileSettings(java.io.File file)

getSettingsSourceName

public java.lang.String getSettingsSourceName()
Description copied from interface: PamSettingsSource
Get a name for the settings source

Specified by:
getSettingsSourceName in interface PamSettingsSource
Returns:
a name