package gr.ntua.ivml.athena.persistent;
import java.util.Date;
public class Lock {
Long dbID;
String userLogin;
Date aquired;
String httpSessionId;
String objectType;
long objectId;
String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Long getDbID() {
return dbID;
}
public void setDbID(Long dbID) {
this.dbID = dbID;
}
public String getUserLogin() {
return userLogin;
}
public void setUserLogin(String userLogin) {
this.userLogin = userLogin;
}
public Date getAquired() {
return aquired;
}
public void setAquired(Date aquired) {
this.aquired = aquired;
}
public String getHttpSessionId() {
return httpSessionId;
}
public void setHttpSessionId(String httpSessionId) {
this.httpSessionId = httpSessionId;
}
public String getObjectType() {
return objectType;
}
public void setObjectType(String objectType) {
this.objectType = objectType;
}
public long getObjectId() {
return objectId;
}
public void setObjectId(long objectId) {
this.objectId = objectId;
}
public String getReadableType() {
if( objectType == null ) return "EMPTY";
if( objectType.endsWith("DynamicTerm")) return "List";
if( objectType.endsWith("AssetContainer")) return "Digital asset";
if( objectType.endsWith("PhysicalMedium")) return "Physical medium";
return "Unknown";
}
/**
* How old in seconds is this lock ...
* @return
*/
public int getAge() {
long ageMil = (new Date()).getTime() - aquired.getTime();
int ageSec = (int) ageMil/1000;
return ageSec;
}
public String toString() {
StringBuffer sb = new StringBuffer();
sb.append( "User: " + userLogin + "\n" );
sb.append( "Session: " + httpSessionId + "\n" );
sb.append( "DbID: " + objectId + "\n" );
sb.append( "Type: " + objectType + "\n" );
sb.append( "Name: " + name +"\n" );
return sb.toString();
}
}