sptk2 logo
SPTK Home Page
Classes | Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Member Functions | List of all members
sptk::WSParserComplexType Class Reference

#include <WSParserComplexType.h>

Public Member Functions

 WSParserComplexType (const xdoc::SNode &complexTypeElement, const String &name="", const String &typeName="")
 
virtual ~WSParserComplexType ()=default
 
String name () const
 
String className () const
 
WSMultiplicity multiplicity () const
 
bool isArray () const
 
WSParserComplexTypeList sequence () const
 
SWSRestriction restriction () const
 
virtual void parse ()
 
void parseSequence (const xdoc::SNode &sequence)
 
void generate (std::ostream &classDeclaration, std::ostream &classImplementation, const String &externalHeader, const String &serviceNamespace) const
 

Static Public Member Functions

static String wsClassName (const String &className)
 
static xdoc::SNode findSimpleType (const String &typeName)
 

Static Public Attributes

static std::map< String, xdoc::SNode > SimpleTypeElements
 

Protected Member Functions

void generateDefinition (std::ostream &classDeclaration, sptk::Strings &fieldNames, sptk::Strings &elementNames, sptk::Strings &attributeNames, const String &serviceNamespace) const
 
void generateImplementation (std::ostream &classImplementation, const Strings &fieldNames, const Strings &elementNames, const Strings &attributeNames, const String &serviceNamespace) const
 

Detailed Description

Parses WSDL complexType element

Constructor & Destructor Documentation

◆ WSParserComplexType()

sptk::WSParserComplexType::WSParserComplexType ( const xdoc::SNode &  complexTypeElement,
const String name = "",
const String typeName = "" 
)
explicit

Constructor

Parameters
complexTypeElementWSDL complexType element
nameObject name
typeNameObject types

◆ ~WSParserComplexType()

virtual sptk::WSParserComplexType::~WSParserComplexType ( )
virtualdefault

Destructor

Member Function Documentation

◆ className()

String sptk::WSParserComplexType::className ( ) const

Generated C++ class name

◆ generate()

void sptk::WSParserComplexType::generate ( std::ostream &  classDeclaration,
std::ostream &  classImplementation,
const String externalHeader,
const String serviceNamespace 
) const

Generates C++ class declaration and implementation

◆ generateDefinition()

void sptk::WSParserComplexType::generateDefinition ( std::ostream &  classDeclaration,
sptk::Strings fieldNames,
sptk::Strings elementNames,
sptk::Strings attributeNames,
const String serviceNamespace 
) const
protected

Generate C++ class declaration

Parameters
classDeclarationstd::ostream&, Output header file stream

◆ generateImplementation()

void sptk::WSParserComplexType::generateImplementation ( std::ostream &  classImplementation,
const Strings fieldNames,
const Strings elementNames,
const Strings attributeNames,
const String serviceNamespace 
) const
protected

Generate C++ class implementation

Parameters
classImplementationstd::ostream&, Output implementation file stream

◆ isArray()

bool sptk::WSParserComplexType::isArray ( ) const
inline

Is the type an array?

References ONE_OR_MORE, and ZERO_OR_MORE.

◆ multiplicity()

WSMultiplicity sptk::WSParserComplexType::multiplicity ( ) const
inline

Multiplicity flag

◆ name()

String sptk::WSParserComplexType::name ( ) const
inline

WSDL element name

◆ parse()

virtual void sptk::WSParserComplexType::parse ( )
virtual

Parses WSDL complexType element

◆ parseSequence()

void sptk::WSParserComplexType::parseSequence ( const xdoc::SNode &  sequence)

Parses WSDL child sequence

◆ restriction()

SWSRestriction sptk::WSParserComplexType::restriction ( ) const
inline

Get optional restriction

Returns
restriction

◆ sequence()

WSParserComplexTypeList sptk::WSParserComplexType::sequence ( ) const
inline

Get child elements sequence

Returns
Child elements sequence

◆ wsClassName()

static String sptk::WSParserComplexType::wsClassName ( const String className)
static

WSDL class name


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

Fri Oct 14 2022 09:58:48: SPTK 5.4.1