1 #ifndef INCLUDE_ORA_MAPPINGELEMENT_H
2 #define INCLUDE_ORA_MAPPINGELEMENT_H
79 typedef std::map< std::string, MappingElement >::iterator
iterator;
80 typedef std::map< std::string, MappingElement >::const_iterator
const_iterator;
145 const std::vector< std::string >&
columnNames()
const;
158 std::vector<std::pair<std::string,std::string> >
tableHierarchy()
const;
214 void printXML( std::ostream& outputStream, std::string indentation=
"" )
const;
273 m_isDependentTree(
false),
276 m_variableNameForSchema(
""),
285 m_elementType(element.m_elementType),
286 m_isDependentTree(element.m_isDependentTree),
287 m_scopeName(element.m_scopeName),
288 m_variableName(element.m_variableName),
289 m_variableNameForSchema(element.m_variableNameForSchema),
290 m_variableType(element.m_variableType),
291 m_tableName(element.m_tableName),
292 m_columnNames(element.m_columnNames),
293 m_subElements(element.m_subElements){
298 if(
this != &element){
316 return m_subElements.begin();
322 return m_subElements.begin();
328 return m_subElements.end();
334 return m_subElements.end();
340 return m_subElements.find( key );
346 return m_subElements.find( key );
352 return m_elementType;
358 return elementTypeAsString( m_elementType );
363 return m_isDependentTree;
366 inline const std::string&
372 inline const std::string&
375 return m_variableName;
378 inline const std::string&
381 return m_variableNameForSchema;
384 inline const std::string&
387 return m_variableType;
390 inline const std::string&
396 inline const std::vector< std::string >&
399 return m_columnNames;
const MappingElement & parentClassMappingElement() const
static std::string namedReferenceMappingElementType()
Returns the name of the named reference element type.
static std::string blobMappingElementType()
Returns the name of the blob mapping element type.
static std::string arrayMappingElementType()
Returns the name of the array mapping element type.
std::string m_variableName
const std::string & variableName() const
static std::string primitiveMappingElementType()
Returns the name of the primitive mapping element type.
std::map< std::string, MappingElement > m_subElements
static std::string dependencyMappingElementType()
Returns the name of the dependent class mapping element type.
std::string m_variableNameForSchema
std::string idColumn() const
static std::string OraReferenceMappingElementType()
Returns the name of the ORA reference mapping element type.
ElementType elementType() const
std::vector< std::string > m_columnNames
std::string elementTypeString() const
MappingElement & operator=(const MappingElement &element)
MappingElement & appendSubElement(const std::string &elementType, const std::string &variableName, const std::string &variableType, const std::string &tableName)
MappingElement()
Empty Constructor.
void alterTableName(const std::string &tableName)
iterator begin()
Returns an iterator in the beginning of the sequence.
static std::string pointerMappingElementType()
Returns the name of the pointer mapping element type.
bool removeSubElement(const std::string &key)
Remove a sub-element.
std::vector< std::string > recordIdColumns() const
std::string posColumn() const
void alterType(const std::string &elementType)
static std::string elementTypeAsString(ElementType elementType)
Converts the enumeration type to a string.
static std::string objectMappingElementType()
Returns the name of the object mapping element type.
std::vector< std::pair< std::string, std::string > > tableHierarchy() const
static std::string uniqueReferenceMappingElementType()
Returns the name of the ORA polymorphic pointer mapping element type.
iterator find(const std::string &key)
Retrieves a sub-element.
std::string pkColumn() const
std::map< std::string, MappingElement >::iterator iterator
Iterator definition.
const std::vector< std::string > & columnNames() const
void printXML(std::ostream &outputStream, std::string indentation="") const
static std::string referenceMappingElementType()
Returns the name of the reference mapping element type.
~MappingElement()
Destructor.
static std::string inlineCArrayMappingElementType()
Returns the name of the inline array mapping element type.
const std::string & variableType() const
std::map< std::string, MappingElement >::const_iterator const_iterator
static ElementType elementTypeFromString(const std::string &elementType)
Converts a string into an element type.
iterator end()
Returns an iterator in the end of the sequence.
static std::string OraPointerMappingElementType()
Returns the name of the ORA pointer mapping element type.
static std::string OraArrayMappingElementType()
Returns the name of the ORA array mapping element type.
const std::string & variableNameForSchema() const
const std::string & tableName() const
static bool isValidMappingElementType(const std::string &elementType)
Checks if the provided element type is valid.
static std::string classMappingElementType()
Returns the name of the class mapping element type.
std::string m_variableType
static std::string CArrayMappingElementType()
Returns the name of the array mapping element type.
const std::string & scopeName() const
void setColumnNames(const std::vector< std::string > &columns)
ElementType m_elementType