Class TdbXmlRecord

  • All Implemented Interfaces:
    com.tietoenator.trip.jxp.internal.utils.DOMSink

    public class TdbXmlRecord
    extends TdbRecord
    Container and manipulation logic for a record from a TRIPxml database.
    • Constructor Detail

      • TdbXmlRecord

        public TdbXmlRecord​(TdbSession session)
                     throws TdbException
        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 session
        design - Database design
        createFields - If true, the constructor will automatically create a retrieval template using all fields from the database design.
        Throws:
        TdbException
      • TdbXmlRecord

        public TdbXmlRecord​(TdbSession session,
                            java.lang.String name,
                            boolean createFields)
                     throws TdbException
        Constructor, associates the record with thenamed TRIPxml database.
        Parameters:
        session - Active session
        name - 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 Detail

      • getInputOutputMode

        public TdbXmlRecord.IOMode getInputOutputMode()
        Get the IO mode to use with this record.
      • setInputOutputMode

        public void setInputOutputMode​(TdbXmlRecord.IOMode mode)
        Set the IO mode to use with this record.
      • setRecordType

        public void setRecordType​(TdbXmlRecord.XmlRecordType type)
        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

        public java.lang.String 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

        public java.lang.String 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

        public void setUrlAlias​(java.lang.String urlAlias)
        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

        public java.lang.String getUrlBase()
                                    throws TdbException
        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

        public java.io.OutputStream 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.
        Overrides:
        clear in class TdbRecord
        Parameters:
        all - If true, all state is cleared, including the database with which the record is associated, the record name/ID, etc. If false, the record structure is initialized, but the basic state of the record's association is maintained.
      • isXmlRecord

        public boolean isXmlRecord()
        Indicates if this record is a TRIPxml record.
        Overrides:
        isXmlRecord in class TdbRecord
        Returns:
        True if the record is an XML database record
      • prepareImport

        public void prepareImport​(java.io.InputStream stream,
                                  TdbXmlRecord.XmlRecordType type,
                                  java.lang.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

        public void prepareExport​(java.io.OutputStream os)
        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

        public void prepareExport​(java.lang.String fileOrDir)
                           throws TdbException
        Prepares to export the contents of the record to a file.
        Parameters:
        fileOrDir - Name of file or directory

        If 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