123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294 |
- package classes;
- import java.awt.Color;
- import java.util.ArrayList;
- import java.util.HashMap;
- import ui.model.idCounter;
- /**
- * The abstract class "CpsObject" represents any possible object in the system
- * (except Edges). The representation of any object contains following
- * variables: see description of variables
- *
- * @author Gruppe14
- *
- */
- public abstract class CpsObject {
- /* Type of the Object */
- String objName;
- /* Name given by the user */
- String name;
- /* ID of the Obj. */
- int ID;
- /* Path of the image for the Obj. */
- String image;
- /* Array of neighbors */
- ArrayList<CpsEdge> connections;
- /* Position with a X and Y value */
- Position position;
- /*
- * Energy input and output of each object in the grid Where the Object is
- * Stored
- */
- String sav;
- /* BorderColor the user sets */
- Color BorderColor = Color.WHITE;
- /* a Tag that can be used */
- ArrayList<Integer> tags;
- /**
- * Constructor for a CpsObejct with an unique ID
- */
- public CpsObject(String objName) {
- setObjName(objName);
- setName(objName);
- setImage("/Images/Dummy_House.png");
- }
- /**
- * Constructor for a new CpsObject with an unique ID (This constructor
- * correspond to the interaction between the Categories and Canvas)-->
- * actually the "new" Object is a copy.
- *
- * @param obj
- * Object to be copied
- */
- public CpsObject(CpsObject obj) {
- setObjName(obj.getObjName());
- setName(obj.getObjName());
- setConnections(new ArrayList<CpsEdge>());
- setPosition(new Position());
- setID(idCounter.nextId());
- setImage(obj.getImage());
- }
- /**
- * Getter for the type of the Object
- *
- * @return String
- */
- public String getObjName() {
- return objName;
- }
- /**
- * Set the type of Object
- *
- * @param objName
- * String
- */
- public void setObjName(String objName) {
- this.objName = objName;
- }
- /**
- * Getter for the user-defined name (no unique)
- *
- * @return String
- */
- public String getName() {
- return name;
- }
- /**
- * Set the name
- *
- * @param name
- * String
- */
- public void setName(String name) {
- this.name = name;
- }
- /**
- * Getter of the unique ID
- *
- * @return int
- */
- public int getID() {
- return ID;
- }
- /**
- * Set the ID to a new one
- *
- * @param iD
- * the iD to set
- */
- public void setID(int ID) {
- this.ID = ID;
- }
- /**
- * Get the path of the image for the selected Object
- *
- * @return String
- */
- public String getImage() {
- return image;
- }
- /**
- * Set the path of the image
- *
- * @param image
- * the Image to set
- */
- public void setImage(String image) {
- this.image = image;
- }
- /**
- * List of all existing connections
- *
- * @return the connections ArrayList
- */
- public ArrayList<CpsEdge> getConnections() {
- return connections;
- }
- /**
- * Set a new ArrayList of connections (Update)
- *
- * @param arrayList
- * the connections to set
- */
- public void setConnections(ArrayList<CpsEdge> arrayList) {
- this.connections = arrayList;
- }
- /**
- * List of all existing connections
- *
- * @return the connections ArrayList
- */
- public ArrayList<CpsEdge> getConnectedTo() {
- return connections;
- }
- /**
- * Add a new connection to the selected Object
- *
- * @param toConnect
- * Edge
- */
- public void AddConnection(CpsEdge toConnect) {
- connections.add(toConnect);
- }
- /**
- * Set the position of the Object in the canvas
- *
- * @param pos
- * Coordinates
- */
- public void setPosition(Position pos) {
- this.position = pos;
- }
- /**
- * Set the position of the Object in the canvas
- *
- * @param x
- * X-Coord
- * @param y
- * Y-Coord
- */
- public void setPosition(int x, int y) {
- setPosition(new Position(x, y));
- }
- /**
- * Get the actual position of the Object
- *
- * @return
- */
- public Position getPosition() {
- return position;
- }
- /**
- * @return the stored
- */
- public String getSav() {
- return sav;
- }
- /**
- * @param stored
- * the stored to set
- */
- public void setSav(String sav) {
- this.sav = sav;
- }
- /**
- * Get the color of the border
- *
- * @return the BorderColor
- */
- public Color getBorderColor() {
- return BorderColor;
- }
- /**
- <<<<<<< HEAD
- * Set the colorof the border
- *
- =======
- * Set the Border Color of this CpsObject
- *
- * @param the BorderColor
- */
- public void setBorderColor(Color c) {
- this.BorderColor = c;
- }
- /**
- >>>>>>> 0f397a62123e10fe88ef0d9ee68b3db6c0201ec8
- * @param Color
- * the Color to set
- */
- public void setConnections(Color color) {
- this.BorderColor = color;
- }
- <<<<<<< HEAD
- /**
- * For internal purpose (energy flow)
- *
- * @param tag
- */
- =======
- >>>>>>> 0f397a62123e10fe88ef0d9ee68b3db6c0201ec8
- public void addTag(int tag) {
- this.tags.add(tag);
- }
- <<<<<<< HEAD
- /**
- * Get the actual tags
- *
- * @return ArrayList
- */
- =======
- >>>>>>> 0f397a62123e10fe88ef0d9ee68b3db6c0201ec8
- public ArrayList<Integer> getTag() {
- return tags;
- }
- <<<<<<< HEAD
- /**
- * Reste the tags to Null
- */
- =======
- >>>>>>> 0f397a62123e10fe88ef0d9ee68b3db6c0201ec8
- public void resetTags() {
- this.tags = new ArrayList<Integer>();
- }
- public void setTags(ArrayList<Integer> tags) {
- this.tags = tags;
- }
- }
|