600 std::string objectScopeNameForSchema = scopeNameForSchema;
601 if( !objectScopeNameForSchema.empty() ) objectScopeNameForSchema +=
"_";
602 objectScopeNameForSchema += attributeNameForSchema;
605 for (
size_t i=0;
i< objectType.DataMemberSize();
i++){
607 Reflex::Member objectMember =
m_type.DataMemberAt(
i);
615 throwException(
"Type for data member \""+objectMember.Name()+
"\" of class \""+className+
616 "\" has not been found in the dictionary.",
617 "ObjectMapping::process");
622 if( declaringType != objectType ){
626 std::string objectMemberName = objectMember.Name();
627 std::string objectNameForSchema = objectMember.Name();
630 Reflex::PropertyList memberProps = objectMember.Properties();
636 std::auto_ptr<IRelationalMapping> processor( mappingFactory.newProcessor( type, blobStreaming ) );
637 processor->process( me, objectMemberName, objectNameForSchema, objectScopeNameForSchema );
bool isLoosePersistencyOnWriting(const Reflex::Member &dataMember)
MappingElement & appendSubElement(const std::string &elementType, const std::string &variableName, const std::string &variableType, const std::string &tableName)
static std::string mappingPropertyNameInDictionary()
class related parameters
static std::string objectMappingElementType()
Returns the name of the object mapping element type.
static bool isMappedToBlob(const std::string &mappingProperty)
Reflex::Type resolvedType(const Reflex::Type &typ)
TableRegister & m_tableRegister
void processBaseClasses(MappingElement &mappingElement, const Reflex::Type &objType, const std::string &scopeNameForSchema, TableRegister &tableRegister)
void throwException(const std::string &message, const std::string &methodName) __attribute__((noreturn))
std::string className(const T &t)
void setColumnNames(const std::vector< std::string > &columns)