extensions/net.sf.basedb.reggie/trunk/src/net/sf/basedb/reggie/plugins/release/CohortTypeDef.java

Code
Comments
Other
Rev Date Author Line
4379 06 Mar 17 nicklas 1 package net.sf.basedb.reggie.plugins.release;
4379 06 Mar 17 nicklas 2
4379 06 Mar 17 nicklas 3 import org.json.simple.JSONObject;
4379 06 Mar 17 nicklas 4
4379 06 Mar 17 nicklas 5
4379 06 Mar 17 nicklas 6 /**
4408 20 Mar 17 nicklas 7   A generic type definition that is exported as part of a cohort item in
4379 06 Mar 17 nicklas 8   the JSON data file. See {@link CohortWriter#toJSONObject(CohortItem)}.
4379 06 Mar 17 nicklas 9
4408 20 Mar 17 nicklas 10   The type definition can correspond to a real type as defined
4408 20 Mar 17 nicklas 11   in BASE, but also to "virtual" types that are created based on
4379 06 Mar 17 nicklas 12   other properties such as bioplate name, location, protocol, etc.
4379 06 Mar 17 nicklas 13
4408 20 Mar 17 nicklas 14   All types will become real types when importing on the Relax side.
4379 06 Mar 17 nicklas 15   
4408 20 Mar 17 nicklas 16   Specific type definitions are for example, ANNOTATIONTYPE and DATAFILETYPE.
4408 20 Mar 17 nicklas 17   
4379 06 Mar 17 nicklas 18   @author nicklas
4379 06 Mar 17 nicklas 19   @since 4.10
4379 06 Mar 17 nicklas 20 */
4408 20 Mar 17 nicklas 21 public interface CohortTypeDef 
4379 06 Mar 17 nicklas 22 {
4379 06 Mar 17 nicklas 23
4379 06 Mar 17 nicklas 24   /**
4408 20 Mar 17 nicklas 25     The name of the type. It should be unique among
4408 20 Mar 17 nicklas 26     all types of the same type defined for a specific type of items.
4379 06 Mar 17 nicklas 27   */
4379 06 Mar 17 nicklas 28   public String getName();
4379 06 Mar 17 nicklas 29
4379 06 Mar 17 nicklas 30   /**
4408 20 Mar 17 nicklas 31     Get the type definition as a JSON object that is
4379 06 Mar 17 nicklas 32     suitable for re-creating the annotation type on the Relax side.
4408 20 Mar 17 nicklas 33     The JSON object should contain at least the following
4408 20 Mar 17 nicklas 34     properties:
4408 20 Mar 17 nicklas 35     
4408 20 Mar 17 nicklas 36     type: The Item type of definition
4408 20 Mar 17 nicklas 37     name: The name of the type
4379 06 Mar 17 nicklas 38   */
4379 06 Mar 17 nicklas 39   public JSONObject toJSONObject();
4379 06 Mar 17 nicklas 40
4379 06 Mar 17 nicklas 41   
4379 06 Mar 17 nicklas 42 }