/*
* SheduleHolidayDayLocal.java
*
*/
package clips.delegate.shedule.holidays;
import beans.shedule.holiday.SheduleHolidayDetails;
import cli_fmw.main.ClipsException;
import cli_fmw.delegate.lists.DataChunk;
import cli_fmw.delegate.lists.Mappable;
/**
* @author Axe Ilshat
*/
public class SheduleHolidayData extends DataChunk<SheduleHolidayDetails>
implements Mappable<Integer> {
public SheduleHolidayData() throws ClipsException {
super(new SheduleHolidayDetails());
}
public SheduleHolidayData(SheduleHolidayDetails details) throws ClipsException {
super(details);
}
@Override
public Integer getKey() {
return (getDay()*100) + getMonth();
}
@Override
public String toString() {
return String.format("Day: %02d.%02d, description '%s'",
getDay(), getMonth(), getDescription());
}
/**
* Возвращает день месяца
* @return день месяца (1-31)
*/
public int getDay() {
return getDetails().day;
}
/**
* Назаначает день месяца
* @param day день месяца (1-31)
*/
public void setDay(int day){
if(getDetails().day != day)
{
getDetails().day = day;
fireContentStateEvent();
}
}
/**
* Возвращает месяц
* @return месяц в формате 1-12
*/
public int getMonth() {
return getDetails().month;
}
/**
* Назначает месяц
* @param month месяц в формате 1-12
*/
public void setMonth(int month) {
if(getDetails().month != month) {
getDetails().month = month;
fireContentStateEvent();
}
}
/**
* Возвращает описание праздника
* @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();
}
}