/*
VARNA is a tool for the automated drawing, visualization and annotation of the secondary structure of RNA, designed as a companion software for web servers and databases.
Copyright (C) 2008 Kevin Darty, Alain Denise and Yann Ponty.
electronic mail : Yann.Ponty@lri.fr
paper mail : LRI, bat 490 University Paris-Sud 91405 Orsay Cedex France
This file is part of VARNA version 3.1.
VARNA version 3.1 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.
VARNA version 3.1 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 VARNA version 3.1.
If not, see http://www.gnu.org/licenses.
*/
package fr.orsay.lri.varna.models.naView;
import java.util.ArrayList;
import java.util.Hashtable;
public class Loop {
private int nconnection;
private ArrayList<Connection> connections = new ArrayList<Connection>();
private Hashtable<Integer,Connection> _connections = new Hashtable<Integer,Connection>();
private int number;
private int depth;
private boolean mark;
private double x, y, radius;
public int getNconnection() {
return nconnection;
}
public void setNconnection(int nconnection) {
this.nconnection = nconnection;
}
public void setConnection(int i, Connection c)
{
Integer n = new Integer(i);
if (c != null)
_connections.put(n, c);
else
{
if (!_connections.containsKey(n))
{
_connections.put(n, new Connection());
}
_connections.get(i).setNull(true);
}
}
public Connection getConnection(int i)
{
Integer n = new Integer(i);
if (!_connections.containsKey(n))
{ _connections.put(n, new Connection()); }
Connection c = _connections.get(n);
if (c.isNull())
return null;
else
return c;
}
public void addConnection(int i, Connection c)
{
_connections.put(_connections.size(),c);
}
public int getNumber() {
return number;
}
public void setNumber(int number) {
this.number = number;
}
public int getDepth() {
return depth;
}
public void setDepth(int depth) {
this.depth = depth;
}
public boolean isMark() {
return mark;
}
public void setMark(boolean mark) {
this.mark = mark;
}
public double getX() {
return x;
}
public void setX(double x) {
this.x = x;
}
public double getY() {
return y;
}
public void setY(double y) {
this.y = y;
}
public double getRadius() {
return radius;
}
public void setRadius(double radius) {
this.radius = radius;
}
public String toString()
{
String result = "Loop:";
result += " nconnection "+nconnection;
result += " depth "+depth;
return result;
}
}