Class BaseNJsonWriter<Record>
java.lang.Object
gov.nasa.pds.registry.common.util.json.BaseNJsonWriter<Record>
- Type Parameters:
Record- A data record to write.
- All Implemented Interfaces:
Closeable,AutoCloseable
- Direct Known Subclasses:
DDNJsonWriter
Base abstract class to write data records to a new-line-delimited JSON (NJSON) file.
NJSON file has 2 lines per data record: 1 - primary key, 2 - data record.
This is the file format used by Elasticsearch bulk load API.
- Author:
- karpenko
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidclose()Close file.protected voidnewLine()voidWrite a primary key and a data record.voidWrite a primary key and a data record.abstract voidwriteDataRecord(com.google.gson.stream.JsonWriter jw, Record data) Overwrite this method to write a data record.protected voidWrite primary key
-
Field Details
-
writer
-
action
-
-
Constructor Details
-
BaseNJsonWriter
Constructor- Parameters:
file- output file- Throws:
Exception- an exception
-
-
Method Details
-
writeDataRecord
public abstract void writeDataRecord(com.google.gson.stream.JsonWriter jw, Record data) throws Exception Overwrite this method to write a data record.- Parameters:
jw- JSON writerdata- a record- Throws:
Exception- an exception
-
close
Close file.- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable- Throws:
IOException
-
write
Write a primary key and a data record.- Parameters:
pk- primary keydata- data record- Throws:
Exception- an exception
-
write
Write a primary key and a data record.- Parameters:
pk- primary keydata- data recordaction- "index" / "create"- Throws:
Exception- an exception
-
newLine
- Throws:
Exception
-
writePK
Write primary key- Parameters:
id- primary keyaction- "index" / "create"- Throws:
Exception- an exception
-