Package gov.nasa.pds.objectAccess
Class ObjectAccess
- java.lang.Object
-
- gov.nasa.pds.objectAccess.ObjectAccess
-
- All Implemented Interfaces:
ObjectProvider
public class ObjectAccess extends java.lang.Object implements ObjectProvider
TheObjectAccessclass is a point of entry into parsed PDS (including PDS 4/XML-schema-labeled) objects.- Author:
- dcberrio
-
-
Constructor Summary
Constructors Constructor Description ObjectAccess()Creates a new instance with the current local directory as the archive root path.ObjectAccess(java.io.File archiveRoot)Constructs anObjectAccessobject and sets the archive root path.ObjectAccess(java.lang.String archiveRoot)Constructs anObjectAccessobject and sets the archive root path.ObjectAccess(java.net.URL archiveRoot)Constructs anObjectAccessobject and sets the archive root path.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.StringgetArchiveRoot()Gets the root file path of the object archive(s) for this ObjectProvider.java.util.List<Array2DImage>getArray2DImages(FileAreaObservational observationalFileArea)Returns a list of Array2DImage objects given an observation file area object.java.util.List<Array3DImage>getArray3DImages(FileAreaObservational observationalFileArea)Returns a list of Array3DImage objects given an observation file area object.java.util.List<Array3DSpectrum>getArray3DSpectrums(FileAreaObservational observationalFileArea)Returns a list of Array3DSpectrum objects given an observation file area object.java.util.List<Array>getArrays(FileArea fileArea)Gets a list of Array objects from a file area.java.util.List<Array>getArrays(FileAreaBrowse fileArea)Gets a list of Array objects from a browse file area.java.util.List<Array>getArrays(FileAreaObservational fileArea)Gets a list of Array objects from an observational file area.java.util.List<java.lang.Object>getDataObjects(Product product)java.util.List<FieldBinary>getFieldBinaries(TableBinary table)Returns a list of FieldBinary objects given a table binary object.java.util.List<java.lang.Object>getFieldBinaryAndGroupFieldBinaries(TableBinary table)Returns a list of FieldBinary and GroupFieldBinary objects given a table binary object.java.util.List<java.lang.Object>getFieldCharacterAndGroupFieldCharacters(TableCharacter table)Returns a list of FieldCharacter and GroupFieldCharacter objects given a table character object.java.util.List<FieldCharacter>getFieldCharacters(TableCharacter table)Returns a list of FieldCharacter objects given a table character object.java.util.List<java.lang.Object>getFieldDelimitedAndGroupFieldDelimiteds(TableDelimited table)Returns a list of FieldDelimited and GroupFieldDelimited objects given a table delimited object.java.util.List<FieldDelimited>getFieldDelimiteds(TableDelimited table)Returns a list of FieldDelimited objects given a table delimited object.java.util.List<GroupFieldDelimited>getGroupFieldDelimiteds(TableDelimited table)Returns a list of GroupFieldDelimited objects given a table delimited object.java.util.List<java.lang.Object>getHeaderObjects(FileArea fileArea)java.util.List<java.lang.Object>getHeaderObjects(FileAreaAncillary anciilaryFileArea)java.util.List<java.lang.Object>getHeaderObjects(FileAreaBrowse browseFileArea)java.util.List<java.lang.Object>getHeaderObjects(FileAreaMetadata fileArea)java.util.List<java.lang.Object>getHeaderObjects(FileAreaObservational observationalFileArea)Returns a list of Header objectsjava.util.List<java.lang.Object>getHeaderObjects(FileAreaObservationalSupplemental fileArea)java.util.List<java.lang.Object>getHeaderObjects(FileAreaUpdate fileArea)longgetObjectLength(java.lang.Object obj)ProductObservationalgetObservationalProduct(java.lang.String relativeXmlFilePath)Gets an instance of ProductObservational.longgetOffset(java.lang.Object obj)<T> TgetProduct(java.io.File labelFile, java.lang.Class<T> productClass)Reads a product label of a specified class, and returns an instance of that class as a result.<T> TgetProduct(java.net.URL label, java.lang.Class<T> productClass)Reads a product label of a specified class, and returns an instance of that class as a result.java.net.URLgetRoot()Gets the root file path of the object archive(s) for this ObjectProvider.java.util.List<TableBinary>getTableBinaries(FileAreaObservational observationalFileArea)Returns a list of TableBinary objects given an observation file area object.java.util.List<TableCharacter>getTableCharacters(FileAreaObservational observationalFileArea)Returns a list of TableCharacter objects given an observation file area object.java.util.List<TableDelimited>getTableDelimiteds(FileAreaObservational observationalFileArea)Returns a list of TableDelimited objects given an observation file area object.java.util.List<java.lang.Object>getTableObjects(FileArea fileArea)java.util.List<java.lang.Object>getTableObjects(FileAreaAncillary anciilaryFileArea)java.util.List<java.lang.Object>getTableObjects(FileAreaBrowse browseFileArea)java.util.List<java.lang.Object>getTableObjects(FileAreaObservational observationalFileArea)Returns a list of table objects.java.util.List<java.lang.Object>getTableObjects(FileAreaObservationalSupplemental observationalFileAreaSupplemental)java.util.List<java.lang.Object>getTablesAndImages(FileArea fileArea)java.util.List<java.lang.Object>getTablesAndImages(FileAreaBrowse browseFileArea)java.util.List<java.lang.Object>getTablesAndImages(FileAreaObservational observationalFileArea)XMLLabelContextgetXMLLabelContext()static booleanisHeaderObject(java.lang.Object obj)static booleanisTableObject(java.lang.Object obj)booleanisTextObject(java.lang.Object obj)voidsetObservationalProduct(java.lang.String relativeXmlFilePath, ProductObservational product)Writes a label given the product XML file.voidsetObservationalProduct(java.lang.String relativeXmlFilePath, ProductObservational product, XMLLabelContext labelContext)Writes a label given the product XML file.
-
-
-
Constructor Detail
-
ObjectAccess
public ObjectAccess() throws java.net.MalformedURLException, java.net.URISyntaxExceptionCreates a new instance with the current local directory as the archive root path.- Throws:
java.net.URISyntaxExceptionjava.net.MalformedURLException
-
ObjectAccess
public ObjectAccess(java.lang.String archiveRoot) throws java.net.MalformedURLException, java.net.URISyntaxExceptionConstructs anObjectAccessobject and sets the archive root path.- Parameters:
archiveRoot- the archive root path- Throws:
java.net.URISyntaxExceptionjava.net.MalformedURLException
-
ObjectAccess
public ObjectAccess(java.io.File archiveRoot) throws java.net.MalformedURLException, java.net.URISyntaxExceptionConstructs anObjectAccessobject and sets the archive root path.- Parameters:
archiveRoot- the archive root path- Throws:
java.net.URISyntaxExceptionjava.net.MalformedURLException
-
ObjectAccess
public ObjectAccess(java.net.URL archiveRoot) throws java.net.URISyntaxException, java.net.MalformedURLExceptionConstructs anObjectAccessobject and sets the archive root path.- Parameters:
archiveRoot- the archive root path- Throws:
java.net.URISyntaxExceptionjava.net.MalformedURLException
-
-
Method Detail
-
getProduct
public <T> T getProduct(java.io.File labelFile, java.lang.Class<T> productClass) throws ParseExceptionDescription copied from interface:ObjectProviderReads a product label of a specified class, and returns an instance of that class as a result.- Specified by:
getProductin interfaceObjectProvider- Type Parameters:
T- the product object class- Parameters:
labelFile- the file containing the XML labelproductClass- the product object class- Returns:
- an instance of the product object
- Throws:
ParseException- if there is an error parsing the label
-
getProduct
public <T> T getProduct(java.net.URL label, java.lang.Class<T> productClass) throws ParseExceptionDescription copied from interface:ObjectProviderReads a product label of a specified class, and returns an instance of that class as a result.- Specified by:
getProductin interfaceObjectProvider- Type Parameters:
T- the product object class- Parameters:
label- the url containing the XML labelproductClass- the product object class- Returns:
- an instance of the product object
- Throws:
ParseException- if there is an error parsing the label
-
getObservationalProduct
public ProductObservational getObservationalProduct(java.lang.String relativeXmlFilePath)
Description copied from interface:ObjectProviderGets an instance of ProductObservational.- Specified by:
getObservationalProductin interfaceObjectProvider- Parameters:
relativeXmlFilePath- the XML file path and name of the product to obtain, relative to the ObjectAccess archive root- Returns:
- an instance of ProductObservational
-
setObservationalProduct
public void setObservationalProduct(java.lang.String relativeXmlFilePath, ProductObservational product) throws java.lang.ExceptionDescription copied from interface:ObjectProviderWrites a label given the product XML file.- Specified by:
setObservationalProductin interfaceObjectProvider- Parameters:
relativeXmlFilePath- the XML file path and name of the product to set, relative to the ObjectAccess archive rootproduct- The Product_Observational object to serialize into an XML file.- Throws:
java.lang.Exception
-
setObservationalProduct
public void setObservationalProduct(java.lang.String relativeXmlFilePath, ProductObservational product, XMLLabelContext labelContext) throws java.lang.ExceptionWrites a label given the product XML file. This method assumes that the label will be written to the local file system. Therefore, the protocol of the ObjectAccess archive root must be a 'file'.- Specified by:
setObservationalProductin interfaceObjectProvider- Parameters:
relativeXmlFilePath- the XML file path and name of the product to set, relative to the ObjectAccess archive rootproduct- The Product_Observational object to serialize into an XML file.labelContext- A context to use when creating the XML file. Can be set to null.- Throws:
java.lang.Exception- If there was an error creating the XML file.
-
getDataObjects
public java.util.List<java.lang.Object> getDataObjects(Product product) throws ParseException
- Specified by:
getDataObjectsin interfaceObjectProvider- Throws:
ParseException
-
getArrays
public java.util.List<Array> getArrays(FileArea fileArea)
Description copied from interface:ObjectProviderGets a list of Array objects from a file area.- Specified by:
getArraysin interfaceObjectProvider- Parameters:
fileArea- the file area.- Returns:
- an list of arrays, which may be empty.
-
getArrays
public java.util.List<Array> getArrays(FileAreaObservational fileArea)
Description copied from interface:ObjectProviderGets a list of Array objects from an observational file area.- Specified by:
getArraysin interfaceObjectProvider- Parameters:
fileArea- the observational file area.- Returns:
- an list of arrays, which may be empty.
-
getArrays
public java.util.List<Array> getArrays(FileAreaBrowse fileArea)
Description copied from interface:ObjectProviderGets a list of Array objects from a browse file area.- Specified by:
getArraysin interfaceObjectProvider- Parameters:
fileArea- the browse file area- Returns:
- an list of arrays, which may be empty
-
getArray2DImages
public java.util.List<Array2DImage> getArray2DImages(FileAreaObservational observationalFileArea)
Description copied from interface:ObjectProviderReturns a list of Array2DImage objects given an observation file area object.- Specified by:
getArray2DImagesin interfaceObjectProvider- Returns:
- a list of image objects
-
getArray3DImages
public java.util.List<Array3DImage> getArray3DImages(FileAreaObservational observationalFileArea)
Description copied from interface:ObjectProviderReturns a list of Array3DImage objects given an observation file area object.- Specified by:
getArray3DImagesin interfaceObjectProvider- Returns:
- a list of image objects
-
getArray3DSpectrums
public java.util.List<Array3DSpectrum> getArray3DSpectrums(FileAreaObservational observationalFileArea)
Description copied from interface:ObjectProviderReturns a list of Array3DSpectrum objects given an observation file area object.- Specified by:
getArray3DSpectrumsin interfaceObjectProvider- Returns:
- a list of image objects
-
getHeaderObjects
public java.util.List<java.lang.Object> getHeaderObjects(FileArea fileArea)
- Specified by:
getHeaderObjectsin interfaceObjectProvider
-
getHeaderObjects
public java.util.List<java.lang.Object> getHeaderObjects(FileAreaAncillary anciilaryFileArea)
- Specified by:
getHeaderObjectsin interfaceObjectProvider
-
getHeaderObjects
public java.util.List<java.lang.Object> getHeaderObjects(FileAreaObservational observationalFileArea)
Description copied from interface:ObjectProviderReturns a list of Header objects- Specified by:
getHeaderObjectsin interfaceObjectProvider- Returns:
- a list of Header objects
-
getHeaderObjects
public java.util.List<java.lang.Object> getHeaderObjects(FileAreaBrowse browseFileArea)
- Specified by:
getHeaderObjectsin interfaceObjectProvider
-
getHeaderObjects
public java.util.List<java.lang.Object> getHeaderObjects(FileAreaObservationalSupplemental fileArea)
-
getHeaderObjects
public java.util.List<java.lang.Object> getHeaderObjects(FileAreaMetadata fileArea)
-
getHeaderObjects
public java.util.List<java.lang.Object> getHeaderObjects(FileAreaUpdate fileArea)
-
getTableObjects
public java.util.List<java.lang.Object> getTableObjects(FileArea fileArea)
- Specified by:
getTableObjectsin interfaceObjectProvider
-
getTableObjects
public java.util.List<java.lang.Object> getTableObjects(FileAreaObservational observationalFileArea)
Description copied from interface:ObjectProviderReturns a list of table objects.- Specified by:
getTableObjectsin interfaceObjectProvider- Returns:
- a list of table objects
-
getTableObjects
public java.util.List<java.lang.Object> getTableObjects(FileAreaBrowse browseFileArea)
- Specified by:
getTableObjectsin interfaceObjectProvider
-
getTableObjects
public java.util.List<java.lang.Object> getTableObjects(FileAreaAncillary anciilaryFileArea)
- Specified by:
getTableObjectsin interfaceObjectProvider
-
getTableObjects
public java.util.List<java.lang.Object> getTableObjects(FileAreaObservationalSupplemental observationalFileAreaSupplemental)
- Specified by:
getTableObjectsin interfaceObjectProvider
-
getTablesAndImages
public java.util.List<java.lang.Object> getTablesAndImages(FileArea fileArea)
- Specified by:
getTablesAndImagesin interfaceObjectProvider
-
getTablesAndImages
public java.util.List<java.lang.Object> getTablesAndImages(FileAreaObservational observationalFileArea)
- Specified by:
getTablesAndImagesin interfaceObjectProvider
-
getTablesAndImages
public java.util.List<java.lang.Object> getTablesAndImages(FileAreaBrowse browseFileArea)
- Specified by:
getTablesAndImagesin interfaceObjectProvider
-
getTableCharacters
public java.util.List<TableCharacter> getTableCharacters(FileAreaObservational observationalFileArea)
Description copied from interface:ObjectProviderReturns a list of TableCharacter objects given an observation file area object.- Specified by:
getTableCharactersin interfaceObjectProvider- Returns:
- list of TableCharacter objects
-
getTableBinaries
public java.util.List<TableBinary> getTableBinaries(FileAreaObservational observationalFileArea)
Description copied from interface:ObjectProviderReturns a list of TableBinary objects given an observation file area object.- Specified by:
getTableBinariesin interfaceObjectProvider- Returns:
- list of TableBinary objects
-
getTableDelimiteds
public java.util.List<TableDelimited> getTableDelimiteds(FileAreaObservational observationalFileArea)
Description copied from interface:ObjectProviderReturns a list of TableDelimited objects given an observation file area object.- Specified by:
getTableDelimitedsin interfaceObjectProvider- Returns:
- list of TableDelimited objects
-
getFieldCharacters
public java.util.List<FieldCharacter> getFieldCharacters(TableCharacter table)
Description copied from interface:ObjectProviderReturns a list of FieldCharacter objects given a table character object.- Specified by:
getFieldCharactersin interfaceObjectProvider- Parameters:
table- TableCharacter object- Returns:
- list of FieldCharacter objects
-
getFieldDelimiteds
public java.util.List<FieldDelimited> getFieldDelimiteds(TableDelimited table)
Description copied from interface:ObjectProviderReturns a list of FieldDelimited objects given a table delimited object.- Specified by:
getFieldDelimitedsin interfaceObjectProvider- Parameters:
table- TableDelimited object- Returns:
- list of FieldDelimited objects
-
getGroupFieldDelimiteds
public java.util.List<GroupFieldDelimited> getGroupFieldDelimiteds(TableDelimited table)
Description copied from interface:ObjectProviderReturns a list of GroupFieldDelimited objects given a table delimited object.- Specified by:
getGroupFieldDelimitedsin interfaceObjectProvider- Parameters:
table- TableDelimited object- Returns:
- list of GroupFieldDelimited objects
-
getFieldDelimitedAndGroupFieldDelimiteds
public java.util.List<java.lang.Object> getFieldDelimitedAndGroupFieldDelimiteds(TableDelimited table)
Description copied from interface:ObjectProviderReturns a list of FieldDelimited and GroupFieldDelimited objects given a table delimited object.- Specified by:
getFieldDelimitedAndGroupFieldDelimitedsin interfaceObjectProvider- Parameters:
table- TableDelimited object- Returns:
- list of FieldDelimited and GroupFieldDelimited objects
-
getFieldCharacterAndGroupFieldCharacters
public java.util.List<java.lang.Object> getFieldCharacterAndGroupFieldCharacters(TableCharacter table)
Description copied from interface:ObjectProviderReturns a list of FieldCharacter and GroupFieldCharacter objects given a table character object.- Specified by:
getFieldCharacterAndGroupFieldCharactersin interfaceObjectProvider- Parameters:
table- TableCharacter object- Returns:
- list of FieldCharacter and GroupFieldCharacter objects
-
getFieldBinaryAndGroupFieldBinaries
public java.util.List<java.lang.Object> getFieldBinaryAndGroupFieldBinaries(TableBinary table)
Description copied from interface:ObjectProviderReturns a list of FieldBinary and GroupFieldBinary objects given a table binary object.- Specified by:
getFieldBinaryAndGroupFieldBinariesin interfaceObjectProvider- Parameters:
table- TableBinary object- Returns:
- list of FieldBinary and GroupFieldBinary objects
-
getFieldBinaries
public java.util.List<FieldBinary> getFieldBinaries(TableBinary table)
Description copied from interface:ObjectProviderReturns a list of FieldBinary objects given a table binary object.- Specified by:
getFieldBinariesin interfaceObjectProvider- Parameters:
table- TableBinary object- Returns:
- list of FieldBinary objects
-
getArchiveRoot
public java.lang.String getArchiveRoot()
Description copied from interface:ObjectProviderGets the root file path of the object archive(s) for this ObjectProvider.- Specified by:
getArchiveRootin interfaceObjectProvider- Returns:
- the root file path of the object archive(s) for this ObjectProvider
-
getRoot
public java.net.URL getRoot()
Description copied from interface:ObjectProviderGets the root file path of the object archive(s) for this ObjectProvider.- Specified by:
getRootin interfaceObjectProvider- Returns:
- the root file path of the object archive(s) for this ObjectProvider
-
getXMLLabelContext
public XMLLabelContext getXMLLabelContext()
-
isTableObject
public static boolean isTableObject(java.lang.Object obj)
-
isHeaderObject
public static boolean isHeaderObject(java.lang.Object obj)
-
isTextObject
public boolean isTextObject(java.lang.Object obj)
-
getOffset
public long getOffset(java.lang.Object obj)
- Specified by:
getOffsetin interfaceObjectProvider
-
getObjectLength
public long getObjectLength(java.lang.Object obj)
- Specified by:
getObjectLengthin interfaceObjectProvider
-
-