BDE 4.14.0 Production release
Loading...
Searching...
No Matches
baljsn::DecoderOptions Class Reference

#include <baljsn_decoderoptions.h>

Public Types

enum  {
  ATTRIBUTE_ID_MAX_DEPTH = 0 , ATTRIBUTE_ID_SKIP_UNKNOWN_ELEMENTS = 1 , ATTRIBUTE_ID_VALIDATE_INPUT_IS_UTF8 = 2 , ATTRIBUTE_ID_ALLOW_CONSECUTIVE_SEPARATORS = 3 ,
  ATTRIBUTE_ID_ALLOW_FORM_FEED_AS_WHITESPACE = 4 , ATTRIBUTE_ID_ALLOW_UNESCAPED_CONTROL_CHARACTERS = 5
}
 
enum  { NUM_ATTRIBUTES = 6 }
 
enum  {
  ATTRIBUTE_INDEX_MAX_DEPTH = 0 , ATTRIBUTE_INDEX_SKIP_UNKNOWN_ELEMENTS = 1 , ATTRIBUTE_INDEX_VALIDATE_INPUT_IS_UTF8 = 2 , ATTRIBUTE_INDEX_ALLOW_CONSECUTIVE_SEPARATORS = 3 ,
  ATTRIBUTE_INDEX_ALLOW_FORM_FEED_AS_WHITESPACE = 4 , ATTRIBUTE_INDEX_ALLOW_UNESCAPED_CONTROL_CHARACTERS = 5
}
 

Public Member Functions

 DecoderOptions ()
 Create an object of type DecoderOptions having the default value.
 
 DecoderOptions (const DecoderOptions &original)
 
 ~DecoderOptions ()
 Destroy this object.
 
DecoderOptionsoperator= (const DecoderOptions &rhs)
 Assign to this object the value of the specified rhs object.
 
void reset ()
 
template<typename t_MANIPULATOR >
int manipulateAttributes (t_MANIPULATOR &manipulator)
 
template<typename t_MANIPULATOR >
int manipulateAttribute (t_MANIPULATOR &manipulator, int id)
 
template<typename t_MANIPULATOR >
int manipulateAttribute (t_MANIPULATOR &manipulator, const char *name, int nameLength)
 
void setMaxDepth (int value)
 Set the "MaxDepth" attribute of this object to the specified value.
 
void setSkipUnknownElements (bool value)
 
void setValidateInputIsUtf8 (bool value)
 
void setAllowConsecutiveSeparators (bool value)
 
void setAllowFormFeedAsWhitespace (bool value)
 
void setAllowUnescapedControlCharacters (bool value)
 
bsl::ostream & print (bsl::ostream &stream, int level=0, int spacesPerLevel=4) const
 
template<typename t_ACCESSOR >
int accessAttributes (t_ACCESSOR &accessor) const
 
template<typename t_ACCESSOR >
int accessAttribute (t_ACCESSOR &accessor, int id) const
 
template<typename t_ACCESSOR >
int accessAttribute (t_ACCESSOR &accessor, const char *name, int nameLength) const
 
int maxDepth () const
 Return the value of the "MaxDepth" attribute of this object.
 
bool skipUnknownElements () const
 
bool validateInputIsUtf8 () const
 
bool allowConsecutiveSeparators () const
 
bool allowFormFeedAsWhitespace () const
 
bool allowUnescapedControlCharacters () const
 

Static Public Member Functions

static const bdlat_AttributeInfolookupAttributeInfo (int id)
 
static const bdlat_AttributeInfolookupAttributeInfo (const char *name, int nameLength)
 

Static Public Attributes

static const char CLASS_NAME []
 
static const int DEFAULT_INITIALIZER_MAX_DEPTH
 
static const bool DEFAULT_INITIALIZER_SKIP_UNKNOWN_ELEMENTS
 
static const bool DEFAULT_INITIALIZER_VALIDATE_INPUT_IS_UTF8
 
static const bool DEFAULT_INITIALIZER_ALLOW_CONSECUTIVE_SEPARATORS
 
static const bool DEFAULT_INITIALIZER_ALLOW_FORM_FEED_AS_WHITESPACE
 
static const bool DEFAULT_INITIALIZER_ALLOW_UNESCAPED_CONTROL_CHARACTERS
 
static const bdlat_AttributeInfo ATTRIBUTE_INFO_ARRAY []
 

Friends

bool operator== (const DecoderOptions &lhs, const DecoderOptions &rhs)
 
bool operator!= (const DecoderOptions &lhs, const DecoderOptions &rhs)
 Returns !(lhs == rhs)
 
bsl::ostream & operator<< (bsl::ostream &stream, const DecoderOptions &rhs)
 
template<typename t_HASH_ALGORITHM >
void hashAppend (t_HASH_ALGORITHM &hashAlg, const DecoderOptions &object)
 

Detailed Description

Options for controlling the JSON decoding process.

See baljsn_decoderoptions

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
ATTRIBUTE_ID_MAX_DEPTH 
ATTRIBUTE_ID_SKIP_UNKNOWN_ELEMENTS 
ATTRIBUTE_ID_VALIDATE_INPUT_IS_UTF8 
ATTRIBUTE_ID_ALLOW_CONSECUTIVE_SEPARATORS 
ATTRIBUTE_ID_ALLOW_FORM_FEED_AS_WHITESPACE 
ATTRIBUTE_ID_ALLOW_UNESCAPED_CONTROL_CHARACTERS 

◆ anonymous enum

anonymous enum
Enumerator
NUM_ATTRIBUTES 

◆ anonymous enum

anonymous enum
Enumerator
ATTRIBUTE_INDEX_MAX_DEPTH 
ATTRIBUTE_INDEX_SKIP_UNKNOWN_ELEMENTS 
ATTRIBUTE_INDEX_VALIDATE_INPUT_IS_UTF8 
ATTRIBUTE_INDEX_ALLOW_CONSECUTIVE_SEPARATORS 
ATTRIBUTE_INDEX_ALLOW_FORM_FEED_AS_WHITESPACE 
ATTRIBUTE_INDEX_ALLOW_UNESCAPED_CONTROL_CHARACTERS 

Constructor & Destructor Documentation

◆ DecoderOptions() [1/2]

baljsn::DecoderOptions::DecoderOptions ( )

◆ DecoderOptions() [2/2]

baljsn::DecoderOptions::DecoderOptions ( const DecoderOptions original)

Create an object of type DecoderOptions having the value of the specified original object.

◆ ~DecoderOptions()

baljsn::DecoderOptions::~DecoderOptions ( )

Member Function Documentation

◆ accessAttribute() [1/2]

template<typename t_ACCESSOR >
int baljsn::DecoderOptions::accessAttribute ( t_ACCESSOR &  accessor,
const char *  name,
int  nameLength 
) const

Invoke the specified accessor on the (non-modifiable) attribute of this object indicated by the specified name of the specified nameLength, supplying accessor with the corresponding attribute information structure. Return the value returned from the invocation of accessor if name identifies an attribute of this class, and -1 otherwise.

◆ accessAttribute() [2/2]

template<typename t_ACCESSOR >
int baljsn::DecoderOptions::accessAttribute ( t_ACCESSOR &  accessor,
int  id 
) const

Invoke the specified accessor on the (non-modifiable) attribute of this object indicated by the specified id, supplying accessor with the corresponding attribute information structure. Return the value returned from the invocation of accessor if id identifies an attribute of this class, and -1 otherwise.

◆ accessAttributes()

template<typename t_ACCESSOR >
int baljsn::DecoderOptions::accessAttributes ( t_ACCESSOR &  accessor) const

Invoke the specified accessor sequentially on each (non-modifiable) attribute of this object, supplying accessor with the corresponding attribute information structure until such invocation returns a non-zero value. Return the value from the last invocation of accessor (i.e., the invocation that terminated the sequence).

◆ allowConsecutiveSeparators()

bool baljsn::DecoderOptions::allowConsecutiveSeparators ( ) const
inline

Return the value of the "AllowConsecutiveSeparators" attribute of this object.

◆ allowFormFeedAsWhitespace()

bool baljsn::DecoderOptions::allowFormFeedAsWhitespace ( ) const
inline

Return the value of the "AllowFormFeedAsWhitespace" attribute of this object.

◆ allowUnescapedControlCharacters()

bool baljsn::DecoderOptions::allowUnescapedControlCharacters ( ) const
inline

Return the value of the "AllowUnescapedControlCharacters" attribute of this object.

◆ lookupAttributeInfo() [1/2]

static const bdlat_AttributeInfo * baljsn::DecoderOptions::lookupAttributeInfo ( const char *  name,
int  nameLength 
)
static

Return attribute information for the attribute indicated by the specified name of the specified nameLength if the attribute exists, and 0 otherwise.

◆ lookupAttributeInfo() [2/2]

static const bdlat_AttributeInfo * baljsn::DecoderOptions::lookupAttributeInfo ( int  id)
static

Return attribute information for the attribute indicated by the specified id if the attribute exists, and 0 otherwise.

◆ manipulateAttribute() [1/2]

template<typename t_MANIPULATOR >
int baljsn::DecoderOptions::manipulateAttribute ( t_MANIPULATOR &  manipulator,
const char *  name,
int  nameLength 
)

Invoke the specified manipulator on the address of the (modifiable) attribute indicated by the specified name of the specified nameLength, supplying manipulator with the corresponding attribute information structure. Return the value returned from the invocation of manipulator if name identifies an attribute of this class, and -1 otherwise.

◆ manipulateAttribute() [2/2]

template<typename t_MANIPULATOR >
int baljsn::DecoderOptions::manipulateAttribute ( t_MANIPULATOR &  manipulator,
int  id 
)

Invoke the specified manipulator on the address of the (modifiable) attribute indicated by the specified id, supplying manipulator with the corresponding attribute information structure. Return the value returned from the invocation of manipulator if id identifies an attribute of this class, and -1 otherwise.

◆ manipulateAttributes()

template<typename t_MANIPULATOR >
int baljsn::DecoderOptions::manipulateAttributes ( t_MANIPULATOR &  manipulator)

Invoke the specified manipulator sequentially on the address of each (modifiable) attribute of this object, supplying manipulator with the corresponding attribute information structure until such invocation returns a non-zero value. Return the value from the last invocation of manipulator (i.e., the invocation that terminated the sequence).

◆ maxDepth()

int baljsn::DecoderOptions::maxDepth ( ) const
inline

◆ operator=()

DecoderOptions & baljsn::DecoderOptions::operator= ( const DecoderOptions rhs)

◆ print()

bsl::ostream & baljsn::DecoderOptions::print ( bsl::ostream &  stream,
int  level = 0,
int  spacesPerLevel = 4 
) const

Format this object to the specified output stream at the optionally specified indentation level and return a reference to the modifiable stream. If level is specified, optionally specify spacesPerLevel, the number of spaces per indentation level for this and all of its nested objects. Each line is indented by the absolute value of level * spacesPerLevel. If level is negative, suppress indentation of the first line. If spacesPerLevel is negative, suppress line breaks and format the entire output on one line. If stream is initially invalid, this operation has no effect. Note that a trailing newline is provided in multiline mode only.

◆ reset()

void baljsn::DecoderOptions::reset ( )

Reset this object to the default value (i.e., its value upon default construction).

◆ setAllowConsecutiveSeparators()

void baljsn::DecoderOptions::setAllowConsecutiveSeparators ( bool  value)
inline

Set the "AllowConsecutiveSeparators" attribute of this object to the specified value.

◆ setAllowFormFeedAsWhitespace()

void baljsn::DecoderOptions::setAllowFormFeedAsWhitespace ( bool  value)
inline

Set the "AllowFormFeedAsWhitespace" attribute of this object to the specified value.

◆ setAllowUnescapedControlCharacters()

void baljsn::DecoderOptions::setAllowUnescapedControlCharacters ( bool  value)
inline

Set the "AllowUnescapedControlCharacters" attribute of this object to the specified value.

◆ setMaxDepth()

void baljsn::DecoderOptions::setMaxDepth ( int  value)
inline

◆ setSkipUnknownElements()

void baljsn::DecoderOptions::setSkipUnknownElements ( bool  value)
inline

Set the "SkipUnknownElements" attribute of this object to the specified value.

◆ setValidateInputIsUtf8()

void baljsn::DecoderOptions::setValidateInputIsUtf8 ( bool  value)
inline

Set the "ValidateInputIsUtf8" attribute of this object to the specified value.

◆ skipUnknownElements()

bool baljsn::DecoderOptions::skipUnknownElements ( ) const
inline

Return the value of the "SkipUnknownElements" attribute of this object.

◆ validateInputIsUtf8()

bool baljsn::DecoderOptions::validateInputIsUtf8 ( ) const
inline

Return the value of the "ValidateInputIsUtf8" attribute of this object.

Friends And Related Symbol Documentation

◆ hashAppend

template<typename t_HASH_ALGORITHM >
void hashAppend ( t_HASH_ALGORITHM &  hashAlg,
const DecoderOptions object 
)
friend

Pass the specified object to the specified hashAlg. This function integrates with the bslh modular hashing system and effectively provides a bsl::hash specialization for DecoderOptions.

◆ operator!=

bool operator!= ( const DecoderOptions lhs,
const DecoderOptions rhs 
)
friend

◆ operator<<

bsl::ostream & operator<< ( bsl::ostream &  stream,
const DecoderOptions rhs 
)
friend

Format the specified rhs to the specified output stream and return a reference to the modifiable stream.

◆ operator==

bool operator== ( const DecoderOptions lhs,
const DecoderOptions rhs 
)
friend

Return true if the specified lhs and rhs attribute objects have the same value, and false otherwise. Two attribute objects have the same value if each respective attribute has the same value.

Member Data Documentation

◆ ATTRIBUTE_INFO_ARRAY

const bdlat_AttributeInfo baljsn::DecoderOptions::ATTRIBUTE_INFO_ARRAY[]
static

◆ CLASS_NAME

const char baljsn::DecoderOptions::CLASS_NAME[]
static

◆ DEFAULT_INITIALIZER_ALLOW_CONSECUTIVE_SEPARATORS

const bool baljsn::DecoderOptions::DEFAULT_INITIALIZER_ALLOW_CONSECUTIVE_SEPARATORS
static

◆ DEFAULT_INITIALIZER_ALLOW_FORM_FEED_AS_WHITESPACE

const bool baljsn::DecoderOptions::DEFAULT_INITIALIZER_ALLOW_FORM_FEED_AS_WHITESPACE
static

◆ DEFAULT_INITIALIZER_ALLOW_UNESCAPED_CONTROL_CHARACTERS

const bool baljsn::DecoderOptions::DEFAULT_INITIALIZER_ALLOW_UNESCAPED_CONTROL_CHARACTERS
static

◆ DEFAULT_INITIALIZER_MAX_DEPTH

const int baljsn::DecoderOptions::DEFAULT_INITIALIZER_MAX_DEPTH
static

◆ DEFAULT_INITIALIZER_SKIP_UNKNOWN_ELEMENTS

const bool baljsn::DecoderOptions::DEFAULT_INITIALIZER_SKIP_UNKNOWN_ELEMENTS
static

◆ DEFAULT_INITIALIZER_VALIDATE_INPUT_IS_UTF8

const bool baljsn::DecoderOptions::DEFAULT_INITIALIZER_VALIDATE_INPUT_IS_UTF8
static

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