Changeset 3795


Ignore:
Timestamp:
Sep 27, 2007, 9:52:01 PM (15 years ago)
Author:
Nicklas Nordborg
Message:

References #721: Updated documentation to reflect changes in the code [3793]

Location:
trunk/doc/src
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/doc/src/docbook/developerdoc/api_overview.xml

    r3762 r3795  
    824824          The <classname>PlatformData</classname> holds information about a
    825825          platform. A platform can have one or more <classname>PlatformVariant</classname>:s.
    826           Both the platform and variant are identified by a system ID that
     826          Both the platform and variant are identified by an external ID that
    827827          is fixed and can't be changed. <emphasis>Affymetrix</emphasis>
    828828          and <emphasis>Illumina</emphasis> are examples of platforms.
     
    837837        <para>
    838838          Each platform and it's variant can be connected to one or more
    839           <classname>FileSetMemberTypeData</classname> items. This item
     839          <classname>DataFileTypeData</classname> items. This item
    840840          describes the kind of files that are used to hold data for
    841841          the platform and/or variant. The file types are re-usable between
     
    848848        <para>
    849849          The file type is also identified
    850           by a fixed, non-changable system ID. The <varname>itemType</varname>
     850          by a fixed, non-changable external ID. The <varname>itemType</varname>
    851851          property tells us what type of item the file holds data for (ie.
    852852          array design or raw bioassay). It also links to a <classname>FileType</classname>
     
    857857          get another file.
    858858        </para>
     859        <para>
     860          The <varname>required</varname> flag in <classname>PlatformFileTypeData</classname>
     861          is used to signal that the file is a required file. This will, however, not be
     862          enforeced by the core. It is intended to be used by client applications
     863          for creating a better GUI and/or validation of an experiment.
     864        </para>
    859865
    860866      </sect3>
    861867     
    862868      <sect3 id="data_api.platforms.files">
    863         <title>Files</title>
     869        <title>Data files</title>
    864870       
    865871        <para>
    866872          An item must implement the <interfacename>FileStoreEnabledData</interfacename>
    867873          interface to be able to store data in files instead of in the database.
    868           The interface creates a link to a <classname>FileSetData</classname> object.
    869           In a file set it is only possible to store one file for each
    870           <classname>FileSetMemberTypeData</classname> item.
     874          The interface creates a link to a <classname>FileSetData</classname> object,
     875          which is can hold several <classname>FileSetMemberData</clasname> items.
     876          Each member points to specific <classname>FileData</classname> item.
     877          A file set can only store one file of each type.
    871878        </para>
    872879       
     
    10301037        <para>
    10311038          Given that we have a <interfacename>FileStoreEnabled</interfacename>
    1032           item we use the <methodname>FileSetMemberType.getQuery()</methodname>
     1039          item we use the <methodname>DataFileType.getQuery()</methodname>
    10331040          method to find which file types that can be used for that
    10341041          item. Internally, the <methodname>getQuery()</methodname>
     
    10391046          a platform or variant the query will only return file types
    10401047          that are associated with the given item type, but not with any specific
    1041           platform. In any case, we get a list of <classname>FileSetMemberType</classname>
     1048          platform. In any case, we get a list of <classname>DataFileType</classname>
    10421049          items, each one representing a specific file type that
    10431050          we should ask the user about. Examples:
     
    10691076DbControl dc = ...
    10701077FileStoreEnabled item = ...
    1071 ItemQuery&lt;FileSetMemberType&gt; query =
    1072    FileSetMemberType.getQuery(item);
    1073 List&lt;FileSetMemberType&gt; types = query.list(dc);
     1078ItemQuery&lt;DataFileType&gt; query =
     1079   DataFileType.getQuery(item);
     1080List&lt;DataFileType&gt; types = query.list(dc);
    10741081// We now have a list of file types...
    10751082// ... ask the user to select a file for each one of them
     
    10991106          and metadata extraction is automatically done by the core when a
    11001107          file is added to a file set. The process is partly pluggable
    1101           since each <classname>FileSetMemberType</classname> can name a class
     1108          since each <classname>DataFileType</classname> can name a class
    11021109          that should do the validation and/or metadata extraction.
    11031110          Here is the general outline:
     
    11061113        <programlisting>
    11071114FileStoreEnabled item = ...
    1108 FileSetMemberType type = ...
     1115DataFileType type = ...
    11091116File file = ...
    11101117FileSetMember member = new FileSetMember(file, type);
    11111118
    1112 FileValidator validator = type.getValidator();
    1113 MetadataReader metadata = type.getMetadataReader();
     1119DataFileValidator validator = type.getValidator();
     1120DataFileMetadataReader metadata = type.getMetadataReader();
    11141121validator.setFile(member);
    11151122validator.setItem(item);
     
    11351142        <para>
    11361143          All validators and meta data extractors should extend
    1137           the <classname>AbstractFileHandler</classname> class. The reason
    1138           is that we may want to add more methods to the <interfacename>FileHandler</interfacename>
    1139           interface in the future. The <classname>AbstractFileHandler</classname> will
     1144          the <classname>AbstractDataFileHandler</classname> class. The reason
     1145          is that we may want to add more methods to the <interfacename>DataFileHandler</interfacename>
     1146          interface in the future. The <classname>AbstractDataFileHandler</classname> will
    11401147          be used to provide default implementations for backwards compatibility.
    11411148        </para>
Note: See TracChangeset for help on using the changeset viewer.