8#ifndef INCLUDED_BALXML_ENCODEROPTIONS
9#define INCLUDED_BALXML_ENCODEROPTIONS
43#include <bslalg_typetraits.h>
61#include <bsl_string.h>
63#include <bsl_iosfwd.h>
64#include <bsl_limits.h>
70namespace balxml {
class EncoderOptions; }
102 int d_formattingMode;
105 int d_initialIndentLevel;
108 int d_spacesPerLevel;
118 int d_datetimeFractionalSecondPrecision;
135 bool d_allowControlCharacters;
139 bool d_outputXMLHeader;
143 bool d_outputXSIAlias;
147 bool d_useZAbbreviationForUtc;
247#if defined(BSLS_COMPILERFEATURES_SUPPORT_RVALUE_REFERENCES) \
248 && defined(BSLS_COMPILERFEATURES_SUPPORT_NOEXCEPT)
272#if defined(BSLS_COMPILERFEATURES_SUPPORT_RVALUE_REFERENCES) \
273 && defined(BSLS_COMPILERFEATURES_SUPPORT_NOEXCEPT)
290 template <
typename t_MANIPULATOR>
299 template <
typename t_MANIPULATOR>
308 template <
typename t_MANIPULATOR>
389 bsl::ostream&
print(bsl::ostream& stream,
399 template <
typename t_ACCESSOR>
407 template <
typename t_ACCESSOR>
416 template <
typename t_ACCESSOR>
419 int nameLength)
const;
518template <
typename t_MANIPULATOR>
606template <
typename t_MANIPULATOR>
609 enum { NOT_FOUND = -1 };
665template <
typename t_MANIPULATOR>
667 t_MANIPULATOR& manipulator,
671 enum { NOT_FOUND = -1 };
675 if (0 == attributeInfo) {
685 d_objectNamespace = value;
691 d_schemaLocation = value;
703 d_formattingMode = value;
709 d_initialIndentLevel = value;
715 d_spacesPerLevel = value;
721 d_wrapColumn = value;
727 d_maxDecimalTotalDigits = value;
733 d_maxDecimalFractionDigits = value;
739 d_significantDoubleDigits = value;
745 d_encodingStyle = value;
751 d_allowControlCharacters = value;
757 d_outputXMLHeader = value;
763 d_outputXSIAlias = value;
769 d_datetimeFractionalSecondPrecision = value;
775 d_useZAbbreviationForUtc = value;
779template <
typename t_ACCESSOR>
867template <
typename t_ACCESSOR>
870 enum { NOT_FOUND = -1 };
926template <
typename t_ACCESSOR>
928 t_ACCESSOR& accessor,
930 int nameLength)
const
932 enum { NOT_FOUND = -1 };
936 if (0 == attributeInfo) {
946 return d_objectNamespace;
952 return d_schemaLocation;
964 return d_formattingMode;
970 return d_initialIndentLevel;
976 return d_spacesPerLevel;
988 return d_maxDecimalTotalDigits;
994 return d_maxDecimalFractionDigits;
1000 return d_significantDoubleDigits;
1006 return d_encodingStyle;
1012 return d_allowControlCharacters;
1018 return d_outputXMLHeader;
1024 return d_outputXSIAlias;
1030 return d_datetimeFractionalSecondPrecision;
1036 return d_useZAbbreviationForUtc;
1050 && lhs.
tag() == rhs.
tag()
1071 return !(lhs == rhs);
1076 bsl::ostream& stream,
1079 return rhs.
print(stream, 0, -1);
Definition balxml_encoderoptions.h:88
bool outputXSIAlias() const
Return the value of the "OutputXSIAlias" attribute of this object.
Definition balxml_encoderoptions.h:1022
void setEncodingStyle(EncodingStyle::Value value)
Definition balxml_encoderoptions.h:743
static const bdlat_AttributeInfo ATTRIBUTE_INFO_ARRAY[]
Definition balxml_encoderoptions.h:216
void setSchemaLocation(const bsl::string_view &value)
Definition balxml_encoderoptions.h:689
const bsl::string & schemaLocation() const
Definition balxml_encoderoptions.h:950
static const bdlat_AttributeInfo * lookupAttributeInfo(int id)
int initialIndentLevel() const
Definition balxml_encoderoptions.h:968
void setInitialIndentLevel(int value)
Definition balxml_encoderoptions.h:707
static const bool DEFAULT_INITIALIZER_USE_Z_ABBREVIATION_FOR_UTC
Definition balxml_encoderoptions.h:214
int accessAttribute(t_ACCESSOR &accessor, int id) const
Definition balxml_encoderoptions.h:868
void setFormattingMode(int value)
Definition balxml_encoderoptions.h:701
const bdlb::NullableValue< int > & maxDecimalTotalDigits() const
Definition balxml_encoderoptions.h:986
EncodingStyle::Value encodingStyle() const
Return the value of the "EncodingStyle" attribute of this object.
Definition balxml_encoderoptions.h:1004
const bdlb::NullableValue< int > & maxDecimalFractionDigits() const
Definition balxml_encoderoptions.h:992
void setMaxDecimalTotalDigits(const bdlb::NullableValue< int > &value)
Definition balxml_encoderoptions.h:725
static const bdlat_AttributeInfo * lookupAttributeInfo(const char *name, int nameLength)
static const bool DEFAULT_INITIALIZER_OUTPUT_X_M_L_HEADER
Definition balxml_encoderoptions.h:208
int spacesPerLevel() const
Return the value of the "SpacesPerLevel" attribute of this object.
Definition balxml_encoderoptions.h:974
static const bool DEFAULT_INITIALIZER_OUTPUT_X_S_I_ALIAS
Definition balxml_encoderoptions.h:210
@ ATTRIBUTE_ID_OUTPUT_X_S_I_ALIAS
Definition balxml_encoderoptions.h:165
@ ATTRIBUTE_ID_TAG
Definition balxml_encoderoptions.h:154
@ ATTRIBUTE_ID_WRAP_COLUMN
Definition balxml_encoderoptions.h:158
@ ATTRIBUTE_ID_MAX_DECIMAL_FRACTION_DIGITS
Definition balxml_encoderoptions.h:160
@ ATTRIBUTE_ID_USE_Z_ABBREVIATION_FOR_UTC
Definition balxml_encoderoptions.h:167
@ ATTRIBUTE_ID_ALLOW_CONTROL_CHARACTERS
Definition balxml_encoderoptions.h:163
@ ATTRIBUTE_ID_ENCODING_STYLE
Definition balxml_encoderoptions.h:162
@ ATTRIBUTE_ID_OUTPUT_X_M_L_HEADER
Definition balxml_encoderoptions.h:164
@ ATTRIBUTE_ID_SIGNIFICANT_DOUBLE_DIGITS
Definition balxml_encoderoptions.h:161
@ ATTRIBUTE_ID_SPACES_PER_LEVEL
Definition balxml_encoderoptions.h:157
@ ATTRIBUTE_ID_INITIAL_INDENT_LEVEL
Definition balxml_encoderoptions.h:156
@ ATTRIBUTE_ID_DATETIME_FRACTIONAL_SECOND_PRECISION
Definition balxml_encoderoptions.h:166
@ ATTRIBUTE_ID_SCHEMA_LOCATION
Definition balxml_encoderoptions.h:153
@ ATTRIBUTE_ID_FORMATTING_MODE
Definition balxml_encoderoptions.h:155
@ ATTRIBUTE_ID_OBJECT_NAMESPACE
Definition balxml_encoderoptions.h:152
@ ATTRIBUTE_ID_MAX_DECIMAL_TOTAL_DIGITS
Definition balxml_encoderoptions.h:159
bsl::ostream & print(bsl::ostream &stream, int level=0, int spacesPerLevel=4) const
bool outputXMLHeader() const
Return the value of the "OutputXMLHeader" attribute of this object.
Definition balxml_encoderoptions.h:1016
void setDatetimeFractionalSecondPrecision(int value)
Definition balxml_encoderoptions.h:767
void setSpacesPerLevel(int value)
Definition balxml_encoderoptions.h:713
void setMaxDecimalFractionDigits(const bdlb::NullableValue< int > &value)
Definition balxml_encoderoptions.h:731
@ ATTRIBUTE_INDEX_TAG
Definition balxml_encoderoptions.h:177
@ ATTRIBUTE_INDEX_WRAP_COLUMN
Definition balxml_encoderoptions.h:181
@ ATTRIBUTE_INDEX_OUTPUT_X_S_I_ALIAS
Definition balxml_encoderoptions.h:188
@ ATTRIBUTE_INDEX_MAX_DECIMAL_FRACTION_DIGITS
Definition balxml_encoderoptions.h:183
@ ATTRIBUTE_INDEX_SPACES_PER_LEVEL
Definition balxml_encoderoptions.h:180
@ ATTRIBUTE_INDEX_OBJECT_NAMESPACE
Definition balxml_encoderoptions.h:175
@ ATTRIBUTE_INDEX_INITIAL_INDENT_LEVEL
Definition balxml_encoderoptions.h:179
@ ATTRIBUTE_INDEX_ALLOW_CONTROL_CHARACTERS
Definition balxml_encoderoptions.h:186
@ ATTRIBUTE_INDEX_MAX_DECIMAL_TOTAL_DIGITS
Definition balxml_encoderoptions.h:182
@ ATTRIBUTE_INDEX_USE_Z_ABBREVIATION_FOR_UTC
Definition balxml_encoderoptions.h:190
@ ATTRIBUTE_INDEX_DATETIME_FRACTIONAL_SECOND_PRECISION
Definition balxml_encoderoptions.h:189
@ ATTRIBUTE_INDEX_SCHEMA_LOCATION
Definition balxml_encoderoptions.h:176
@ ATTRIBUTE_INDEX_SIGNIFICANT_DOUBLE_DIGITS
Definition balxml_encoderoptions.h:184
@ ATTRIBUTE_INDEX_OUTPUT_X_M_L_HEADER
Definition balxml_encoderoptions.h:187
@ ATTRIBUTE_INDEX_ENCODING_STYLE
Definition balxml_encoderoptions.h:185
@ ATTRIBUTE_INDEX_FORMATTING_MODE
Definition balxml_encoderoptions.h:178
EncoderOptions & operator=(const EncoderOptions &rhs)
Assign to this object the value of the specified rhs object.
void setUseZAbbreviationForUtc(bool value)
Definition balxml_encoderoptions.h:773
int wrapColumn() const
Return the value of the "WrapColumn" attribute of this object.
Definition balxml_encoderoptions.h:980
const bsl::string & tag() const
Definition balxml_encoderoptions.h:956
@ NUM_ATTRIBUTES
Definition balxml_encoderoptions.h:171
void setOutputXMLHeader(bool value)
Definition balxml_encoderoptions.h:755
static const bool DEFAULT_INITIALIZER_ALLOW_CONTROL_CHARACTERS
Definition balxml_encoderoptions.h:206
static const int DEFAULT_INITIALIZER_FORMATTING_MODE
Definition balxml_encoderoptions.h:196
void setOutputXSIAlias(bool value)
Definition balxml_encoderoptions.h:761
void setSignificantDoubleDigits(const bdlb::NullableValue< int > &value)
Definition balxml_encoderoptions.h:737
static const int DEFAULT_INITIALIZER_WRAP_COLUMN
Definition balxml_encoderoptions.h:202
EncoderOptions(const EncoderOptions &original, bslma::Allocator *basicAllocator=0)
static const int DEFAULT_INITIALIZER_SPACES_PER_LEVEL
Definition balxml_encoderoptions.h:200
bool useZAbbreviationForUtc() const
Definition balxml_encoderoptions.h:1034
static const EncodingStyle::Value DEFAULT_INITIALIZER_ENCODING_STYLE
Definition balxml_encoderoptions.h:204
static const char CLASS_NAME[]
Definition balxml_encoderoptions.h:194
static const int DEFAULT_INITIALIZER_DATETIME_FRACTIONAL_SECOND_PRECISION
Definition balxml_encoderoptions.h:212
bool allowControlCharacters() const
Definition balxml_encoderoptions.h:1010
int manipulateAttributes(t_MANIPULATOR &manipulator)
Definition balxml_encoderoptions.h:519
void setObjectNamespace(const bsl::string_view &value)
Definition balxml_encoderoptions.h:683
void setTag(const bsl::string_view &value)
Set the "Tag" attribute of this object to the specified value.
Definition balxml_encoderoptions.h:695
void setAllowControlCharacters(bool value)
Definition balxml_encoderoptions.h:749
int accessAttributes(t_ACCESSOR &accessor) const
Definition balxml_encoderoptions.h:780
int datetimeFractionalSecondPrecision() const
Definition balxml_encoderoptions.h:1028
const bdlb::NullableValue< int > & significantDoubleDigits() const
Definition balxml_encoderoptions.h:998
const bsl::string & objectNamespace() const
Definition balxml_encoderoptions.h:944
int manipulateAttribute(t_MANIPULATOR &manipulator, int id)
Definition balxml_encoderoptions.h:607
void setWrapColumn(int value)
Definition balxml_encoderoptions.h:719
int formattingMode() const
Return the value of the "FormattingMode" attribute of this object.
Definition balxml_encoderoptions.h:962
~EncoderOptions()
Destroy this object.
EncoderOptions(bslma::Allocator *basicAllocator=0)
static const int DEFAULT_INITIALIZER_INITIAL_INDENT_LEVEL
Definition balxml_encoderoptions.h:198
Definition bdlb_nullablevalue.h:257
Definition bslstl_stringview.h:441
Definition bslstl_string.h:1281
Definition bslma_allocator.h:457
#define BDLAT_DECL_SEQUENCE_WITH_ALLOCATOR_BITWISEMOVEABLE_TRAITS(ClassName)
Definition bdlat_typetraits.h:282
#define BSLS_IDENT_RCSID(tag, str)
Definition bsls_ident.h:260
#define BSLS_IDENT_PRAGMA_ONCE
Definition bsls_ident.h:310
Definition balxml_base64parser.h:150
bsl::ostream & operator<<(bsl::ostream &stream, const ConfigSchema &schema)
bool operator==(const DecoderOptions &lhs, const DecoderOptions &rhs)
bool operator!=(const DecoderOptions &lhs, const DecoderOptions &rhs)
Definition balxml_encoderoptions.h:68
Value
Definition balxml_encodingstyle.h:74
Definition bdlat_attributeinfo.h:137
int d_id
Definition bdlat_attributeinfo.h:140