Mercurial > hg > ccmiandroid
diff src/uk/ac/qmul/eecs/ccmi/xmlparser/Node.java @ 0:e0ee6ac3a45f
first import
author | Fiore Martin <fiore@eecs.qmul.ac.uk> |
---|---|
date | Thu, 13 Dec 2012 20:00:21 +0000 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/uk/ac/qmul/eecs/ccmi/xmlparser/Node.java Thu Dec 13 20:00:21 2012 +0000 @@ -0,0 +1,89 @@ +/* + CCmI Diagram Editor for Android + + Copyright (C) 2012 Queen Mary University of London (http://ccmi.eecs.qmul.ac.uk/) + + This program 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. + + This program 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 this program. If not, see <http://www.gnu.org/licenses/>. +*/ +package uk.ac.qmul.eecs.ccmi.xmlparser; + +import java.util.ArrayList; + +import org.simpleframework.xml.Attribute; +import org.simpleframework.xml.ElementList; +import org.simpleframework.xml.Root; + +@Root(name="Node",strict=false) +public class Node implements HierarchyItem { + private static int idCounter = 0; + + @Attribute(name="Name") + private String name; + @Attribute(name="Type") + private String type; + @Attribute(name="id") + private int id; + + public Node(){ + id = ++idCounter; + name = "New Node "+id; + } + + public Node(String type, ArrayList<NodeProperty> properties){ + this(); + this.type = type; + name = "New "+type+" "+id; + this.properties = properties; + } + + @ElementList(name="Properties",required=false) + private ArrayList<NodeProperty> properties = new ArrayList<NodeProperty>(); + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getType() { + return type; + } + + public int getId() { + return id; + } + + public void setId(int id) { + /* catch up with the highest value entered */ + if(id > idCounter){ + idCounter = id; + } + this.id = id; + } + + public ArrayList<NodeProperty> getProperties() { + return properties; + } + + public void setProperties(ArrayList<NodeProperty> properties) { + this.properties = properties; + } + + @Override + public String toString(){ + return name; + } +}