Class XMLFileBasedMetaStore

  • All Implemented Interfaces:
    MetaStore

    public class XMLFileBasedMetaStore
    extends Object
    implements MetaStore
    A simple default implementation of MetaStore that uses Weka's XML serialization mechanism to persist entries as XML files in ${WEKA_HOME}/wekaMetaStore
    Version:
    $Revision$
    Author:
    Mark Hall (mhall{[at]}pentaho{[dot]}com)
    • Field Detail

      • DEFAULT_STORE_LOCATION

        public static final String DEFAULT_STORE_LOCATION
        The default location for the XML files
    • Constructor Detail

      • XMLFileBasedMetaStore

        public XMLFileBasedMetaStore()
    • Method Detail

      • listMetaStoreEntries

        public Set<String> listMetaStoreEntries​(String storeName)
                                         throws IOException
        Description copied from interface: MetaStore
        Get a list of all entries in a named store
        Specified by:
        listMetaStoreEntries in interface MetaStore
        Parameters:
        storeName - the name of the store to get entries for
        Returns:
        a list of all entries in the named store
        Throws:
        IOException - if a problem occurs
      • listMetaStoreEntries

        public Set<String> listMetaStoreEntries​(String storeName,
                                                String prefix)
                                         throws IOException
        Description copied from interface: MetaStore
        Get a list of all named entries starting with the given prefix
        Specified by:
        listMetaStoreEntries in interface MetaStore
        Parameters:
        storeName - the name of the store to get entries for
        prefix - the prefix with which to search for entries
        Returns:
        a list of entries
        Throws:
        IOException - if a problem occurs
      • getEntry

        public Object getEntry​(String storeName,
                               String name,
                               Class<?> clazz)
                        throws IOException
        Description copied from interface: MetaStore
        Get a named entry from the store
        Specified by:
        getEntry in interface MetaStore
        Parameters:
        storeName - the name of the store to use
        name - the full name of the entry to retrieve
        clazz - the expected class of the entry when deserialized
        Returns:
        the deserialized entry or null if the name does not exist in the store
        Throws:
        IOException - if the deserialized entry does not match the expected class
      • createStore

        public void createStore​(String storeName)
                         throws IOException
        Description copied from interface: MetaStore
        Create a named store
        Specified by:
        createStore in interface MetaStore
        Parameters:
        storeName - the name of the store to create
        Throws:
        IOException - if a problem occurs
      • storeEntry

        public void storeEntry​(String storeName,
                               String name,
                               Object toStore)
                        throws IOException
        Description copied from interface: MetaStore
        Store a named entry
        Specified by:
        storeEntry in interface MetaStore
        Parameters:
        storeName - the name of the store to use
        name - the full name of the entry to store
        toStore - a beans compliant object to store
        Throws:
        IOException - if a problem occurs