JAL-1620 version bump and release notes
[jalview.git] / src / jalview / binding / Alignment.java
1 /*
2  * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.2b1)
3  * Copyright (C) 2014 The Jalview Authors
4  * 
5  * This file is part of Jalview.
6  * 
7  * Jalview is free software: you can redistribute it and/or
8  * modify it under the terms of the GNU General Public License 
9  * as published by the Free Software Foundation, either version 3
10  * of the License, or (at your option) any later version.
11  *  
12  * Jalview is distributed in the hope that it will be useful, but 
13  * WITHOUT ANY WARRANTY; without even the implied warranty 
14  * of MERCHANTABILITY or FITNESS FOR A PARTICULAR 
15  * PURPOSE.  See the GNU General Public License for more details.
16  * 
17  * You should have received a copy of the GNU General Public License
18  * along with Jalview.  If not, see <http://www.gnu.org/licenses/>.
19  * The Jalview Authors are detailed in the 'AUTHORS' file.
20  */
21 package jalview.binding;
22
23 //---------------------------------/
24 //- Imported classes and packages -/
25 //---------------------------------/
26
27 import org.exolab.castor.xml.Marshaller;
28 import org.exolab.castor.xml.Unmarshaller;
29
30 /**
31  * Class Alignment.
32  * 
33  * @version $Revision$ $Date$
34  */
35 public class Alignment implements java.io.Serializable
36 {
37
38   // --------------------------/
39   // - Class/Member Variables -/
40   // --------------------------/
41
42   /**
43    * Field _annotation.
44    */
45   private jalview.binding.Annotation _annotation;
46
47   /**
48    * Field _sequenceSet.
49    */
50   private jalview.binding.SequenceSet _sequenceSet;
51
52   // ----------------/
53   // - Constructors -/
54   // ----------------/
55
56   public Alignment()
57   {
58     super();
59   }
60
61   // -----------/
62   // - Methods -/
63   // -----------/
64
65   /**
66    * Returns the value of field 'annotation'.
67    * 
68    * @return the value of field 'Annotation'.
69    */
70   public jalview.binding.Annotation getAnnotation()
71   {
72     return this._annotation;
73   }
74
75   /**
76    * Returns the value of field 'sequenceSet'.
77    * 
78    * @return the value of field 'SequenceSet'.
79    */
80   public jalview.binding.SequenceSet getSequenceSet()
81   {
82     return this._sequenceSet;
83   }
84
85   /**
86    * Method isValid.
87    * 
88    * @return true if this object is valid according to the schema
89    */
90   public boolean isValid()
91   {
92     try
93     {
94       validate();
95     } catch (org.exolab.castor.xml.ValidationException vex)
96     {
97       return false;
98     }
99     return true;
100   }
101
102   /**
103    * 
104    * 
105    * @param out
106    * @throws org.exolab.castor.xml.MarshalException
107    *           if object is null or if any SAXException is thrown during
108    *           marshaling
109    * @throws org.exolab.castor.xml.ValidationException
110    *           if this object is an invalid instance according to the schema
111    */
112   public void marshal(final java.io.Writer out)
113           throws org.exolab.castor.xml.MarshalException,
114           org.exolab.castor.xml.ValidationException
115   {
116     Marshaller.marshal(this, out);
117   }
118
119   /**
120    * 
121    * 
122    * @param handler
123    * @throws java.io.IOException
124    *           if an IOException occurs during marshaling
125    * @throws org.exolab.castor.xml.ValidationException
126    *           if this object is an invalid instance according to the schema
127    * @throws org.exolab.castor.xml.MarshalException
128    *           if object is null or if any SAXException is thrown during
129    *           marshaling
130    */
131   public void marshal(final org.xml.sax.ContentHandler handler)
132           throws java.io.IOException,
133           org.exolab.castor.xml.MarshalException,
134           org.exolab.castor.xml.ValidationException
135   {
136     Marshaller.marshal(this, handler);
137   }
138
139   /**
140    * Sets the value of field 'annotation'.
141    * 
142    * @param annotation
143    *          the value of field 'annotation'.
144    */
145   public void setAnnotation(final jalview.binding.Annotation annotation)
146   {
147     this._annotation = annotation;
148   }
149
150   /**
151    * Sets the value of field 'sequenceSet'.
152    * 
153    * @param sequenceSet
154    *          the value of field 'sequenceSet'.
155    */
156   public void setSequenceSet(final jalview.binding.SequenceSet sequenceSet)
157   {
158     this._sequenceSet = sequenceSet;
159   }
160
161   /**
162    * Method unmarshal.
163    * 
164    * @param reader
165    * @throws org.exolab.castor.xml.MarshalException
166    *           if object is null or if any SAXException is thrown during
167    *           marshaling
168    * @throws org.exolab.castor.xml.ValidationException
169    *           if this object is an invalid instance according to the schema
170    * @return the unmarshaled jalview.binding.Alignment
171    */
172   public static jalview.binding.Alignment unmarshal(
173           final java.io.Reader reader)
174           throws org.exolab.castor.xml.MarshalException,
175           org.exolab.castor.xml.ValidationException
176   {
177     return (jalview.binding.Alignment) Unmarshaller.unmarshal(
178             jalview.binding.Alignment.class, reader);
179   }
180
181   /**
182    * 
183    * 
184    * @throws org.exolab.castor.xml.ValidationException
185    *           if this object is an invalid instance according to the schema
186    */
187   public void validate() throws org.exolab.castor.xml.ValidationException
188   {
189     org.exolab.castor.xml.Validator validator = new org.exolab.castor.xml.Validator();
190     validator.validate(this);
191   }
192
193 }