package ru.hflabs.rcd.model.document;
import java.io.Serializable;
/**
* Класс <class>DocumentContext</class> содержит информацию о контексте документа
*
* @see Group
* @see Dictionary
* @see MetaField
* @see Field
*/
public final class DocumentContext implements Serializable {
private static final long serialVersionUID = -5266444935902652687L;
/** Группа справочников */
public final Group group;
/** Справочник */
public final Dictionary dictionary;
/** МЕТА-информация поля справочника */
public final MetaField metaField;
/** Значение поля справочника */
public final Field field;
public DocumentContext(Group group, Dictionary dictionary, MetaField metaField, Field field) {
this.group = group;
this.dictionary = dictionary;
this.metaField = metaField;
this.field = field;
}
@Override
public int hashCode() {
int result = group.hashCode();
result = 31 * result + dictionary.hashCode();
result = 31 * result + metaField.hashCode();
result = 31 * result + field.hashCode();
return result;
}
@Override
public boolean equals(Object o) {
if (this == o) {
return true;
}
if (o == null || getClass() != o.getClass()) {
return false;
}
DocumentContext that = (DocumentContext) o;
if (!group.equals(that.group)) {
return false;
}
if (!dictionary.equals(that.dictionary)) {
return false;
}
if (!metaField.equals(that.metaField)) {
return false;
}
if (!field.equals(that.field)) {
return false;
}
return true;
}
}