jNetLib/src/jnet/lib/object/Map.java

87 lines
1.8 KiB
Java

package jnet.lib.object;
import jnet.lib.Status;
import java.io.Serializable;
import java.util.ArrayList;
public class Map implements Serializable {
private int id;
private String name;
private boolean lock;
private ArrayList<MapObject> objects;
private int status;
public Map(int id, String name, boolean lock, ArrayList<MapObject> objects) {
this.id = id;
this.name = name;
this.lock = lock;
this.status = Status.NA;
this.objects = objects;
}
public Map(String name) {
this.name = name;
this.lock = false;
this.status = Status.NA;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public boolean isLock() {
return lock;
}
public void setLock(boolean lock) {
this.lock = lock;
}
public ArrayList<MapObject> getObjects() {
return objects;
}
public void setObjects(ArrayList<MapObject> objects) {
this.objects = objects;
}
public int getStatus() {
if (getObjects().isEmpty()) {
return Status.NA;
}
int status = Status.OK;
for (MapObject object : getObjects()) {
int objectStatus = object.getStatus();
if (objectStatus == Status.OFFLINE) {
return Status.OFFLINE; // Okamžitě vrátíme OFFLINE
} else if (objectStatus == Status.WARNING) {
status = Status.WARNING; // Možný downgrade na WARNING
}
}
return status;
}
public void setStatus(int status) {
this.status = status;
}
}