Package adams.data.conversion
Class JsonToSpreadSheet
- java.lang.Object
-
- adams.core.logging.LoggingObject
-
- adams.core.logging.CustomLoggingLevelObject
-
- adams.core.option.AbstractOptionHandler
-
- adams.data.conversion.AbstractConversion
-
- adams.data.conversion.JsonToSpreadSheet
-
- All Implemented Interfaces:
AdditionalInformationHandler
,CleanUpHandler
,Destroyable
,GlobalInfoSupporter
,LoggingLevelHandler
,LoggingSupporter
,OptionHandler
,QuickInfoSupporter
,ShallowCopySupporter<AbstractConversion>
,SizeOfHandler
,Stoppable
,Conversion
,Serializable
public class JsonToSpreadSheet extends AbstractConversion
Turns a JSON object into a spreadsheet, essentially flattening it.
-logging-level <OFF|SEVERE|WARNING|INFO|CONFIG|FINE|FINER|FINEST> (property: loggingLevel) The logging level for outputting errors and debugging output. default: WARNING
-prefix <java.lang.String> (property: prefix) The prefix to use for the generated columns. default:
-left-pad <boolean> (property: leftPad) If enabled, the index in the arrays gets left-padded with zeroes. default: false
- Version:
- $Revision$
- Author:
- fracpete (fracpete at waikato dot ac dot nz)
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected boolean
m_LeftPad
whether to left-pad the index of arrays with 0s.protected String
m_Prefix
the prefix to use for the column names.-
Fields inherited from class adams.data.conversion.AbstractConversion
m_Input, m_Output, m_Owner, m_Stopped
-
Fields inherited from class adams.core.option.AbstractOptionHandler
m_OptionManager
-
Fields inherited from class adams.core.logging.LoggingObject
m_Logger, m_LoggingIsEnabled, m_LoggingLevel
-
-
Constructor Summary
Constructors Constructor Description JsonToSpreadSheet()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Class
accepts()
Returns the class that is accepted as input.void
defineOptions()
Adds options to the internal list of options.protected Object
doConvert()
Performs the actual conversion.protected void
flatten(String path, net.minidev.json.JSONArray json, SpreadSheet sheet, Row header)
Flattens the JSON object.protected void
flatten(String path, net.minidev.json.JSONObject json, SpreadSheet sheet, Row header)
Flattens the JSON object.Class
generates()
Returns the class that is generated as output.boolean
getLeftPad()
Returns whether the array indices get left-padded with zeroes.String
getPrefix()
Returns the prefix to use for the columns.String
getQuickInfo()
Returns a quick info about the actor, which will be displayed in the GUI.String
globalInfo()
Returns a string describing the object.String
leftPadTipText()
Returns the tip text for this property.String
prefixTipText()
Returns the tip text for this property.void
setLeftPad(boolean value)
Sets whether to left-pad the array indices with zeroes.void
setPrefix(String value)
Sets the prefix to use for the columns.-
Methods inherited from class adams.data.conversion.AbstractConversion
checkData, cleanUp, convert, getAdditionalInformation, getInput, getInput, getOutput, getOutput, getOwner, reset, setInput, setOwner, shallowCopy, shallowCopy, stopExecution
-
Methods inherited from class adams.core.option.AbstractOptionHandler
cleanUpOptions, destroy, finishInit, getDefaultLoggingLevel, getOptionManager, initialize, loggingLevelTipText, newOptionManager, setLoggingLevel, toCommandLine, toString
-
Methods inherited from class adams.core.logging.LoggingObject
configureLogger, getLogger, getLoggingLevel, initializeLogging, isLoggingEnabled, sizeOf
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface adams.core.logging.LoggingLevelHandler
getLoggingLevel
-
-
-
-
Field Detail
-
m_Prefix
protected String m_Prefix
the prefix to use for the column names.
-
m_LeftPad
protected boolean m_LeftPad
whether to left-pad the index of arrays with 0s.
-
-
Method Detail
-
globalInfo
public String globalInfo()
Returns a string describing the object.- Specified by:
globalInfo
in interfaceGlobalInfoSupporter
- Specified by:
globalInfo
in classAbstractOptionHandler
- Returns:
- a description suitable for displaying in the gui
-
defineOptions
public void defineOptions()
Adds options to the internal list of options.- Specified by:
defineOptions
in interfaceOptionHandler
- Overrides:
defineOptions
in classAbstractOptionHandler
-
setPrefix
public void setPrefix(String value)
Sets the prefix to use for the columns.- Parameters:
value
- the prefix
-
getPrefix
public String getPrefix()
Returns the prefix to use for the columns.- Returns:
- the prefix
-
prefixTipText
public String prefixTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
setLeftPad
public void setLeftPad(boolean value)
Sets whether to left-pad the array indices with zeroes.- Parameters:
value
- true if to pad
-
getLeftPad
public boolean getLeftPad()
Returns whether the array indices get left-padded with zeroes.- Returns:
- true if to pad
-
leftPadTipText
public String leftPadTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
getQuickInfo
public String getQuickInfo()
Returns a quick info about the actor, which will be displayed in the GUI.- Specified by:
getQuickInfo
in interfaceQuickInfoSupporter
- Overrides:
getQuickInfo
in classAbstractConversion
- Returns:
- null if no info available, otherwise short string
-
accepts
public Class accepts()
Returns the class that is accepted as input.- Specified by:
accepts
in interfaceConversion
- Specified by:
accepts
in classAbstractConversion
- Returns:
- the class
-
generates
public Class generates()
Returns the class that is generated as output.- Specified by:
generates
in interfaceConversion
- Specified by:
generates
in classAbstractConversion
- Returns:
- the class
-
flatten
protected void flatten(String path, net.minidev.json.JSONArray json, SpreadSheet sheet, Row header)
Flattens the JSON object.- Parameters:
json
- the array to flattenpath
- the current pathsheet
- the sheet to add it toheader
- the header row
-
flatten
protected void flatten(String path, net.minidev.json.JSONObject json, SpreadSheet sheet, Row header)
Flattens the JSON object.- Parameters:
json
- the object to flattenpath
- the current pathsheet
- the sheet to add it toheader
- the header row
-
doConvert
protected Object doConvert() throws Exception
Performs the actual conversion.- Specified by:
doConvert
in classAbstractConversion
- Returns:
- the converted data
- Throws:
Exception
- if something goes wrong with the conversion
-
-