+public class StructureState implements java.io.Serializable
+{
+
+ // --------------------------/
+ // - Class/Member Variables -/
+ // --------------------------/
+
+ /**
+ * internal content storage
+ */
+ private java.lang.String _content = "";
+
+ /**
+ * Field _visible.
+ */
+ private boolean _visible;
+
+ /**
+ * keeps track of state for field: _visible
+ */
+ private boolean _has_visible;
+
+ /**
+ * additional identifier which properly disambiguates the structure view from
+ * any other view with the same attributes. This is not an ID, because it is
+ * possible to have many references to the same physical structure view from
+ * different sequences in an alignment. A structureState element citing the
+ * same viewId will appear for each instance.
+ *
+ */
+ private java.lang.String _viewId;
+
+ /**
+ * Flag set if the alignment panel containing this JSeq should be included in
+ * those used to perform a structure superposition (since Jalview 2.7).
+ *
+ */
+ private boolean _alignwithAlignPanel = true;
+
+ /**
+ * keeps track of state for field: _alignwithAlignPanel
+ */
+ private boolean _has_alignwithAlignPanel;
+
+ /**
+ * Flag set if the alignment panel containing this JSeq should be included in
+ * those used to colour its associated sequences in this structureState(since
+ * Jalview 2.7).
+ *
+ */
+ private boolean _colourwithAlignPanel = false;
+
+ /**
+ * keeps track of state for field: _colourwithAlignPanel
+ */
+ private boolean _has_colourwithAlignPanel;
+
+ /**
+ * Flag set if the structure display is coloured by the Jmol state, rather
+ * than by one or more linked alignment views.
+ *
+ */
+ private boolean _colourByJmol = true;
+
+ /**
+ * keeps track of state for field: _colourByJmol
+ */
+ private boolean _has_colourByJmol;
+
+ /**
+ * An identifier for the viewer type, currently either JMOL or CHIMERA
+ *
+ */
+ private java.lang.String _type;
+
+ /**
+ * Field _width.
+ */
+ private int _width;
+
+ /**
+ * keeps track of state for field: _width
+ */
+ private boolean _has_width;
+
+ /**
+ * Field _height.
+ */
+ private int _height;
+
+ /**
+ * keeps track of state for field: _height
+ */
+ private boolean _has_height;
+
+ /**
+ * Field _xpos.
+ */
+ private int _xpos;
+
+ /**
+ * keeps track of state for field: _xpos
+ */
+ private boolean _has_xpos;
+
+ /**
+ * Field _ypos.
+ */
+ private int _ypos;
+
+ /**
+ * keeps track of state for field: _ypos
+ */
+ private boolean _has_ypos;
+
+ // ----------------/
+ // - Constructors -/
+ // ----------------/
+
+ public StructureState()
+ {
+ super();
+ setContent("");
+ }
+
+ // -----------/
+ // - Methods -/
+ // -----------/
+
+ /**
+ */
+ public void deleteAlignwithAlignPanel()
+ {
+ this._has_alignwithAlignPanel = false;
+ }
+
+ /**
+ */
+ public void deleteColourByJmol()
+ {
+ this._has_colourByJmol = false;
+ }
+
+ /**
+ */
+ public void deleteColourwithAlignPanel()
+ {
+ this._has_colourwithAlignPanel = false;
+ }
+
+ /**
+ */
+ public void deleteHeight()
+ {
+ this._has_height = false;
+ }
+
+ /**
+ */
+ public void deleteVisible()
+ {
+ this._has_visible = false;
+ }
+
+ /**
+ */
+ public void deleteWidth()
+ {
+ this._has_width = false;
+ }
+
+ /**
+ */
+ public void deleteXpos()
+ {
+ this._has_xpos = false;
+ }
+
+ /**
+ */
+ public void deleteYpos()
+ {
+ this._has_ypos = false;
+ }
+
+ /**
+ * Returns the value of field 'alignwithAlignPanel'. The field
+ * 'alignwithAlignPanel' has the following description: Flag set if the
+ * alignment panel containing this JSeq should be included in those used to
+ * perform a structure superposition (since Jalview 2.7).
+ *
+ *
+ * @return the value of field 'AlignwithAlignPanel'.
+ */
+ public boolean getAlignwithAlignPanel()
+ {
+ return this._alignwithAlignPanel;
+ }
+
+ /**
+ * Returns the value of field 'colourByJmol'. The field 'colourByJmol' has the
+ * following description: Flag set if the structure display is coloured by the
+ * Jmol state, rather than by one or more linked alignment views.
+ *
+ *
+ * @return the value of field 'ColourByJmol'.
+ */
+ public boolean getColourByJmol()
+ {
+ return this._colourByJmol;
+ }
+
+ /**
+ * Returns the value of field 'colourwithAlignPanel'. The field
+ * 'colourwithAlignPanel' has the following description: Flag set if the
+ * alignment panel containing this JSeq should be included in those used to
+ * colour its associated sequences in this structureState(since Jalview 2.7).
+ *
+ *
+ * @return the value of field 'ColourwithAlignPanel'.
+ */
+ public boolean getColourwithAlignPanel()
+ {
+ return this._colourwithAlignPanel;
+ }
+
+ /**
+ * Returns the value of field 'content'. The field 'content' has the following
+ * description: internal content storage
+ *
+ * @return the value of field 'Content'.
+ */
+ public java.lang.String getContent()
+ {
+ return this._content;
+ }
+
+ /**
+ * Returns the value of field 'height'.
+ *
+ * @return the value of field 'Height'.
+ */
+ public int getHeight()
+ {
+ return this._height;
+ }
+
+ /**
+ * Returns the value of field 'type'. The field 'type' has the following
+ * description: An identifier for the viewer type, currently either JMOL or
+ * CHIMERA
+ *
+ *
+ * @return the value of field 'Type'.
+ */
+ public java.lang.String getType()
+ {
+ return this._type;
+ }
+
+ /**
+ * Returns the value of field 'viewId'. The field 'viewId' has the following
+ * description: additional identifier which properly disambiguates the
+ * structure view from any other view with the same attributes. This is not an
+ * ID, because it is possible to have many references to the same physical
+ * structure view from different sequences in an alignment. A structureState
+ * element citing the same viewId will appear for each instance.
+ *
+ *
+ * @return the value of field 'ViewId'.
+ */
+ public java.lang.String getViewId()
+ {
+ return this._viewId;
+ }
+
+ /**
+ * Returns the value of field 'visible'.
+ *
+ * @return the value of field 'Visible'.
+ */
+ public boolean getVisible()
+ {
+ return this._visible;
+ }
+
+ /**
+ * Returns the value of field 'width'.
+ *
+ * @return the value of field 'Width'.
+ */
+ public int getWidth()
+ {
+ return this._width;
+ }
+
+ /**
+ * Returns the value of field 'xpos'.
+ *
+ * @return the value of field 'Xpos'.
+ */
+ public int getXpos()
+ {
+ return this._xpos;
+ }
+
+ /**
+ * Returns the value of field 'ypos'.
+ *
+ * @return the value of field 'Ypos'.
+ */
+ public int getYpos()
+ {
+ return this._ypos;
+ }
+
+ /**
+ * Method hasAlignwithAlignPanel.
+ *
+ * @return true if at least one AlignwithAlignPanel has been added
+ */
+ public boolean hasAlignwithAlignPanel()
+ {
+ return this._has_alignwithAlignPanel;
+ }
+
+ /**
+ * Method hasColourByJmol.
+ *
+ * @return true if at least one ColourByJmol has been added
+ */
+ public boolean hasColourByJmol()
+ {
+ return this._has_colourByJmol;
+ }
+
+ /**
+ * Method hasColourwithAlignPanel.
+ *
+ * @return true if at least one ColourwithAlignPanel has been added
+ */
+ public boolean hasColourwithAlignPanel()
+ {
+ return this._has_colourwithAlignPanel;
+ }
+
+ /**
+ * Method hasHeight.
+ *
+ * @return true if at least one Height has been added
+ */
+ public boolean hasHeight()
+ {
+ return this._has_height;
+ }
+
+ /**
+ * Method hasVisible.
+ *
+ * @return true if at least one Visible has been added
+ */
+ public boolean hasVisible()
+ {
+ return this._has_visible;
+ }
+
+ /**
+ * Method hasWidth.
+ *
+ * @return true if at least one Width has been added
+ */
+ public boolean hasWidth()
+ {
+ return this._has_width;
+ }
+
+ /**
+ * Method hasXpos.
+ *
+ * @return true if at least one Xpos has been added
+ */
+ public boolean hasXpos()
+ {
+ return this._has_xpos;
+ }
+
+ /**
+ * Method hasYpos.
+ *
+ * @return true if at least one Ypos has been added
+ */
+ public boolean hasYpos()
+ {
+ return this._has_ypos;
+ }
+
+ /**
+ * Returns the value of field 'alignwithAlignPanel'. The field
+ * 'alignwithAlignPanel' has the following description: Flag set if the
+ * alignment panel containing this JSeq should be included in those used to
+ * perform a structure superposition (since Jalview 2.7).
+ *
+ *
+ * @return the value of field 'AlignwithAlignPanel'.
+ */
+ public boolean isAlignwithAlignPanel()
+ {
+ return this._alignwithAlignPanel;
+ }
+
+ /**
+ * Returns the value of field 'colourByJmol'. The field 'colourByJmol' has the
+ * following description: Flag set if the structure display is coloured by the
+ * Jmol state, rather than by one or more linked alignment views.
+ *
+ *
+ * @return the value of field 'ColourByJmol'.
+ */
+ public boolean isColourByJmol()
+ {
+ return this._colourByJmol;
+ }
+
+ /**
+ * Returns the value of field 'colourwithAlignPanel'. The field
+ * 'colourwithAlignPanel' has the following description: Flag set if the
+ * alignment panel containing this JSeq should be included in those used to
+ * colour its associated sequences in this structureState(since Jalview 2.7).
+ *
+ *
+ * @return the value of field 'ColourwithAlignPanel'.
+ */
+ public boolean isColourwithAlignPanel()
+ {
+ return this._colourwithAlignPanel;
+ }
+
+ /**
+ * Method isValid.
+ *
+ * @return true if this object is valid according to the schema
+ */
+ public boolean isValid()
+ {
+ try