X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=srcjar%2Ffr%2Forsay%2Flri%2Fvarna%2Fmodels%2Frna%2FModeleBackbone.java;fp=srcjar%2Ffr%2Forsay%2Flri%2Fvarna%2Fmodels%2Frna%2FModeleBackbone.java;h=caa4b5ff2468f34096dec4eceeee801be2b40d67;hb=4f30214e8098748469c6a4269ac2ed6c5750e4b0;hp=0000000000000000000000000000000000000000;hpb=9dabc02511e3a334a5749a504f57f69d6c9017bd;p=jalview.git diff --git a/srcjar/fr/orsay/lri/varna/models/rna/ModeleBackbone.java b/srcjar/fr/orsay/lri/varna/models/rna/ModeleBackbone.java new file mode 100644 index 0000000..caa4b5f --- /dev/null +++ b/srcjar/fr/orsay/lri/varna/models/rna/ModeleBackbone.java @@ -0,0 +1,75 @@ +package fr.orsay.lri.varna.models.rna; + +import java.awt.Color; +import java.io.Serializable; +import java.util.ArrayList; +import java.util.Hashtable; + +import javax.xml.transform.sax.TransformerHandler; + +import org.xml.sax.SAXException; +import org.xml.sax.helpers.AttributesImpl; + +import fr.orsay.lri.varna.models.rna.ModeleBackboneElement.BackboneType; +import fr.orsay.lri.varna.utils.XMLUtils; + +public class ModeleBackbone implements Serializable{ + + /** + * + */ + private Hashtable elems = new Hashtable(); + + private static final long serialVersionUID = -614968737102943216L; + + + + public static String XML_ELEMENT_NAME = "backbone"; + + public void toXML(TransformerHandler hd) throws SAXException + { + AttributesImpl atts = new AttributesImpl(); + hd.startElement("","",XML_ELEMENT_NAME,atts); + for (ModeleBackboneElement bck:elems.values()) + { + bck.toXML(hd); + } + hd.endElement("","",XML_ELEMENT_NAME); + atts.clear(); + } + + public void addElement(ModeleBackboneElement mbe) + { + elems.put(mbe.getIndex(),mbe); + } + + public BackboneType getTypeBefore(int indexBase) + { + return getTypeAfter(indexBase-1); + } + + public BackboneType getTypeAfter(int indexBase) + { + if (elems.containsKey(indexBase)) + return elems.get(indexBase).getType(); + else + return BackboneType.SOLID_TYPE; + } + + public Color getColorBefore(int indexBase, Color defCol) + { + return getColorAfter(indexBase-1,defCol); + } + + public Color getColorAfter(int indexBase, Color defCol) + { + if (elems.containsKey(indexBase)) + { + Color c = elems.get(indexBase).getColor(); + if (c != null) + return c; + } + return defCol; + } + +}