Class TdbXmlRecord
- All Implemented Interfaces:
com.tietoenator.trip.jxp.internal.utils.DOMSink
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic enum
The IOMode enum represents various ways that TRIPxml import and export operations can take place.static enum
For TRIPxml, indicates the type of document that is stored in the record. -
Constructor Summary
ConstructorsConstructorDescriptionTdbXmlRecord
(TdbSession session) Constructor, creates a blank TRIPxml record container.TdbXmlRecord
(TdbSession session, TdbDatabaseDesign design, boolean createFields) Constructor, associates the record with the provided database design.TdbXmlRecord
(TdbSession session, String name, boolean createFields) Constructor, associates the record with thenamed TRIPxml database. -
Method Summary
Modifier and TypeMethodDescriptionvoid
clear
(boolean all) Clear any existing state from the TdbXmlRecord instance.Get the name of the exported file.boolean
Indicates if the exported XML document is to have hit markup applied.Get the IO mode to use with this record.int
The number of the TCP port to use for network streaming based import and export TRIPxml operations.Returns the stream that receives data from the XML record.Get the type of document this record contains.boolean
Determines if a binary copy of an imported XML document is to be stored, or only the parsed version of it.Get the URL alias for the document.Returns the URL base of the document, i.e.boolean
Determines if XML documents are to be validated upon import.boolean
Indicates if this record is a TRIPxml record.void
Prepares to export the contents of the record.void
Prepares to export the contents of the record to the specified stream.void
prepareExport
(String fileOrDir) Prepares to export the contents of the record to a file.void
prepareImport
(InputStream stream, TdbXmlRecord.XmlRecordType type, String fileName) Prepare to import a document into a TRIPxml database.void
setHitMarkup
(boolean hitMarkup) Indicates if the exported XML document is to have hit markup applied.void
Set the IO mode to use with this record.void
setNetworkStreamPort
(int port) The number of the TCP port to use for network streaming based import and export TRIPxml operations.void
Set the type of document to retrieve.void
setStoreCopy
(boolean enable) Determines if a binary copy of an imported XML document is to be stored, or only the parsed version of it.void
setUrlAlias
(String urlAlias) Set the URL alias for the document.void
setValidate
(boolean enable) Determines if XML documents are to be validated upon import.Methods inherited from class com.tietoenator.trip.jxp.data.TdbRecord
addToTemplate, addToTemplate, addToTemplate, appendComponent, commit, copy, copy, delete, deleteComponent, deleteComponent, get, get, getCategories, getComponent, getComponent, getDatabaseName, getFieldTemplates, getHead, getIndexOnCommit, getNlpInfo, getRank, getRawRank, getRecordId, getRecordName, getTimeStamp, insertAseList, isChanged, isDeleted, isGraphRecord, lock, parts, removeFromTemplate, setDatabaseName, setIndexOnCommit, setPartId, setPartNameField, setRecordId, setRecordName, setRecordNameField, setRecordNumberField, setRetrieveHead, setRetrieveParts, setTemplateMarkup, unlock, updateAseList
Methods inherited from class com.tietoenator.trip.jxp.TdbMessageProvider
codeList, getLastCode, getLastMessage, hasMessages, messageList, resetMessages
Methods inherited from class com.tietoenator.trip.jxp.session.TdbSessionObject
cancel, getSession, isCancelable, setCancelable
-
Constructor Details
-
TdbXmlRecord
Constructor, creates a blank TRIPxml record container.- Parameters:
session
- Active session- Throws:
TdbException
-
TdbXmlRecord
public TdbXmlRecord(TdbSession session, TdbDatabaseDesign design, boolean createFields) throws TdbException Constructor, associates the record with the provided database design.- Parameters:
session
- Active sessiondesign
- Database designcreateFields
- If true, the constructor will automatically create a retrieval template using all fields from the database design.- Throws:
TdbException
-
TdbXmlRecord
Constructor, associates the record with thenamed TRIPxml database.- Parameters:
session
- Active sessionname
- Name of the TRIPxml database.createFields
- If true, the constructor will automatically create a retrieval template using all fields from the database design.- Throws:
TdbException
-
-
Method Details
-
getInputOutputMode
Get the IO mode to use with this record. -
setInputOutputMode
Set the IO mode to use with this record. -
getRecordType
Get the type of document this record contains. -
setRecordType
Set the type of document to retrieve. To retrieve a record contining JSON or XML data, this property should be set to the format to return the data as; either XML or JSON (regardless of the original format of the data). Assigning this property not applicable for records containing binary (NONXML) data. -
getHitMarkup
public boolean getHitMarkup()Indicates if the exported XML document is to have hit markup applied. This property is used when the TdbXmlRecord instance is applied as a retrieval template for a TdbRecordSet. -
setHitMarkup
public void setHitMarkup(boolean hitMarkup) Indicates if the exported XML document is to have hit markup applied. This property is used when the TdbXmlRecord instance is applied as a retrieval template for a TdbRecordSet. -
getNetworkStreamPort
public int getNetworkStreamPort()The number of the TCP port to use for network streaming based import and export TRIPxml operations. A value of 0 (zero) will cause a port number to be dynamically allocated. -
setNetworkStreamPort
public void setNetworkStreamPort(int port) The number of the TCP port to use for network streaming based import and export TRIPxml operations. A value of 0 (zero) will cause a port number to be dynamically allocated.- Parameters:
port
- Port number to use with network streaming I/O. If there is a firewall between the client and the server, make sure that you specify a port number from a range that is enabled in the firewall. Remember to set the InputOutputMode property to IOMode.Stream in order to use network streaming. Also remember that in multithreaded situations, there may be multiple TdbXmlRecord exports and imports active simultaneously. Unless the port number is set to 0 (zero), the application is in such cases responsble for making sure that only available port numbers are used.
-
getFileName
Get the name of the exported file. This property is only given usable values when record contents has been exported with IOMode set to IOMode.Stream when the Export(String) method has been called with a directory name. This property then contains the full name of the exported file. -
getValidate
public boolean getValidate()Determines if XML documents are to be validated upon import.- Returns:
- True if validation is to take place.
-
setValidate
public void setValidate(boolean enable) Determines if XML documents are to be validated upon import.- Parameters:
enable
- Pass true if validation is to take place.
-
getStoreCopy
public boolean getStoreCopy()Determines if a binary copy of an imported XML document is to be stored, or only the parsed version of it.- Returns:
- True (default) if a binary copy is to be stored.
-
setStoreCopy
public void setStoreCopy(boolean enable) Determines if a binary copy of an imported XML document is to be stored, or only the parsed version of it.- Parameters:
enable
- Pass true to store a binary copy.
-
getUrlAlias
Get the URL alias for the document.The URL alias is the "real" URL of the document, i.e. the URL that is used to link two documents together via an XLink, for example. The URL alias is identical to the URL base and filename unless the URL alias has been explicitly specified to be something else during the import process.
-
setUrlAlias
Set the URL alias for the document.The URL alias is the "real" URL of the document, i.e. the URL that is used to link two documents together via an XLink, for example. The URL alias is identical to the URL base and filename unless the URL alias has been explicitly specified to be something else during the import process.
-
getUrlBase
Returns the URL base of the document, i.e. the URL without the actual file name.If the document was imported from a file (e.g. using the server-side txput tool), then this property will be empty.
- Throws:
TdbException
-
getOutputStream
Returns the stream that receives data from the XML record.- Returns:
- OutputStream with data from the XML record, or null if no stream is available. This is usually the stream as specified as argument to prepareExport(OutputStream). However, in certain circumstances (e.g. when no file and no stream has been specified) this property may return a ByteArrayOutputStream instance with the received data.
-
clear
public void clear(boolean all) Clear any existing state from the TdbXmlRecord instance. -
isXmlRecord
public boolean isXmlRecord()Indicates if this record is a TRIPxml record.- Overrides:
isXmlRecord
in classTdbRecord
- Returns:
- True if the record is an XML database record
-
prepareImport
public void prepareImport(InputStream stream, TdbXmlRecord.XmlRecordType type, String fileName) throws TdbException Prepare to import a document into a TRIPxml database.- Parameters:
stream
- The stream from which to load the data to import.type
- The type of the file (if known)fileName
- The name of the file (if known)- Throws:
TdbException
-This method does not perform the actual import operation. This is done when the Commit method is called. This allows for other data to be sent as well (e.g. assigning values to custom TRIPxml database fields).
If the 'type' parameter is XmlRecordType.UNKNOWN, then this method will try to ascertain the type from the provided file name. If the file name is not specified and the type is XmlRecordType.UNKNOWN, this method will throw an exception.
Direct file import is possible if the stream parameter is set to null, the filename refers to an existing local file and the TRIPjxp application is running on the same machine as the TRIP server the current session is connected to. Also remember to call setInputOutputMode with IOMode.File as argument before calling Commit.
-
prepareExport
public void prepareExport()Prepares to export the contents of the record.This method does not perform the actual export operation. This is done when the get() method is called.
The method getOutputStream() returns a ByteArrayOutputStream with the receieved data when the get() method has completed successfully.
This method is only compatible with the IOMode.Inline I/O mode. Do not try to override this by assigning any other value the InputOutputMode property.
-
prepareExport
Prepares to export the contents of the record to the specified stream.- Parameters:
os
- Stream to export to.This method does not perform the actual export operation. This is done when the get() method is called.
This method is not compatible with the file-based I/O. Avoid IOMode.File as argument when calling the setInputOutputMode() method.
-
prepareExport
Prepares to export the contents of the record to a file.- Parameters:
fileOrDir
- Name of file or directoryIf the 'fileOrDir' parameter is a directory, the name of the file (minus the path) will be read from the D_DOCNAME field and created in the specified directory. In any other case, the 'fileOrDir' parameter MUST refer to a file (which does not have to exist yet, of course).
- Throws:
TdbException
-