X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fbinding%2FColour.java;h=f51e9aff95ddcfe3783a5d325e5f65a626fb3f56;hb=14b1b2a878190d5fffda298c4b9a901c72c74ad3;hp=488ff9820fca713e02c0b14a9736d5dd746a4e07;hpb=cd07a161a10680208029f76aa46710c1032aae46;p=jalview.git diff --git a/src/jalview/binding/Colour.java b/src/jalview/binding/Colour.java old mode 100755 new mode 100644 index 488ff98..f51e9af --- a/src/jalview/binding/Colour.java +++ b/src/jalview/binding/Colour.java @@ -7,8 +7,8 @@ package jalview.binding; - //---------------------------------/ - //- Imported classes and packages -/ +//---------------------------------/ +//- Imported classes and packages -/ //---------------------------------/ import org.exolab.castor.xml.Marshaller; @@ -19,151 +19,689 @@ import org.exolab.castor.xml.Unmarshaller; * * @version $Revision$ $Date$ */ -public class Colour implements java.io.Serializable { +public class Colour implements java.io.Serializable +{ + // --------------------------/ + // - Class/Member Variables -/ + // --------------------------/ - //--------------------------/ - //- Class/Member Variables -/ - //--------------------------/ + /** + * Single letter residue code for an alignment colour scheme, or feature type + * for a feature colour scheme + */ + private java.lang.String _name; - /** - * Field _name. - */ - private java.lang.String _name; + /** + * Field _RGB. + */ + private java.lang.String _RGB; - /** - * Field _RGB. - */ - private java.lang.String _RGB; + /** + * Field _minRGB. + */ + private java.lang.String _minRGB; + /** + * Field _noValueColour. + */ + private jalview.binding.types.NoValueColour _noValueColour = jalview.binding.types.NoValueColour + .valueOf("Min"); - //----------------/ - //- Constructors -/ - //----------------/ + /** + * Field _threshType. + */ + private jalview.binding.types.ColourThreshTypeType _threshType; - public Colour() { - super(); - } + /** + * Field _threshold. + */ + private float _threshold; + /** + * keeps track of state for field: _threshold + */ + private boolean _has_threshold; - //-----------/ - //- Methods -/ - //-----------/ + /** + * Field _max. + */ + private float _max; - /** - * Returns the value of field 'name'. - * - * @return the value of field 'Name'. - */ - public java.lang.String getName( - ) { - return this._name; - } + /** + * keeps track of state for field: _max + */ + private boolean _has_max; - /** - * Returns the value of field 'RGB'. - * - * @return the value of field 'RGB'. - */ - public java.lang.String getRGB( - ) { - return this._RGB; - } + /** + * Field _min. + */ + private float _min; - /** - * Method isValid. - * - * @return true if this object is valid according to the schema - */ - public boolean isValid( - ) { - try { - validate(); - } catch (org.exolab.castor.xml.ValidationException vex) { - return false; - } - return true; - } + /** + * keeps track of state for field: _min + */ + private boolean _has_min; + + /** + * Field _colourByLabel. + */ + private boolean _colourByLabel; + + /** + * keeps track of state for field: _colourByLabel + */ + private boolean _has_colourByLabel; + + /** + * Field _autoScale. + */ + private boolean _autoScale; - /** - * - * - * @param out - * @throws org.exolab.castor.xml.MarshalException if object is - * null or if any SAXException is thrown during marshaling - * @throws org.exolab.castor.xml.ValidationException if this - * object is an invalid instance according to the schema - */ - public void marshal( - final java.io.Writer out) - throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException { - Marshaller.marshal(this, out); + /** + * keeps track of state for field: _autoScale + */ + private boolean _has_autoScale; + + /** + * name of feature attribute to colour by, or attribute and sub-attribute + */ + private java.util.Vector _attributeNameList; + + // ----------------/ + // - Constructors -/ + // ----------------/ + + public Colour() + { + super(); + setNoValueColour(jalview.binding.types.NoValueColour.valueOf("Min")); + this._attributeNameList = new java.util.Vector(); + } + + // -----------/ + // - Methods -/ + // -----------/ + + /** + * + * + * @param vAttributeName + * @throws java.lang.IndexOutOfBoundsException + * if the index given is outside the bounds of the collection + */ + public void addAttributeName(final java.lang.String vAttributeName) + throws java.lang.IndexOutOfBoundsException + { + // check for the maximum size + if (this._attributeNameList.size() >= 2) + { + throw new IndexOutOfBoundsException( + "addAttributeName has a maximum of 2"); } - /** - * - * - * @param handler - * @throws java.io.IOException if an IOException occurs during - * marshaling - * @throws org.exolab.castor.xml.ValidationException if this - * object is an invalid instance according to the schema - * @throws org.exolab.castor.xml.MarshalException if object is - * null or if any SAXException is thrown during marshaling - */ - public void marshal( - final org.xml.sax.ContentHandler handler) - throws java.io.IOException, org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException { - Marshaller.marshal(this, handler); + this._attributeNameList.addElement(vAttributeName); + } + + /** + * + * + * @param index + * @param vAttributeName + * @throws java.lang.IndexOutOfBoundsException + * if the index given is outside the bounds of the collection + */ + public void addAttributeName(final int index, + final java.lang.String vAttributeName) + throws java.lang.IndexOutOfBoundsException + { + // check for the maximum size + if (this._attributeNameList.size() >= 2) + { + throw new IndexOutOfBoundsException( + "addAttributeName has a maximum of 2"); } - /** - * Sets the value of field 'name'. - * - * @param name the value of field 'name'. - */ - public void setName( - final java.lang.String name) { - this._name = name; + this._attributeNameList.add(index, vAttributeName); + } + + /** + */ + public void deleteAutoScale() + { + this._has_autoScale = false; + } + + /** + */ + public void deleteColourByLabel() + { + this._has_colourByLabel = false; + } + + /** + */ + public void deleteMax() + { + this._has_max = false; + } + + /** + */ + public void deleteMin() + { + this._has_min = false; + } + + /** + */ + public void deleteThreshold() + { + this._has_threshold = false; + } + + /** + * Method enumerateAttributeName. + * + * @return an Enumeration over all java.lang.String elements + */ + public java.util.Enumeration enumerateAttributeName() + { + return this._attributeNameList.elements(); + } + + /** + * Method getAttributeName. + * + * @param index + * @throws java.lang.IndexOutOfBoundsException + * if the index given is outside the bounds of the collection + * @return the value of the java.lang.String at the given index + */ + public java.lang.String getAttributeName(final int index) + throws java.lang.IndexOutOfBoundsException + { + // check bounds for index + if (index < 0 || index >= this._attributeNameList.size()) + { + throw new IndexOutOfBoundsException("getAttributeName: Index value '" + + index + "' not in range [0.." + + (this._attributeNameList.size() - 1) + "]"); } - /** - * Sets the value of field 'RGB'. - * - * @param RGB the value of field 'RGB'. - */ - public void setRGB( - final java.lang.String RGB) { - this._RGB = RGB; + return (java.lang.String) _attributeNameList.get(index); + } + + /** + * Method getAttributeName.Returns the contents of the collection in an Array. + *

+ * Note: Just in case the collection contents are changing in another thread, + * we pass a 0-length Array of the correct type into the API call. This way we + * know that the Array returned is of exactly the correct length. + * + * @return this collection as an Array + */ + public java.lang.String[] getAttributeName() + { + java.lang.String[] array = new java.lang.String[0]; + return (java.lang.String[]) this._attributeNameList.toArray(array); + } + + /** + * Method getAttributeNameCount. + * + * @return the size of this collection + */ + public int getAttributeNameCount() + { + return this._attributeNameList.size(); + } + + /** + * Returns the value of field 'autoScale'. + * + * @return the value of field 'AutoScale'. + */ + public boolean getAutoScale() + { + return this._autoScale; + } + + /** + * Returns the value of field 'colourByLabel'. + * + * @return the value of field 'ColourByLabel'. + */ + public boolean getColourByLabel() + { + return this._colourByLabel; + } + + /** + * Returns the value of field 'max'. + * + * @return the value of field 'Max'. + */ + public float getMax() + { + return this._max; + } + + /** + * Returns the value of field 'min'. + * + * @return the value of field 'Min'. + */ + public float getMin() + { + return this._min; + } + + /** + * Returns the value of field 'minRGB'. + * + * @return the value of field 'MinRGB'. + */ + public java.lang.String getMinRGB() + { + return this._minRGB; + } + + /** + * Returns the value of field 'name'. The field 'name' has the following + * description: Single letter residue code for an alignment colour scheme, or + * feature type for a feature colour scheme + * + * @return the value of field 'Name'. + */ + public java.lang.String getName() + { + return this._name; + } + + /** + * Returns the value of field 'noValueColour'. + * + * @return the value of field 'NoValueColour'. + */ + public jalview.binding.types.NoValueColour getNoValueColour() + { + return this._noValueColour; + } + + /** + * Returns the value of field 'RGB'. + * + * @return the value of field 'RGB'. + */ + public java.lang.String getRGB() + { + return this._RGB; + } + + /** + * Returns the value of field 'threshType'. + * + * @return the value of field 'ThreshType'. + */ + public jalview.binding.types.ColourThreshTypeType getThreshType() + { + return this._threshType; + } + + /** + * Returns the value of field 'threshold'. + * + * @return the value of field 'Threshold'. + */ + public float getThreshold() + { + return this._threshold; + } + + /** + * Method hasAutoScale. + * + * @return true if at least one AutoScale has been added + */ + public boolean hasAutoScale() + { + return this._has_autoScale; + } + + /** + * Method hasColourByLabel. + * + * @return true if at least one ColourByLabel has been added + */ + public boolean hasColourByLabel() + { + return this._has_colourByLabel; + } + + /** + * Method hasMax. + * + * @return true if at least one Max has been added + */ + public boolean hasMax() + { + return this._has_max; + } + + /** + * Method hasMin. + * + * @return true if at least one Min has been added + */ + public boolean hasMin() + { + return this._has_min; + } + + /** + * Method hasThreshold. + * + * @return true if at least one Threshold has been added + */ + public boolean hasThreshold() + { + return this._has_threshold; + } + + /** + * Returns the value of field 'autoScale'. + * + * @return the value of field 'AutoScale'. + */ + public boolean isAutoScale() + { + return this._autoScale; + } + + /** + * Returns the value of field 'colourByLabel'. + * + * @return the value of field 'ColourByLabel'. + */ + public boolean isColourByLabel() + { + return this._colourByLabel; + } + + /** + * Method isValid. + * + * @return true if this object is valid according to the schema + */ + public boolean isValid() + { + try + { + validate(); + } catch (org.exolab.castor.xml.ValidationException vex) + { + return false; } + return true; + } + + /** + * + * + * @param out + * @throws org.exolab.castor.xml.MarshalException + * if object is null or if any SAXException is thrown during + * marshaling + * @throws org.exolab.castor.xml.ValidationException + * if this object is an invalid instance according to the schema + */ + public void marshal(final java.io.Writer out) + throws org.exolab.castor.xml.MarshalException, + org.exolab.castor.xml.ValidationException + { + Marshaller.marshal(this, out); + } + + /** + * + * + * @param handler + * @throws java.io.IOException + * if an IOException occurs during marshaling + * @throws org.exolab.castor.xml.ValidationException + * if this object is an invalid instance according to the schema + * @throws org.exolab.castor.xml.MarshalException + * if object is null or if any SAXException is thrown during + * marshaling + */ + public void marshal(final org.xml.sax.ContentHandler handler) + throws java.io.IOException, + org.exolab.castor.xml.MarshalException, + org.exolab.castor.xml.ValidationException + { + Marshaller.marshal(this, handler); + } + + /** + */ + public void removeAllAttributeName() + { + this._attributeNameList.clear(); + } + + /** + * Method removeAttributeName. + * + * @param vAttributeName + * @return true if the object was removed from the collection. + */ + public boolean removeAttributeName(final java.lang.String vAttributeName) + { + boolean removed = _attributeNameList.remove(vAttributeName); + return removed; + } - /** - * Method unmarshal. - * - * @param reader - * @throws org.exolab.castor.xml.MarshalException if object is - * null or if any SAXException is thrown during marshaling - * @throws org.exolab.castor.xml.ValidationException if this - * object is an invalid instance according to the schema - * @return the unmarshaled jalview.binding.Colour - */ - public static jalview.binding.Colour unmarshal( - final java.io.Reader reader) - throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException { - return (jalview.binding.Colour) Unmarshaller.unmarshal(jalview.binding.Colour.class, reader); + /** + * Method removeAttributeNameAt. + * + * @param index + * @return the element removed from the collection + */ + public java.lang.String removeAttributeNameAt(final int index) + { + java.lang.Object obj = this._attributeNameList.remove(index); + return (java.lang.String) obj; + } + + /** + * + * + * @param index + * @param vAttributeName + * @throws java.lang.IndexOutOfBoundsException + * if the index given is outside the bounds of the collection + */ + public void setAttributeName(final int index, + final java.lang.String vAttributeName) + throws java.lang.IndexOutOfBoundsException + { + // check bounds for index + if (index < 0 || index >= this._attributeNameList.size()) + { + throw new IndexOutOfBoundsException("setAttributeName: Index value '" + + index + "' not in range [0.." + + (this._attributeNameList.size() - 1) + "]"); } - /** - * - * - * @throws org.exolab.castor.xml.ValidationException if this - * object is an invalid instance according to the schema - */ - public void validate( - ) - throws org.exolab.castor.xml.ValidationException { - org.exolab.castor.xml.Validator validator = new org.exolab.castor.xml.Validator(); - validator.validate(this); + this._attributeNameList.set(index, vAttributeName); + } + + /** + * + * + * @param vAttributeNameArray + */ + public void setAttributeName(final java.lang.String[] vAttributeNameArray) + { + // -- copy array + _attributeNameList.clear(); + + for (int i = 0; i < vAttributeNameArray.length; i++) + { + this._attributeNameList.add(vAttributeNameArray[i]); } + } + + /** + * Sets the value of field 'autoScale'. + * + * @param autoScale + * the value of field 'autoScale'. + */ + public void setAutoScale(final boolean autoScale) + { + this._autoScale = autoScale; + this._has_autoScale = true; + } + + /** + * Sets the value of field 'colourByLabel'. + * + * @param colourByLabel + * the value of field 'colourByLabel'. + */ + public void setColourByLabel(final boolean colourByLabel) + { + this._colourByLabel = colourByLabel; + this._has_colourByLabel = true; + } + + /** + * Sets the value of field 'max'. + * + * @param max + * the value of field 'max'. + */ + public void setMax(final float max) + { + this._max = max; + this._has_max = true; + } + + /** + * Sets the value of field 'min'. + * + * @param min + * the value of field 'min'. + */ + public void setMin(final float min) + { + this._min = min; + this._has_min = true; + } + + /** + * Sets the value of field 'minRGB'. + * + * @param minRGB + * the value of field 'minRGB'. + */ + public void setMinRGB(final java.lang.String minRGB) + { + this._minRGB = minRGB; + } + + /** + * Sets the value of field 'name'. The field 'name' has the following + * description: Single letter residue code for an alignment colour scheme, or + * feature type for a feature colour scheme + * + * @param name + * the value of field 'name'. + */ + public void setName(final java.lang.String name) + { + this._name = name; + } + + /** + * Sets the value of field 'noValueColour'. + * + * @param noValueColour + * the value of field 'noValueColour'. + */ + public void setNoValueColour( + final jalview.binding.types.NoValueColour noValueColour) + { + this._noValueColour = noValueColour; + } + + /** + * Sets the value of field 'RGB'. + * + * @param RGB + * the value of field 'RGB'. + */ + public void setRGB(final java.lang.String RGB) + { + this._RGB = RGB; + } + + /** + * Sets the value of field 'threshType'. + * + * @param threshType + * the value of field 'threshType'. + */ + public void setThreshType( + final jalview.binding.types.ColourThreshTypeType threshType) + { + this._threshType = threshType; + } + + /** + * Sets the value of field 'threshold'. + * + * @param threshold + * the value of field 'threshold'. + */ + public void setThreshold(final float threshold) + { + this._threshold = threshold; + this._has_threshold = true; + } + + /** + * Method unmarshal. + * + * @param reader + * @throws org.exolab.castor.xml.MarshalException + * if object is null or if any SAXException is thrown during + * marshaling + * @throws org.exolab.castor.xml.ValidationException + * if this object is an invalid instance according to the schema + * @return the unmarshaled jalview.binding.Colour + */ + public static jalview.binding.Colour unmarshal( + final java.io.Reader reader) + throws org.exolab.castor.xml.MarshalException, + org.exolab.castor.xml.ValidationException + { + return (jalview.binding.Colour) Unmarshaller + .unmarshal(jalview.binding.Colour.class, reader); + } + + /** + * + * + * @throws org.exolab.castor.xml.ValidationException + * if this object is an invalid instance according to the schema + */ + public void validate() throws org.exolab.castor.xml.ValidationException + { + org.exolab.castor.xml.Validator validator = new org.exolab.castor.xml.Validator(); + validator.validate(this); + } }