source: trunk/loci/formats/auto/MetadataStore.vm @ 4050

Revision 4050, 3.2 KB checked in by curtis, 12 years ago (diff)

Update license in OME metadata source code templates.

Line 
1//
2// MetadataStore.java
3//
4
5/*
6OME Bio-Formats package for reading and converting biological file formats.
7Copyright (C) 2005-@year@ UW-Madison LOCI and Glencoe Software, Inc.
8
9This program is free software; you can redistribute it and/or modify
10it under the terms of the GNU General Public License as published by
11the Free Software Foundation; either version 3 of the License, or
12(at your option) any later version.
13
14This program is distributed in the hope that it will be useful,
15but WITHOUT ANY WARRANTY; without even the implied warranty of
16MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17GNU General Public License for more details.
18
19You should have received a copy of the GNU General Public License
20along with this program; if not, write to the Free Software
21Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
22*/
23
24/*-----------------------------------------------------------------------------
25 *
26 * THIS IS AUTOMATICALLY GENERATED CODE.  DO NOT MODIFY.
27 * Created by $user via MetadataAutogen on $timestamp
28 *
29 *-----------------------------------------------------------------------------
30 */
31
32package loci.formats.meta;
33
34/**
35 * A proxy whose responsibility it is to marshal biological image data into a
36 * particular storage medium.
37 *
38 * The <code>MetadataStore</code> interface encompasses the basic metadata that
39 * any specific storage medium (file, relational database, etc.) should be
40 * expected to store into its backing data model.
41 *
42 * <p><b>Important note:</b> It is strongly recommended that applications
43 * (e.g., file format readers) using <code>MetadataStore</code> populate
44 * information in a linear order. Specifically, iterating over entities
45 * from "leftmost" index to "rightmost" index is required for certain
46 * <code>MetadataStore</code> implementations such as OMERO's
47 * <code>OMEROMetadataStore</code>. For example, when populating Image, Pixels
48 * and Plane information, an outer loop should iterate across
49 * <code>imageIndex</code>, an inner loop should iterate across
50 * <code>pixelsIndex</code>, and an innermost loop should handle
51 * <code>planeIndex</code>. For an illustration of the ideal traversal order,
52 * see {@link loci.formats.meta.MetadataConverter#convertMetadata}.</p>
53 *
54 * <dl><dt><b>Source code:</b></dt>
55 * <dd><a href="https://skyking.microscopy.wisc.edu/trac/java/browser/trunk/loci/formats/meta/MetadataStore.java">Trac</a>,
56 * <a href="https://skyking.microscopy.wisc.edu/svn/java/trunk/loci/formats/meta/MetadataStore.java">SVN</a></dd></dl>
57 *
58 * @author Chris Allan callan at blackcat.ca
59 * @author Curtis Rueden ctrueden at wisc.edu
60 */
61public interface MetadataStore {
62
63  void createRoot();
64
65  Object getRoot();
66
67  void setRoot(Object root);
68#foreach ($entity in $q.entities())
69#set ($dummy = $q.setEntity($entity))
70
71  // - $entity property storage -
72#foreach ($prop in $q.props())
73#set ($dummy = $q.setProperty($prop))
74
75  /**
76   * For a particular $entity, sets $q.doc()
77   * @param $q.var($prop) $q.description()
78#foreach ($index in $q.indices())
79   * @param $q.var("${index}Index") index of the $index
80#end##foreach $index
81   */
82  void set$entity$prop($q.type() $q.var($prop), $q.argsList());
83#end##foreach $prop
84#end##foreach $entity
85
86}
Note: See TracBrowser for help on using the repository browser.