Subversion Repositories SmartDukaan

Rev

Rev 1050 | Rev 1153 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

package in.shop2020.metamodel.core;

import in.shop2020.metamodel.util.ReusableMetaModelComponent;

import java.util.Calendar;
import java.util.Date;

public class EntityState extends ReusableMetaModelComponent{
        
        /**
         * 
         */
        private static final long serialVersionUID = 1L;
        
        private EntityStatus status;
        
        private String createdBy;
        private String assignedBy;
        private String assignedTo;
        private String completedBy;
        private String markedReadyBy;

        private Date createdOn;
        private Date assignedOn;
        private Date completedOn;
        private Date markedReadyOn;

        
        /*
        private class ActionLog{
                Action action;
                String user;
                Date date;
        
                ActionLog(Action action, String user){
                        this.action = action;
                        this.user = user;
                        this.date = new Date();
                }
        }
        
        private List<ActionLog> historyActions = new ArrayList<ActionLog>();
        private ActionLog currentAction;
        
        //this.currentAction = new ActionLog(Action.CREATE, createdBy);
         * 
         *      //this.currentAction = new ActionLog(Action.CREATE, createdBy);
        */
        
        public EntityState(long newID, String createdBy){
                super(newID);
                this.status = EntityStatus.UNASSIGNED;
                this.createdBy = createdBy;
                this.createdOn = getCurrentTime(); 
        }
        
        public void assignEntity(String assignedBy, String assignedTo){
                this.status = EntityStatus.ASSIGNED;
                this.assignedBy = assignedBy;
                this.assignedTo = assignedTo;
                this.assignedOn = getCurrentTime();
        }

        public void completeEntity(String completedBy) {
                this.status = EntityStatus.COMPLETE;
                this.completedBy = completedBy;
                this.completedOn = getCurrentTime();
        }
        
        public void readyEntity(String markedReadyBy) {
                this.status = EntityStatus.READY;
                this.markedReadyBy = markedReadyBy;
                this.markedReadyOn = getCurrentTime();
        }
        
        public void setStatus(EntityStatus status) {
                this.status = status;
        }
        
        public EntityStatus getStatus() {
                return status;
        }

        public void setCreatedBy(String createdBy) {
                this.createdBy = createdBy;
        }

        public String getCreatedBy() {
                return createdBy;
        }

        public void setAssignedBy(String assignedBy) {
                this.assignedBy = assignedBy;
        }

        public String getAssignedBy() {
                return assignedBy;
        }

        public void setAssignedTo(String assignedTo) {
                this.assignedTo = assignedTo;
        }

        public String getAssignedTo() {
                return assignedTo;
        }

        public void setCompletedBy(String completedBy) {
                this.completedBy = completedBy;
        }

        public String getCompletedBy() {
                return completedBy;
        }

        public void setMerkedReadyBy(String merkedReadyBy) {
                this.markedReadyBy = merkedReadyBy;
        }

        public String getMerkedReadyBy() {
                return markedReadyBy;
        }

        public void setCreatedOn(Date createdOn) {
                this.createdOn = createdOn;
        }

        public Date getCreatedOn() {
                return createdOn;
        }

        public void setAssignedOn(Date assignedOn) {
                this.assignedOn = assignedOn;
        }

        public Date getAssignedOn() {
                return assignedOn;
        }

        public void setCompletedOn(Date completedOn) {
                this.completedOn = completedOn;
        }

        public Date getCompletedOn() {
                return completedOn;
        }

        public void setMerkedReadyOn(Date merkedReadyOn) {
                this.markedReadyOn = merkedReadyOn;
        }

        public Date getMerkedReadyOn() {
                return markedReadyOn;
        }
        
        private static Date getCurrentTime(){
            Calendar cal = Calendar.getInstance();
            return cal.getTime();
        }
}