Class BioStoreFactory


  • public class BioStoreFactory
    extends Object
    BioStoreFactory creates BioStore instances. These are directory and file structures which index flat files according to the OBDA specification.
    Author:
    Matthew Pocock, Keith James, Greg Cox
    • Constructor Detail

    • Method Detail

      • setStoreName

        public void setStoreName​(String name)
        setStoreName sets the name to be given to the new index.
        Parameters:
        name - a String.
      • getStoreName

        public String getStoreName()
        getStoreName returns the name to be given to the new index.
        Returns:
        a String.
      • setStoreLocation

        public void setStoreLocation​(File storeLoc)
        setStoreLocation sets the directory of the new index.
        Parameters:
        storeLoc - a File.
      • getStoreLocation

        public File getStoreLocation()
        getStoreLocation returns the directory of the bew index.
        Returns:
        a File.
      • setSequenceFormat

        public void setSequenceFormat​(LifeScienceIdentifier format)
        setSequenceFormat sets the sequence format name which will be indicated in the index.
        Parameters:
        format - a LifeScienceIdentifier which must be one of those mandated by the OBDA flatfile indexing specification.
      • setPrimaryKey

        public void setPrimaryKey​(String primaryKey)
        setPrimaryKey sets the primary identifier namespace.
        Parameters:
        primaryKey - a String.
      • getPrimaryKey

        public String getPrimaryKey()
        getPrimaryKey returns the primary identifier namespace.
        Returns:
        a String.
      • addKey

        public void addKey​(String keyName,
                           int length)
        addKey adds a new identifier namespace.
        Parameters:
        keyName - a String.
        length - an int indicating the byte length of the key records.
      • removeKey

        public void removeKey​(String keyName)
        removeKey removes the specified key.
        Parameters:
        keyName - a String.
      • createBioStore

        public BioStore createBioStore()
                                throws BioException
        createBioStore creates a BioStore reflecting the current state of the factory and returns a reference to it.
        Returns:
        a BioStore.
        Throws:
        BioException - if an error occurs.
      • makeConfigFile

        public static File makeConfigFile​(File storeLoc)
                                   throws IOException
        makeConfigFile returns a file which represents an OBDA "config.dat" in the specified index directory.
        Parameters:
        storeLoc - a File indicating the index directory.
        Returns:
        a File representing "config.dat".
        Throws:
        IOException - if an error occurs.
      • makePrimaryKeyFile

        public static File makePrimaryKeyFile​(File storeLoc,
                                              String key)
                                       throws IOException
        makePrimaryKeyFile returns a file which represents an OBDA "key_<primary namespace>.key" primary key file on the specified index directory.
        Parameters:
        storeLoc - a File indicating the parent path.
        key - a String primary key namespace.
        Returns:
        a File representing a "key_<primary namespace>.key".
        Throws:
        IOException - if an error occurs.
      • makeSecondaryFile

        public static File makeSecondaryFile​(File storeLoc,
                                             String key)
                                      throws IOException
        makeSecondaryFile returns a file which represents an OBDA "id_<secondary namespace>.index" secondary key file on the specified.
        Parameters:
        storeLoc - a File indicating the parent path.
        key - a String secondary key namespace.
        Returns:
        a File representing an "id_<secondary namespace>.index" file.
        Throws:
        IOException - if an error occurs.
      • calculatePrimRecLen

        public static int calculatePrimRecLen​(int idLen)
        calculatePrimRecLen calculates the byte length of primary namespace records.
        Parameters:
        idLen - an int the number of bytes required to hold the primary namespace ID.
        Returns:
        an int record length in bytes.
      • calculateSecRecLen

        public static int calculateSecRecLen​(int idLen,
                                             String primaryKey,
                                             Map keys)
        calculateSecRecLen calculates the byte length of secondary namespace records.
        Parameters:
        idLen - an int the number of bytes required to hold the secondary namespace ID.
        primaryKey - a String the primary namespace ID.
        keys - a Map of secondary keys to their byte lengths.
        Returns:
        an int record length in bytes.