/**
* Copyright (c) 2009-2011, The HATS Consortium. All rights reserved.
* This file is licensed under the terms of the Modified BSD License.
*/
package abs.backend.java.lib.types;
public class ABSProcess extends ABSBuiltInDataType {
// set: pid, method, arrival, cost, deadline, start, finish, critical, value
private int pid;
private String methodName;
private long arrivalTime;
private long cost;
private long deadline;
private long startTime;
private long finishTime;
private boolean critical;
private int value;
public ABSProcess() {
super("ABSProcess");
}
public ABSProcess(int pid, String method, long arrival, long cost, long deadline, long start, long finish, boolean crit, int value) {
super("ABSProcess");
this.pid = pid;
this.methodName = method;
this.arrivalTime = arrival;
this.cost = cost;
this.deadline = deadline;
this.startTime = start;
this.finishTime = finish;
this.critical = crit;
this.value = value;
}
public int getPid() {
return pid;
}
public String getMethodName() {
return methodName;
}
public long getArrivalTime() {
return arrivalTime;
}
public long getCost() {
return cost;
}
public long getDeadline() {
return deadline;
}
public long getStartTime() {
return startTime;
}
public long getFinishTime() {
return finishTime;
}
public boolean isCritical() {
return critical;
}
public int getValue() {
return value;
}
public String toString() {
return String.format("%1$s: %2$d,%3$s,%4$d,%5$d,%6$d,%7$d,%8$d,%9$b,%10$d",
getConstructorName(), pid, methodName, arrivalTime, cost, deadline, startTime, finishTime, critical, value);
}
public ABSBool gt(ABSValue o) {
if (o.getClass() == ABSProcess.class) {
return ABSBool.fromBoolean(this.pid > ((ABSProcess)o).getPid());
} else {
// type error, not reached
return ABSBool.FALSE;
}
}
public ABSBool lt(ABSValue o) {
if (o.getClass() == ABSProcess.class) {
return ABSBool.fromBoolean(this.pid < ((ABSProcess)o).getPid());
} else {
// type error, not reached
return ABSBool.FALSE;
}
}
}