Class BioStoreFactory

java.lang.Object
org.biojava.bio.program.indexdb.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
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final String
    KEYS is the key used to identify the secondary namespaces in the OBDA config.dat files.
    static final AnnotationType
    AnnotationType that all meta-data files should fit.
    static final String
    PRIMARY_KEY_NAME is the key used to identify the primary namespace in the OBDA config.dat files.
    static final String
    SEQUENCE_FORMAT is the key used to identify the format of the indexed sequence files represented by the store in the OBDA config.dat files.
    static final String
    STORE_NAME is the key used to identify the arbitrary name of the store in the OBDA config.dat files.
  • Constructor Summary

    Constructors
    Constructor
    Description
    Creates a new BioStoreFactory.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    addKey(String keyName, int length)
    addKey adds a new identifier namespace.
    static int
    calculatePrimRecLen calculates the byte length of primary namespace records.
    static int
    calculateSecRecLen(int idLen, String primaryKey, Map keys)
    calculateSecRecLen calculates the byte length of secondary namespace records.
    createBioStore creates a BioStore reflecting the current state of the factory and returns a reference to it.
     
    getPrimaryKey returns the primary identifier namespace.
    getSequenceFormat returns the current sequence format name.
    getStoreLocation returns the directory of the bew index.
    getStoreName returns the name to be given to the new index.
    static File
    makeConfigFile(File storeLoc)
    makeConfigFile returns a file which represents an OBDA "config.dat" in the specified index directory.
    static File
    makePrimaryKeyFile(File storeLoc, String key)
    makePrimaryKeyFile returns a file which represents an OBDA "key_<primary namespace>.key" primary key file on the specified index directory.
    static File
    makeSecondaryFile(File storeLoc, String key)
    makeSecondaryFile returns a file which represents an OBDA "id_<secondary namespace>.index" secondary key file on the specified.
    void
    removeKey(String keyName)
    removeKey removes the specified key.
    void
    setPrimaryKey(String primaryKey)
    setPrimaryKey sets the primary identifier namespace.
    void
    setSequenceFormat sets the sequence format name which will be indicated in the index.
    void
    setStoreLocation sets the directory of the new index.
    void
    setStoreName sets the name to be given to the new index.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

  • Constructor Details

  • Method Details

    • 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

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

      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.
    • getSequenceFormat

      getSequenceFormat returns the current sequence format name.
      Returns:
      a LifeScienceIdentifier.
    • setPrimaryKey

      public void setPrimaryKey(String primaryKey)
      setPrimaryKey sets the primary identifier namespace.
      Parameters:
      primaryKey - a 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.
    • getKeys

      public Set getKeys()
    • removeKey

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

      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.