package fi.otavanopisto.muikku.schooldata.entity;
import java.time.OffsetDateTime;
import java.util.Date;
import java.util.Set;
import fi.otavanopisto.muikku.schooldata.SchoolDataIdentifier;
import fi.otavanopisto.muikku.search.annotations.IndexField;
import fi.otavanopisto.muikku.search.annotations.IndexId;
import fi.otavanopisto.muikku.search.annotations.Indexable;
import fi.otavanopisto.muikku.search.annotations.IndexableFieldMultiField;
import fi.otavanopisto.muikku.search.annotations.IndexableFieldOption;
@Indexable (
name = "Workspace",
options = {
@IndexableFieldOption (
name = "name",
type = "multi_field",
multiFields = {
@IndexableFieldMultiField(name = "name", type="string", index = "analyzed"),
@IndexableFieldMultiField(name = "untouched", type="string", index = "not_analyzed")
}
),
@IndexableFieldOption (
name = "educationTypeIdentifier",
type = "multi_field",
multiFields = {
@IndexableFieldMultiField(name = "educationTypeIdentifier", type="string", index = "analyzed"),
@IndexableFieldMultiField(name = "untouched", type="string", index = "not_analyzed")
}
),
@IndexableFieldOption (
name = "curriculumIdentifiers",
type = "multi_field",
multiFields = {
@IndexableFieldMultiField(name = "curriculumIdentifiers", type="string", index = "analyzed"),
@IndexableFieldMultiField(name = "untouched", type="string", index = "not_analyzed")
}
),
@IndexableFieldOption (
name = "workspaceTypeId",
type = "multi_field",
multiFields = {
@IndexableFieldMultiField(name = "workspaceTypeId", type="string", index = "analyzed"),
@IndexableFieldMultiField(name = "untouched", type="string", index = "not_analyzed")
}
),
@IndexableFieldOption (
name = "access",
type = "string",
index = "not_analyzed"
)
}
)
public interface Workspace extends SchoolDataEntity {
public String getIdentifier();
public String getName();
public void setName(String name);
public String getNameExtension();
public void setNameExtension(String name);
public String getDescription();
public void setDescription(String description);
public OffsetDateTime getBeginDate();
public void setBeginDate(OffsetDateTime beginDate);
public OffsetDateTime getEndDate();
public void setEndDate(OffsetDateTime endDate);
@IndexField (
toId = true
)
public SchoolDataIdentifier getWorkspaceTypeId();
public void setWorkspaceTypeId(SchoolDataIdentifier workspaceTypeId);
// TODO: public String getCourseIdentifierDataSource();
public String getCourseIdentifierIdentifier();
public Date getLastModified();
public String getSubjectIdentifier();
@IndexField (
toId = true
)
public SchoolDataIdentifier getEducationTypeIdentifier();
public Double getLength();
public String getLengthUnitIdentifier();
public boolean isArchived();
public boolean isEvaluationFeeApplicable();
public String getViewLink();
@IndexId
public String getSearchId();
@IndexField (
toId = true
)
public Set<SchoolDataIdentifier> getCurriculumIdentifiers();
}