Package weka.core.converters
Class JSONLoader
- java.lang.Object
-
- weka.core.converters.AbstractLoader
-
- weka.core.converters.AbstractFileLoader
-
- weka.core.converters.JSONLoader
-
- All Implemented Interfaces:
java.io.Serializable,BatchConverter,FileSourcedConverter,Loader,URLSourcedLoader,EnvironmentHandler,RevisionHandler
public class JSONLoader extends AbstractFileLoader implements BatchConverter, URLSourcedLoader
Reads a source that is in the JSON format.
It automatically decompresses the data if the extension is '.json.gz'.
For more information, see JSON homepage:
http://www.json.org/- Version:
- $Revision: 8034 $
- Author:
- FracPete (fracpete at waikato dot ac dot nz)
- See Also:
Loader, Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface weka.core.converters.Loader
Loader.StructureNotReadyException
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.StringFILE_EXTENSIONthe file extension.static java.lang.StringFILE_EXTENSION_COMPRESSEDthe extension for compressed files.-
Fields inherited from interface weka.core.converters.Loader
BATCH, INCREMENTAL, NONE
-
-
Constructor Summary
Constructors Constructor Description JSONLoader()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description InstancesgetDataSet()Return the full data set.java.lang.StringgetFileDescription()Returns a description of the file type.java.lang.StringgetFileExtension()Get the file extension used for JSON files.java.lang.String[]getFileExtensions()Gets all the file extensions used for this type of file.InstancegetNextInstance(Instances structure)JSONLoader is unable to process a data set incrementally.java.lang.StringgetRevision()Returns the revision string.InstancesgetStructure()Determines and returns (if possible) the structure (internally the header) of the data set as an empty set of instances.java.lang.StringglobalInfo()Returns a string describing this Loader.static voidmain(java.lang.String[] args)Main method.voidreset()Resets the Loader ready to read a new data set.java.lang.StringretrieveURL()Return the current url.voidsetSource(java.io.File file)Resets the Loader object and sets the source of the data set to be the supplied File object.voidsetSource(java.io.InputStream in)Resets the Loader object and sets the source of the data set to be the supplied InputStream.voidsetSource(java.net.URL url)Resets the Loader object and sets the source of the data set to be the supplied url.voidsetURL(java.lang.String url)Set the url to load from.-
Methods inherited from class weka.core.converters.AbstractFileLoader
getUseRelativePath, retrieveFile, runFileLoader, setEnvironment, setFile, setUseRelativePath, useRelativePathTipText
-
Methods inherited from class weka.core.converters.AbstractLoader
setRetrieval
-
-
-
-
Method Detail
-
globalInfo
public java.lang.String globalInfo()
Returns a string describing this Loader.- Returns:
- a description of the Loader suitable for displaying in the explorer/experimenter gui
-
getFileExtension
public java.lang.String getFileExtension()
Get the file extension used for JSON files.- Specified by:
getFileExtensionin interfaceFileSourcedConverter- Returns:
- the file extension
-
getFileExtensions
public java.lang.String[] getFileExtensions()
Gets all the file extensions used for this type of file.- Specified by:
getFileExtensionsin interfaceFileSourcedConverter- Returns:
- the file extensions
-
getFileDescription
public java.lang.String getFileDescription()
Returns a description of the file type.- Specified by:
getFileDescriptionin interfaceFileSourcedConverter- Returns:
- a short file description
-
reset
public void reset() throws java.io.IOExceptionResets the Loader ready to read a new data set.- Specified by:
resetin interfaceLoader- Overrides:
resetin classAbstractFileLoader- Throws:
java.io.IOException- if something goes wrong
-
setSource
public void setSource(java.io.File file) throws java.io.IOExceptionResets the Loader object and sets the source of the data set to be the supplied File object.- Specified by:
setSourcein interfaceLoader- Overrides:
setSourcein classAbstractFileLoader- Parameters:
file- the source file.- Throws:
java.io.IOException- if an error occurs
-
setSource
public void setSource(java.net.URL url) throws java.io.IOExceptionResets the Loader object and sets the source of the data set to be the supplied url.- Parameters:
url- the source url.- Throws:
java.io.IOException- if an error occurs
-
setURL
public void setURL(java.lang.String url) throws java.io.IOExceptionSet the url to load from.- Specified by:
setURLin interfaceURLSourcedLoader- Parameters:
url- the url to load from- Throws:
java.io.IOException- if the url can't be set.
-
retrieveURL
public java.lang.String retrieveURL()
Return the current url.- Specified by:
retrieveURLin interfaceURLSourcedLoader- Returns:
- the current url
-
setSource
public void setSource(java.io.InputStream in) throws java.io.IOExceptionResets the Loader object and sets the source of the data set to be the supplied InputStream.- Specified by:
setSourcein interfaceLoader- Overrides:
setSourcein classAbstractLoader- Parameters:
in- the source InputStream.- Throws:
java.io.IOException- if initialization of reader fails.
-
getStructure
public Instances getStructure() throws java.io.IOException
Determines and returns (if possible) the structure (internally the header) of the data set as an empty set of instances.- Specified by:
getStructurein interfaceLoader- Specified by:
getStructurein classAbstractLoader- Returns:
- the structure of the data set as an empty set of Instances
- Throws:
java.io.IOException- if an error occurs
-
getDataSet
public Instances getDataSet() throws java.io.IOException
Return the full data set. If the structure hasn't yet been determined by a call to getStructure then method should do so before processing the rest of the data set.- Specified by:
getDataSetin interfaceLoader- Specified by:
getDataSetin classAbstractLoader- Returns:
- the structure of the data set as an empty set of Instances
- Throws:
java.io.IOException- if there is no source or parsing fails
-
getNextInstance
public Instance getNextInstance(Instances structure) throws java.io.IOException
JSONLoader is unable to process a data set incrementally.- Specified by:
getNextInstancein interfaceLoader- Specified by:
getNextInstancein classAbstractLoader- Parameters:
structure- ignored- Returns:
- never returns without throwing an exception
- Throws:
java.io.IOException- always. JSONLoader is unable to process a data set incrementally.
-
getRevision
public java.lang.String getRevision()
Returns the revision string.- Specified by:
getRevisionin interfaceRevisionHandler- Returns:
- the revision
-
main
public static void main(java.lang.String[] args)
Main method.- Parameters:
args- should contain the name of an input file.
-
-