MarkLogic Connect
MarkLogic Connect Client API Collection
Public Member Functions | List of all members
mlclient::GenericTextDocumentContent Class Reference

This class is a specialisation of ITextDocumentContent (and thus IDocumentContent) that holds all data in a string. More...

#include <DocumentContent.hpp>

Inheritance diagram for mlclient::GenericTextDocumentContent:
mlclient::ITextDocumentContent mlclient::IDocumentContent

Public Member Functions

MLCLIENT_API GenericTextDocumentContent ()
 Constructs a blank text document. More...
 
MLCLIENT_API GenericTextDocumentContent (const GenericTextDocumentContent &doc)
 deep copy constructor
 
MLCLIENT_API GenericTextDocumentContent (const ITextDocumentContent &doc)
 deep copy constructor
 
virtual MLCLIENT_API ~GenericTextDocumentContent ()
 Pure virtual destructor.
 
MLCLIENT_API void setContent (std::string content) override
 Sets the textual content for this document. More...
 
MLCLIENT_API std::istream * getStream () const override
 Returns the content of this TextDocumentContent as an istream. More...
 
MLCLIENT_API std::string getContent () const override
 Returns the content as a string. More...
 
MLCLIENT_API std::string getMimeType () const override
 Returns the MIME type of this content. More...
 
MLCLIENT_API void setMimeType (const std::string &mt) override
 Sets the MIME type of this content. More...
 
MLCLIENT_API int getLength () const override
 Returns the number of characters in the content string. More...
 
MLCLIENT_API IDocumentNavigatornavigate (bool firstElementAsRoot=false) const override
 Returns a way to navigate the document. More...
 
- Public Member Functions inherited from mlclient::IDocumentContent
MLCLIENT_API IDocumentContent ()
 
virtual MLCLIENT_API ~IDocumentContent ()=0
 

Additional Inherited Members

- Static Public Attributes inherited from mlclient::IDocumentContent
static MLCLIENT_API const std::string MIME_JSON
 
static MLCLIENT_API const std::string MIME_XML
 

Detailed Description

This class is a specialisation of ITextDocumentContent (and thus IDocumentContent) that holds all data in a string.

Since
8.0.0
Date
2016-05-12
Author
Adam Fowler adam..nosp@m.fowl.nosp@m.er@ma.nosp@m.rklo.nosp@m.gic.c.nosp@m.om

This class is used as the data holding class for all JSON and XML documents. There are no JSON or XML specialisations (Use the JSON and XML helper classes in the utilities namespace instead to create, modify, or introspect the JSON/XML.)

Constructor & Destructor Documentation

MLCLIENT_API mlclient::GenericTextDocumentContent::GenericTextDocumentContent ( )

Constructs a blank text document.

The type will by default be set to JSON. Content will by default be an empty string.

Member Function Documentation

MLCLIENT_API std::string mlclient::GenericTextDocumentContent::getContent ( ) const
overridevirtual

Returns the content as a string.

Returns
The string representation of the content.

Implements mlclient::IDocumentContent.

MLCLIENT_API int mlclient::GenericTextDocumentContent::getLength ( ) const
overridevirtual

Returns the number of characters in the content string.

Note
This number does not include C null characters - just std::string length
Returns
The number of characters in the string. Does not include C null character.

Implements mlclient::ITextDocumentContent.

MLCLIENT_API std::string mlclient::GenericTextDocumentContent::getMimeType ( ) const
overridevirtual

Returns the MIME type of this content.

E.g. application/json or application/xml

Returns
The string representation of the MIME type. Does not include encoding (always assume UTF-8 for MarkLogic Server)

Implements mlclient::IDocumentContent.

MLCLIENT_API std::istream* mlclient::GenericTextDocumentContent::getStream ( ) const
overridevirtual

Returns the content of this TextDocumentContent as an istream.

This allows streaming to a HTTP request of this string content.

Note
The stream may be read from asynchronously, so do not destroy the underlying content after returning the stream.
Returns
An istream instance wrapping the content of this Text Document Content instance

Implements mlclient::IDocumentContent.

MLCLIENT_API IDocumentNavigator* mlclient::GenericTextDocumentContent::navigate ( bool  firstElementAsRoot = false) const
overridevirtual

Returns a way to navigate the document.

Since
8.0.2
Date
2016-07-30
Returns
The IDocumentNavigator instance to navigate this document with.

Implements mlclient::ITextDocumentContent.

MLCLIENT_API void mlclient::GenericTextDocumentContent::setContent ( std::string  content)
overridevirtual

Sets the textual content for this document.

Assumes content string is non null

Parameters
[in]Thestring content to copy in to this object.

Implements mlclient::ITextDocumentContent.

MLCLIENT_API void mlclient::GenericTextDocumentContent::setMimeType ( const std::string &  mt)
overridevirtual

Sets the MIME type of this content.

E.g. application/json or application/xml

Parameters
[in]mtThe mimetype string, not including encoding, for this Document Content. Assume always UTF-8 for MarkLogic Server)

Implements mlclient::IDocumentContent.


The documentation for this class was generated from the following file: