Package clips.delegate.shedule.exception

Source Code of clips.delegate.shedule.exception.SheduleExceptionData

/*
* SheduleHolidayDayLocal.java
*
*/

package clips.delegate.shedule.exception;

import TimeTable.Day;
import beans.shedule.exceptions.SheduleExceptionDetails;
import beans.shedule.week.TimeOffset;
import cli_fmw.main.ClipsException;
import cli_fmw.delegate.lists.DataChunk;
import cli_fmw.delegate.lists.Mappable;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;

/**
* @author Axe Ilshat
*/
public class SheduleExceptionData extends DataChunk<SheduleExceptionDetails>
    implements Mappable<Integer> {
   
    public SheduleExceptionData(Day day) throws ClipsException {
        super(new SheduleExceptionDetails(day.getCalendar().getTime()));
    }
   
    public SheduleExceptionData(SheduleExceptionDetails details) throws ClipsException {
        super(details);
    }
   
    /**
     * Списки разделены по месяцам, поэтому в одном списке будут
     * элементы одного месяца, след-но даты в качестве ключа достаточно
     * @return
     */
    @Override
    public Integer getKey() {
        Calendar cal = GregorianCalendar.getInstance();
        cal.setTime(getDay());
        return cal.get(Calendar.DAY_OF_MONTH);
    }
   
    @Override
    public String toString() {
        return (isWorking() ? "Рабочий":"Выходной") + " день"
                (getDescription() == null ? "":" ("+getDescription()+")");
    }

    /**
     * Возвращает день месяца
     * @return день месяца (1-31)
     */
    public Date getDay()  {
        return getDetails().day;
    }

    public void setDay(Date day)  {
        getDetails().day = day;
    }

    /**
     * Возвращает описание праздника
     * @return описание - строка до 255 символов по БД
     */
    public String getDescription() {
        return getDetails().description;
    }

    /**
     * Назначает описание праздника
     * @param description - строка до 255 символов по БД
     */
    public void setDescription(String description) {
        if(getDetails().description != null
                &&  getDetails().description.equals(description)) {
            return;
        }
        getDetails().description = description;
        fireContentStateEvent();
    }

    public TimeOffset getBeginTime() {
        return new TimeOffset(getDetails().beginTime);
    }

    public void setBeginTime(TimeOffset beginTime) {
        getDetails().beginTime = beginTime.getRaw();
        fireContentStateEvent();
    }

    public int getDuration() {
        return getDetails().duration;
    }

    public void setDuration(int duration) {
        getDetails().duration = duration;
        fireContentStateEvent();
    }

    public boolean isWorking() {
        return getDetails().working;
    }

    public void setWorking(boolean working) {
        getDetails().working = working;
        fireContentStateEvent();
    }
}
TOP

Related Classes of clips.delegate.shedule.exception.SheduleExceptionData

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.