001    package com.sptci.rwt;
002    
003    import java.sql.Connection;
004    import java.sql.PreparedStatement;
005    import java.sql.ResultSet;
006    import java.sql.SQLException;
007    
008    import java.util.ArrayList;
009    import java.util.Collection;
010    import java.util.logging.Level;
011    
012    import com.sptci.util.CloseJDBCResources;
013    
014    /**
015     * An abstract analyser for analysing sequence type objects in the database.
016     * Sub-classes implement database engine specific logic to retrieve the
017     * information.
018     *
019     * <p>&copy; Copyright 2007 <a href='http://sptci.com/' target='_new'>Sans Pareil Technologies, Inc.</a></p>
020     * @author Rakesh Vidyadharan 2007-11-04
021     * @version $Id: AbstractSequenceAnalyser.java 4123 2008-05-25 21:49:01Z rakesh $
022     * @since Version 1.2
023     */
024    abstract class AbstractSequenceAnalyser extends Analyser
025    {
026      /**
027       * Create a new instance of the class using the specified connection
028       * manager.
029       *
030       * @param manager The manager for obtaining database connections.
031       */
032      AbstractSequenceAnalyser( final ConnectionManager manager )
033      {
034        super( manager );
035      }
036    
037      /**
038       * Returns a collection of {@link SequenceMetaData} objects that contain
039       * all information pertaining to the sequences in the specified schema.
040       *
041       * @see Analyser#analyse
042       * @param parameters Must contain the <code>catalog/schema</code> from
043       *   which sequence metadata are to be retrieved.
044       */
045      @Override
046      public abstract Collection<SequenceMetaData> analyse(
047          final MetaData... parameters ) throws SQLException;
048    }