Subversion Repositories SmartDukaan

Rev

Rev 1153 | 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;

/**
 * Entity state
 * @author rajveer
 *
 */
public class EntityState extends ReusableMetaModelComponent{
        
        EntityState() {
        }

        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 long categoryID;
        private String brand;
        private String modelNumber;
        private String modelName;

        
        /*
        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, long categoryID, String createdBy){
                super(newID);
                this.status = EntityStatus.UNASSIGNED;
                this.createdBy = createdBy;
                this.createdOn = getCurrentTime(); 
                this.categoryID = categoryID;
        }
        
        /**
         * 
         * @param assignedBy
         * @param assignedTo
         */
        public void assignEntity(String assignedBy, String assignedTo){
                this.status = EntityStatus.ASSIGNED;
                this.assignedBy = assignedBy;
                this.assignedTo = assignedTo;
                this.assignedOn = getCurrentTime();
        }

        /**
         * 
         * @param completedBy
         */
        public void completeEntity(String completedBy) {
                this.status = EntityStatus.COMPLETE;
                this.completedBy = completedBy;
                this.completedOn = getCurrentTime();
        }
        
        /**
         * Set mark ready by
         * @param markedReadyBy
         */
        public void readyEntity(String markedReadyBy) {
                this.status = EntityStatus.READY;
                this.markedReadyBy = markedReadyBy;
                this.markedReadyOn = getCurrentTime();
        }
        
        /**
         * Set status
         * @param status
         */
        public void setStatus(EntityStatus status) {
                this.status = status;
        }
        
        /**
         * Get status
         * @return
         */
        public EntityStatus getStatus() {
                return status;
        }

        /**
         * Set created by
         * @param createdBy
         */
        public void setCreatedBy(String createdBy) {
                this.createdBy = createdBy;
        }

        /**
         * Get createdBy
         * @return
         */
        public String getCreatedBy() {
                return createdBy;
        }

        /**
         * Set assignedBy
         * @param assignedBy
         */
        public void setAssignedBy(String assignedBy) {
                this.assignedBy = assignedBy;
        }

        /**
         * Get assignedBy
         * @return
         */
        public String getAssignedBy() {
                return assignedBy;
        }

        /**
         * Set assignedTo
         * @param assignedTo
         */
        public void setAssignedTo(String assignedTo) {
                this.assignedTo = assignedTo;
        }

        /**
         * Get assignedTo
         * @return
         */
        public String getAssignedTo() {
                return assignedTo;
        }

        /**
         * Set completedBy
         * @param completedBy
         */
        public void setCompletedBy(String completedBy) {
                this.completedBy = completedBy;
        }

        /**
         * get CompletedBy
         * @return
         */
        public String getCompletedBy() {
                return completedBy;
        }

        /**
         * Set markReadyBy
         * @param merkedReadyBy
         */
        public void setMerkedReadyBy(String merkedReadyBy) {
                this.markedReadyBy = merkedReadyBy;
        }

        /**
         * Get markReadyBy
         * @return
         */
        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;
        }
        
        /**
     * 
     * @return categoryID
     *     
     */
    public long getCategoryID() {
        return this.categoryID;
    }

    /**
     * 
     * @param value Category ID to set
     *     
     */
    public void setCategoryID(long value) {
        this.categoryID = value;
    }

    /**
     * 
     * @return brand
     *     
     */
    public String getBrand() {
        return this.brand;
    }

    /**
     * 
     * @param value Brand to set
     *     
     */
    public void setBrand(String value) {
        this.brand = value;
    }

    /**
     * 
     * @return modelNumber Model Number 
     *     
     */
    public String getModelNumber() {
        return this.modelNumber;
    }

    /**
     * 
     * @param value Model Number to set
     *     
     */
    public void setModelNumber(String value) {
        this.modelNumber = value;
    }

    /**
     * 
     * @return modelName Model Name
     *     
     */
    public String getModelName() {
        return this.modelName;
    }

    /**
     * 
     * @param value Model Name to set
     *     
     */
    public void setModelName(String value) {
        this.modelName = value;
    }
    
        private static Date getCurrentTime(){
            Calendar cal = Calendar.getInstance();
            return cal.getTime();
        }
}