Package uk.ac.starlink.ttools.taplint
Class DatalinkValidator
- java.lang.Object
-
- uk.ac.starlink.ttools.taplint.DatalinkValidator
-
public class DatalinkValidator extends java.lang.ObjectPerforms validation of DataLink documents. AReporterinstance is supplied at construction time, and all validation reports are reported via that object.The DataLink document is loaded as a DOM rather than using SAX to stream it. DataLink documents are expected to be of a fairly manageable size, so this should be OK.
- Since:
- 23 Nov 2017
- Author:
- Mark Taylor
- See Also:
- DataLink-1.0
-
-
Constructor Summary
Constructors Constructor Description DatalinkValidator(Reporter reporter)Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description uk.ac.starlink.vo.datalink.LinksDoccreateLinksDoc(uk.ac.starlink.votable.VODocument vodoc)Parses a VOTable document as a DataLink structure, reporting any validation issues as it does.voidvalidateDatalink(java.io.InputStream in)Performs checks on a DataLink document read from a given input stream.voidvalidateDatalink(java.net.URL url, boolean isLinksService, boolean mustSucceed)Performs checks on a DataLink document obtained from a URL.voidvalidateDatalink(uk.ac.starlink.votable.VODocument vodoc)Performs DataLink-specific validation on a VOTable DOM.voidvalidateLinksDoc(uk.ac.starlink.vo.datalink.LinksDoc linksDoc)Performs checks on a LinksDoc object.
-
-
-
Constructor Detail
-
DatalinkValidator
public DatalinkValidator(Reporter reporter)
Constructor.- Parameters:
reporter- destination for validation methods
-
-
Method Detail
-
validateDatalink
public void validateDatalink(java.net.URL url, boolean isLinksService, boolean mustSucceed)Performs checks on a DataLink document obtained from a URL.The supplied URL is assumed to refer to a GET request expected to return a DataLink document, and with no RESPONSEFORMAT parameter (which means that the result must be a TABLEDATA-serialization VOTable). Checks on the HTTP and DALI behaviour are run in addition to the DataLink checks themselves. Additional checks may be performed if the service is asserted to be a DataLink {links} service.
- Parameters:
url- document URLisLinksService- true iff the service is supposed to conform to ivo://ivoa.net/std/DataLink#links-1.0mustSucceed- if true, the service is not supposed to return an error response
-
validateDatalink
public void validateDatalink(java.io.InputStream in)
Performs checks on a DataLink document read from a given input stream.The supplied InputStream is assumed to be the result of a DataLink request with no RESPONSEFORMAT parameter, which means that the result must a TABLEDATA-serialization VOTable.
- Parameters:
in- input stream
-
validateDatalink
public void validateDatalink(uk.ac.starlink.votable.VODocument vodoc)
Performs DataLink-specific validation on a VOTable DOM.- Parameters:
vodoc- DOM assumed to contain a document conforming to the DataLink standard
-
validateLinksDoc
public void validateLinksDoc(uk.ac.starlink.vo.datalink.LinksDoc linksDoc)
Performs checks on a LinksDoc object. This performs additional validation on an object which has already been parsed as a DataLink document.- Parameters:
linksDoc- object representing DataLink document
-
createLinksDoc
public uk.ac.starlink.vo.datalink.LinksDoc createLinksDoc(uk.ac.starlink.votable.VODocument vodoc)
Parses a VOTable document as a DataLink structure, reporting any validation issues as it does.- Parameters:
vodoc- DOM assumed to conform to DataLink rules- Returns:
- parsed represntation of the DataLink document
-
-