JAL-2418 source formatting
[jalview.git] / src / jalview / json / binding / biojson / v1 / AlignmentPojo.java
index 2625b69..94d1bde 100644 (file)
@@ -1,6 +1,25 @@
+/*
+ * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$)
+ * Copyright (C) $$Year-Rel$$ The Jalview Authors
+ * 
+ * This file is part of Jalview.
+ * 
+ * Jalview is free software: you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License 
+ * as published by the Free Software Foundation, either version 3
+ * of the License, or (at your option) any later version.
+ *  
+ * Jalview is distributed in the hope that it will be useful, but 
+ * WITHOUT ANY WARRANTY; without even the implied warranty 
+ * of MERCHANTABILITY or FITNESS FOR A PARTICULAR 
+ * PURPOSE.  See the GNU General Public License for more details.
+ * 
+ * You should have received a copy of the GNU General Public License
+ * along with Jalview.  If not, see <http://www.gnu.org/licenses/>.
+ * The Jalview Authors are detailed in the 'AUTHORS' file.
+ */
 package jalview.json.binding.biojson.v1;
 
-
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
@@ -8,30 +27,58 @@ import java.util.Map;
 
 import com.github.reinert.jjschema.Attributes;
 
-@Attributes(title="BioJSON", description="A specification for the representation and exchange of bioinformatics data")
+@Attributes(
+  title = "BioJSON",
+  description = "A specification for the representation and exchange of bioinformatics data")
 public class AlignmentPojo
 {
-  @Attributes(required = true, description = "Serial version identifier for <b>BioJSON</b> schema")
+  @Attributes(
+    required = true,
+    description = "Serial version identifier for <b>BioJSON</b> schema")
   private String svid = "1.0";
 
-  @Attributes(required = true, minItems = 1, maxItems = 1999999999, description = "A sequence group is a bracket of alignment residues spanning <br>across multiple columns and rows. These can be treated as a <br>sub-alignments.")
+  @Attributes(
+    required = true,
+    minItems = 1,
+    description = "An array of Sequences which makes up the Alignment")
   private List<SequencePojo> seqs = new ArrayList<SequencePojo>();
 
-  @Attributes(required = false, minItems = 0, maxItems = 1999999999, exclusiveMaximum=true, description = "Alignment annotations stores symbols and graphs usually rendered </br>below the alignment.")
+  @Attributes(
+    required = false,
+    minItems = 0,
+    exclusiveMaximum = true,
+    description = "Alignment annotations stores symbols and graphs usually rendered </br>"
+            + "below the alignment and often reflect properties of the alignment </br>as a whole.")
   private List<AlignmentAnnotationPojo> alignAnnotation = new ArrayList<AlignmentAnnotationPojo>();
 
-  @Attributes(required = false, minItems = 0, maxItems = 1999999999, description = "A sequence group is a bracket of alignment residues spanning <br>across multiple columns and rows. These can be treated as a <br>sub-alignments.")
+  @Attributes(
+    required = false,
+    minItems = 0,
+    description = "A sequence group is a rectangular region of an alignment <br>bounded by startRes and endRes positions in the alignment <br>coordinate system for a set of sequences")
   private List<SequenceGrpPojo> seqGroups = new ArrayList<SequenceGrpPojo>();
 
-  @Attributes(required = false, minItems = 0, maxItems = 1999999999, description = "Sequence features are associated with sequences rather than <br>alignments. A sequence feature can span across multiple <br>sequences in an alignment. They indicate features generated <br>by the same analysis process or retrieved from the same database <br>(such as Uniprot features).")
+  @Attributes(
+    required = false,
+    minItems = 0,
+    description = "Sequence features are properties of the individual sequences, <br>they do not change with the alignment, but are shown mapped<br> on to specific residues within the alignment")
   private List<SequenceFeaturesPojo> seqFeatures = new ArrayList<SequenceFeaturesPojo>();
 
-  @Attributes(required = false, enums = { "None", "Custom", "Clustal",
-      "Zappo", "Taylor", "Nucleotide", "Pyrimidine", "Purine", "Turn",
-      "Strand", "Buried", "Hydro" })
+  @Attributes(
+    required = false,
+    enums =
+    { "None", "User Defined", "Clustal", "Zappo", "Taylor", "Nucleotide",
+        "Pyrimidine", "Purine", "Turn", "Helix", "Strand", "Buried",
+        "Hydro", "T-Coffee Scores", "RNA Interaction type", "Blosum62",
+        "RNA Helices", "% Identity" },
+    description = "The <a href=\"#colourScheme\">Colour Scheme</a> applied to the alignment")
   private String colourScheme;
-  
-  @Attributes(required = true, maxItems = 1, description = "This is an array of key=value pairs for storing custom application <br>specific settings")
+
+  @Attributes(
+    required = true,
+    maxItems = 0,
+    description = "AppSettings stores key=value pairs of custom application specific <br>"
+            + "settings (i.e visualisation settings, etc) for different applications<br>"
+            + "that consume or generate BioJSON")
   Map<String, Object> appSettings = new HashMap<String, Object>();
 
   public AlignmentPojo()
@@ -96,7 +143,7 @@ public class AlignmentPojo
 
   public void setGlobalColorScheme(String globalColorScheme)
   {
-//       this.appSettings.put("globalColorScheme", globalColorScheme);
+    this.appSettings.put("globalColorScheme", globalColorScheme);
   }
 
   public String getColourScheme()