package ru.hflabs.rcd.web.model.document;
import ru.hflabs.rcd.model.document.Group;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlTransient;
import java.io.Serializable;
import static ru.hflabs.rcd.model.ModelUtils.hasPermission;
/**
* Класс <class>GroupBean</class> реализует декоратор группы справочников
*
* @see Group
*/
@XmlAccessorType(XmlAccessType.PROPERTY)
public class GroupBean implements Serializable {
private static final long serialVersionUID = 5286791652798240290L;
/** Группа справочников */
private Group delegate;
/** Статистика группы */
private DictionaryStatisticBean statistic;
public GroupBean() {
this(new Group(), new DictionaryStatisticBean());
}
public GroupBean(Group delegate, DictionaryStatisticBean statistic) {
this.delegate = delegate;
this.statistic = statistic;
}
@XmlTransient
public Group getDelegate() {
return delegate;
}
public void setDelegate(Group delegate) {
this.delegate = delegate;
}
public String getId() {
return delegate.getId();
}
public void setId(String id) {
delegate.setId(id);
}
public String getHistoryId() {
return delegate.getHistoryId();
}
public void setHistoryId(String historyId) {
delegate.setHistoryId(historyId);
}
public String getName() {
return delegate.getName();
}
public void setName(String name) {
delegate.setName(name);
}
public String getDescription() {
return delegate.getDescription();
}
public void setDescription(String description) {
delegate.setDescription(description);
}
public String getOwner() {
return delegate.getOwner();
}
public void setOwner(String owner) {
delegate.setOwner(owner);
}
public boolean isWritable() {
return hasPermission(delegate, Group.PERMISSION_WRITE);
}
public DictionaryStatisticBean getStatistic() {
return statistic;
}
public void setStatistic(DictionaryStatisticBean statistic) {
this.statistic = statistic;
}
}