org.continuousassurance.swamp.api.Tool Maven / Gradle / Ivy
package org.continuousassurance.swamp.api;
import net.sf.json.JSONArray;
import org.continuousassurance.swamp.session.Session;
import java.util.Date;
import java.util.List;
import static org.continuousassurance.swamp.session.handlers.ToolHandler.*;
/**
* Models one of the tools used by an assessment.
* properties supported are
*
* - Create date
* - Name
* - Policy
* - Policy code
* - Tool sharing status
* - Update date
* - is build needed?
* - is owned?
*
* Created by Jeff Gaynor
* on 12/10/14 at 10:55 AM
*/
public class Tool extends SwampThing{
public Tool(Session session) {
super(session);
}
@Override
protected SwampThing getNewInstance() {
return new Tool(getSession());
}
@Override
public String getIDKey() {
return TOOL_UUID_KEY;
}
public String getName(){
return getString(NAME_KEY);
}
public void setName(String name){
put(NAME_KEY, name);
}
public String getToolSharingStatus(){
return getString(TOOL_SHARING_STATUS_KEY);
}
public void setToolSharingStatus(String toolSharingStatus){
put(TOOL_SHARING_STATUS_KEY, toolSharingStatus);
}
public boolean isBuildNeeded(){
return getBoolean(IS_BUILD_NEEDED_KEY);
}
public void setBuildNeeded(boolean buildNeeded){
put(IS_BUILD_NEEDED_KEY, buildNeeded);
}
public String getPolicyCode(){
return getString(POLICY_CODE_KEY);
}
public void setPolicyCode(String policyCode){
put(POLICY_CODE_KEY, policyCode);
}
public Date getCreateDate(){
return getDate(CREATE_DATE_KEY);
}
public void setCreateDate(Date createDate){
put(CREATE_DATE_KEY, createDate);
}
public String getPolicy(){
return getString(POLICY_KEY);
}
public void setPolicy(String policy){
put(POLICY_KEY, policy);
}
public boolean hasPolicy(){
return getPolicy() != null;
}
public Date getUpdateDate(){
return getDate(UPDATE_DATE_KEY);
}
public void setUpdateDate(Date updateDate){
put(UPDATE_DATE_KEY, updateDate);
}
public boolean isOwned(){
return getBoolean(IS_OWNED_KEY);
}
public void setOwned(boolean isOwned){
put(IS_OWNED_KEY, isOwned);
}
public List getSupportedPkgTypes(){
if (this.getConversionMap().get(PACKAGE_TYPE_NAMES) instanceof JSONArray) {
return (List)this.getConversionMap().get(PACKAGE_TYPE_NAMES);
}else{
return null;
}
}
public List getSupportedPlatforms(){
if (this.getConversionMap().get(PLATFORM_NAMES) instanceof JSONArray) {
return (List)this.getConversionMap().get(PLATFORM_NAMES);
}else{
return null;
}
}
@Override
public String toString() {
return "Tool[uuid=" + getIdentifier() + ", name=" + getName() + ", sharing status=" + getToolSharingStatus() + ", create date=" + getCreateDate() + "]";
}
}