/*
* Copyright (C) 2006-2016 DLR, Germany
*
* All rights reserved
*
* http://www.rcenvironment.de/
*/
package de.rcenvironment.core.gui.workflow.view.timeline;
import java.util.Date;
import org.eclipse.swt.graphics.Image;
/**
* Each instance of a component gets it's own {@link TimelineComponentRow}.
* @author Hendrik Abbenhaus
*/
public class TimelineComponentRow implements Comparable<TimelineComponentRow> {
private TimelineActivityPart[] activities = null;
private String componentID = null;
private String name = null;
private Date visibleStartTime = null;
private Date visibleEndTime = null;
private Date workflowStartTime = null;
private Date workflowEndTime = null;
public TimelineComponentRow(String name, String componentID, Date visibleStartTime, Date visibleEndTime) {
this.name = name;
this.componentID = componentID;
this.visibleStartTime = visibleStartTime;
this.visibleEndTime = visibleEndTime;
}
public void setActivities(TimelineActivityPart[] activities){
this.activities = activities;
}
public TimelineActivityPart[] getActivities(){
return this.activities;
}
/**
*
* @return an Icon for the current Component Instance.
*/
public Image getIcon(){
return TimelineView.getImageIconFromId(this.componentID, this);
}
/**
*
* @return the Display name of the current Component.
*/
public String getName(){
return this.name;
}
/**
* Returns an identifier of the current Component.
* @return the identifier
*/
public String getComponentID(){
return this.componentID;
}
public Date getVisibleStartTime() {
return this.visibleStartTime;
}
public Date getVisibleEndTime() {
return this.visibleEndTime;
}
public Date getWorkflowStartTime() {
return workflowStartTime;
}
public void setWorkflowStartTime(Date workflowStartTime) {
this.workflowStartTime = workflowStartTime;
}
public Date getWorkflowEndTime() {
return workflowEndTime;
}
public void setWorkflowEndTime(Date workflowEndTime) {
this.workflowEndTime = workflowEndTime;
}
@Override
public int compareTo(TimelineComponentRow o) {
return getName().compareToIgnoreCase(o.getName());
}
@Override
public String toString() {
return getName();
}
}