public class HtsgetRequest
extends java.lang.Object
This class currently supports version 1.2.0 of the spec as defined in https://samtools.github.io/hts-specs/htsget.html
| Modifier and Type | Field and Description |
|---|---|
protected static java.lang.String |
ACCEPT_TYPE |
protected HtsgetClass |
dataClass |
protected java.util.EnumSet<HtsgetRequestField> |
fields |
protected HtsgetFormat |
format |
protected Locatable |
interval |
protected java.util.Set<java.lang.String> |
notags |
protected static java.lang.String |
PROTOCOL_VERSION |
protected java.util.Set<java.lang.String> |
tags |
static Interval |
UNMAPPED_UNPLACED_INTERVAL |
| Constructor and Description |
|---|
HtsgetRequest(java.net.URI endpoint)
Construct an HtsgetRequest from a URI identifying a valid resource on a htsget server
|
| Modifier and Type | Method and Description |
|---|---|
void |
addField(HtsgetRequestField field) |
void |
addFields(java.util.Collection<HtsgetRequestField> fields) |
void |
addNotag(java.lang.String notag) |
void |
addNotags(java.util.Collection<java.lang.String> notags) |
void |
addTag(java.lang.String tag) |
void |
addTags(java.util.Collection<java.lang.String> tags) |
protected java.net.HttpURLConnection |
getConnection() |
HtsgetClass |
getDataClass() |
java.net.URI |
getEndpoint() |
java.util.Set<HtsgetRequestField> |
getFields() |
HtsgetFormat |
getFormat() |
Locatable |
getInterval() |
java.util.Set<java.lang.String> |
getNoTags() |
HtsgetResponse |
getResponse()
Attempt to make htsget request and return response if there are no errors
|
java.util.Set<java.lang.String> |
getTags() |
void |
setDataClass(HtsgetClass dataClass) |
void |
setFormat(HtsgetFormat format) |
void |
setInterval(Locatable interval) |
java.net.URI |
toURI()
Convert request to a URI which can be used to make http request for data blocks
|
void |
validateRequest()
Validates that the user query obeys htsget spec
|
HtsgetRequest |
withDataClass(HtsgetClass dataClass) |
HtsgetRequest |
withField(HtsgetRequestField field) |
HtsgetRequest |
withFields(java.util.Collection<HtsgetRequestField> fields) |
HtsgetRequest |
withFormat(HtsgetFormat format) |
HtsgetRequest |
withInterval(Locatable interval) |
HtsgetRequest |
withNotag(java.lang.String notag) |
HtsgetRequest |
withNotags(java.util.Collection<java.lang.String> notags) |
HtsgetRequest |
withTag(java.lang.String tag) |
HtsgetRequest |
withTags(java.util.Collection<java.lang.String> tags) |
public static final Interval UNMAPPED_UNPLACED_INTERVAL
protected static final java.lang.String PROTOCOL_VERSION
protected static final java.lang.String ACCEPT_TYPE
protected HtsgetFormat format
protected HtsgetClass dataClass
protected Locatable interval
protected final java.util.EnumSet<HtsgetRequestField> fields
protected final java.util.Set<java.lang.String> tags
protected final java.util.Set<java.lang.String> notags
public HtsgetRequest(java.net.URI endpoint)
endpoint - the full URI including both server path and the ID of the htsget resource,
without the filtering parameters defined in the htsget spec such as start or referenceNamepublic java.net.URI getEndpoint()
public HtsgetFormat getFormat()
public HtsgetClass getDataClass()
public Locatable getInterval()
public java.util.Set<HtsgetRequestField> getFields()
public java.util.Set<java.lang.String> getTags()
public java.util.Set<java.lang.String> getNoTags()
public void setFormat(HtsgetFormat format)
public void setDataClass(HtsgetClass dataClass)
public void setInterval(Locatable interval)
public void addField(HtsgetRequestField field)
public void addFields(java.util.Collection<HtsgetRequestField> fields)
public void addTag(java.lang.String tag)
public void addTags(java.util.Collection<java.lang.String> tags)
public void addNotag(java.lang.String notag)
public void addNotags(java.util.Collection<java.lang.String> notags)
public HtsgetRequest withFormat(HtsgetFormat format)
public HtsgetRequest withDataClass(HtsgetClass dataClass)
public HtsgetRequest withInterval(Locatable interval)
public HtsgetRequest withField(HtsgetRequestField field)
public HtsgetRequest withFields(java.util.Collection<HtsgetRequestField> fields)
public HtsgetRequest withTag(java.lang.String tag)
public HtsgetRequest withTags(java.util.Collection<java.lang.String> tags)
public HtsgetRequest withNotag(java.lang.String notag)
public HtsgetRequest withNotags(java.util.Collection<java.lang.String> notags)
public void validateRequest()
public java.net.URI toURI()
protected java.net.HttpURLConnection getConnection()
public HtsgetResponse getResponse()