affyfusion-109/src/affymetrix/calvin/data/DataGroup.java

Code
Comments
Other
Rev Date Author Line
11 13 Sep 07 nicklas 1 /////////////////////////////////////////////////////////////////
11 13 Sep 07 nicklas 2 //
11 13 Sep 07 nicklas 3 // Copyright (C) 2005 Affymetrix, Inc.
11 13 Sep 07 nicklas 4 //
11 13 Sep 07 nicklas 5 // This library is free software; you can redistribute it and/or modify
11 13 Sep 07 nicklas 6 // it under the terms of the GNU Lesser General Public License as published
11 13 Sep 07 nicklas 7 // by the Free Software Foundation; either version 2.1 of the License,
11 13 Sep 07 nicklas 8 // or (at your option) any later version.
11 13 Sep 07 nicklas 9 //
11 13 Sep 07 nicklas 10 // This library is distributed in the hope that it will be useful, but
11 13 Sep 07 nicklas 11 // WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
11 13 Sep 07 nicklas 12 // or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
11 13 Sep 07 nicklas 13 // for more details.
11 13 Sep 07 nicklas 14 //
11 13 Sep 07 nicklas 15 // You should have received a copy of the GNU Lesser General Public License
11 13 Sep 07 nicklas 16 // along with this library; if not, write to the Free Software Foundation, Inc.,
11 13 Sep 07 nicklas 17 // 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 
11 13 Sep 07 nicklas 18 //
11 13 Sep 07 nicklas 19 /////////////////////////////////////////////////////////////////
11 13 Sep 07 nicklas 20
11 13 Sep 07 nicklas 21 package affymetrix.calvin.data;
11 13 Sep 07 nicklas 22
11 13 Sep 07 nicklas 23 import java.io.*;
11 13 Sep 07 nicklas 24 import java.nio.channels.*;
11 13 Sep 07 nicklas 25 import java.nio.channels.FileChannel.*;
11 13 Sep 07 nicklas 26 import java.nio.*;
11 13 Sep 07 nicklas 27
11 13 Sep 07 nicklas 28 /** This class provides methods to get a DataSet in a DataGroup. */
11 13 Sep 07 nicklas 29 public class DataGroup {
11 13 Sep 07 nicklas 30
11 13 Sep 07 nicklas 31     /** Constructor
11 13 Sep 07 nicklas 32      *  @param filename_ The name of the generic file to access.
11 13 Sep 07 nicklas 33      *  @param dch The DataGroupHeader of the DataGroup to access.
11 13 Sep 07 nicklas 34      *  @param handle_ A handle to the file mapping object
11 13 Sep 07 nicklas 35      */
11 13 Sep 07 nicklas 36     public DataGroup(String filename_, DataGroupHeader dch, FileInputStream handle_) {
11 13 Sep 07 nicklas 37         filename=filename_;
11 13 Sep 07 nicklas 38         dataGroupHeader=dch;
11 13 Sep 07 nicklas 39         handle=handle_;
11 13 Sep 07 nicklas 40     }
11 13 Sep 07 nicklas 41
11 13 Sep 07 nicklas 42     /** Method to get a reference to the DataGroupHeader
11 13 Sep 07 nicklas 43      *  @return A reference to the DataGroupHeader.
11 13 Sep 07 nicklas 44      */
11 13 Sep 07 nicklas 45     public DataGroupHeader getHeader() { return dataGroupHeader; }
11 13 Sep 07 nicklas 46
11 13 Sep 07 nicklas 47     /** Returns a pointer to the DataSet object by DataSet index.
11 13 Sep 07 nicklas 48      *  Each call will return a new DataSet object.
11 13 Sep 07 nicklas 49      *  The caller should call Delete when finished with the DataSet.
11 13 Sep 07 nicklas 50      *
11 13 Sep 07 nicklas 51      *  @param dataSetIdx The index of the DataSet to return.
11 13 Sep 07 nicklas 52      *  @return DataSet
11 13 Sep 07 nicklas 53      *  @exception affymetrix_calvin_exceptions::DataSetNotFoundException DataSet not found.
11 13 Sep 07 nicklas 54      */
11 13 Sep 07 nicklas 55     public DataSet getDataSet(int dataSetIdx) throws DataSetNotFoundException {
11 13 Sep 07 nicklas 56         DataSetHeader dph = GenericData.findDataSetHeader(dataGroupHeader, dataSetIdx);
11 13 Sep 07 nicklas 57   if (dph != null)
11 13 Sep 07 nicklas 58   {
11 13 Sep 07 nicklas 59             return new DataSet(filename, dph, handle);
11 13 Sep 07 nicklas 60   }
11 13 Sep 07 nicklas 61   else
11 13 Sep 07 nicklas 62   {
11 13 Sep 07 nicklas 63             throw new DataSetNotFoundException();
11 13 Sep 07 nicklas 64   }
11 13 Sep 07 nicklas 65     }
11 13 Sep 07 nicklas 66
11 13 Sep 07 nicklas 67     /** Returns a pointer to the DataSet object by DataSet name.
11 13 Sep 07 nicklas 68      *  Each call will return a new DataSet object.
11 13 Sep 07 nicklas 69      *  The caller should call Delete when finished with the DataSet.
11 13 Sep 07 nicklas 70      *
11 13 Sep 07 nicklas 71      *  @param dataSetName The name of the DataSet to return.
11 13 Sep 07 nicklas 72      *  @return DataSet
11 13 Sep 07 nicklas 73      *  @exception affymetrix_calvin_exceptions::DataSetNotFoundException DataSet not found.
11 13 Sep 07 nicklas 74      */
11 13 Sep 07 nicklas 75     public DataSet getDataSet(String dataSetName) throws DataSetNotFoundException {
11 13 Sep 07 nicklas 76         DataSetHeader dph = GenericData.findDataSetHeader(dataGroupHeader, dataSetName);
11 13 Sep 07 nicklas 77         if (dph != null)
11 13 Sep 07 nicklas 78         {
11 13 Sep 07 nicklas 79             return new DataSet(filename, dph, handle);
11 13 Sep 07 nicklas 80         }
11 13 Sep 07 nicklas 81         else
11 13 Sep 07 nicklas 82         {
11 13 Sep 07 nicklas 83             throw new DataSetNotFoundException();
11 13 Sep 07 nicklas 84         }
11 13 Sep 07 nicklas 85     }
11 13 Sep 07 nicklas 86
11 13 Sep 07 nicklas 87     /** Name of the generic file to access */
11 13 Sep 07 nicklas 88     protected String filename;
11 13 Sep 07 nicklas 89     /** DataGroupHeader of the DataGroup from which to get DataSets*/
11 13 Sep 07 nicklas 90     protected DataGroupHeader dataGroupHeader;
11 13 Sep 07 nicklas 91     /** File input handle */
11 13 Sep 07 nicklas 92     protected FileInputStream handle;
11 13 Sep 07 nicklas 93
11 13 Sep 07 nicklas 94 }