package cz.cuni.mff.d3s.been.persistence; import cz.cuni.mff.d3s.been.core.persistence.EntityID; import org.codehaus.jackson.annotate.JsonTypeInfo; import java.io.Serializable; import java.util.HashSet; import java.util.Map; import java.util.Set; /** * An object representing a fetch (select) query into the persistence layer. */ @JsonTypeInfo(use = JsonTypeInfo.Id.CLASS, include = JsonTypeInfo.As.PROPERTY, property = "@class") class FetchQuery extends SkeletalQuery implements Serializable { private Set<String> mappings; private FetchQuery() { } FetchQuery(EntityID entityID, Map<String, SkeletalAttributeFilter> selectors) { super(entityID, selectors); this.mappings = null; } FetchQuery(EntityID entityID, Map<String, SkeletalAttributeFilter> selectors, Set<String> mappings) { super(entityID, selectors); this.mappings = mappings; } @Override public QueryType getType() { return QueryType.FETCH; } @Override public Set<String> getMappings() { return mappings; } }