Better mapping types structure

This commit is contained in:
lganzzzo 2018-06-26 15:47:44 +03:00
parent 004fb5927c
commit f4ed466b22
9 changed files with 55 additions and 50 deletions

View File

@ -14,6 +14,11 @@
namespace oatpp {
typedef oatpp::data::mapping::type::String String;
typedef oatpp::data::mapping::type::Int32 Int32;
typedef oatpp::data::mapping::type::Int64 Int64;
typedef oatpp::data::mapping::type::Float32 Float32;
typedef oatpp::data::mapping::type::Float64 Float64;
typedef oatpp::data::mapping::type::Boolean Boolean;
}

View File

@ -60,11 +60,11 @@ namespace __class {
class Object : public oatpp::base::Controllable {
public:
typedef oatpp::String String;
typedef oatpp::data::mapping::type::Int32::PtrWrapper Int32;
typedef oatpp::data::mapping::type::Int64::PtrWrapper Int64;
typedef oatpp::data::mapping::type::Float32::PtrWrapper Float32;
typedef oatpp::data::mapping::type::Float64::PtrWrapper Float64;
typedef oatpp::data::mapping::type::Boolean::PtrWrapper Boolean;
typedef oatpp::data::mapping::type::Int32 Int32;
typedef oatpp::data::mapping::type::Int64 Int64;
typedef oatpp::data::mapping::type::Float32 Float32;
typedef oatpp::data::mapping::type::Float64 Float64;
typedef oatpp::data::mapping::type::Boolean Boolean;
template <class T>
using List = oatpp::data::mapping::type::List<T>;
protected:

View File

@ -38,23 +38,23 @@ String::String(const std::shared_ptr<oatpp::base::StrBuffer>& ptr, const type::T
namespace __class {
type::Int32::PtrWrapper Int32::parseFromString(const oatpp::String& str, bool& success) {
type::Int32 Int32::parseFromString(const oatpp::String& str, bool& success) {
return utils::conversion::strToInt32(str, success);
}
type::Int64::PtrWrapper Int64::parseFromString(const oatpp::String& str, bool& success) {
type::Int64 Int64::parseFromString(const oatpp::String& str, bool& success) {
return utils::conversion::strToInt64(str, success);
}
type::Float32::PtrWrapper Float32::parseFromString(const oatpp::String& str, bool& success) {
type::Float32 Float32::parseFromString(const oatpp::String& str, bool& success) {
return utils::conversion::strToFloat32(str, success);
}
type::Float64::PtrWrapper Float64::parseFromString(const oatpp::String& str, bool& success) {
type::Float64 Float64::parseFromString(const oatpp::String& str, bool& success) {
return utils::conversion::strToFloat64(str, success);
}
type::Boolean::PtrWrapper Boolean::parseFromString(const oatpp::String& str, bool& success) {
type::Boolean Boolean::parseFromString(const oatpp::String& str, bool& success) {
return utils::conversion::strToBool(str, success);
}

View File

@ -214,11 +214,11 @@ public:
};
typedef Primitive<v_int32, __class::Int32> Int32;
typedef Primitive<v_int64, __class::Int64> Int64;
typedef Primitive<v_float32, __class::Float32> Float32;
typedef Primitive<v_float64, __class::Float64> Float64;
typedef Primitive<bool, __class::Boolean> Boolean;
typedef Primitive<v_int32, __class::Int32>::PtrWrapper Int32;
typedef Primitive<v_int64, __class::Int64>::PtrWrapper Int64;
typedef Primitive<v_float32, __class::Float32>::PtrWrapper Float32;
typedef Primitive<v_float64, __class::Float64>::PtrWrapper Float64;
typedef Primitive<bool, __class::Boolean>::PtrWrapper Boolean;
namespace __class {
@ -247,7 +247,7 @@ namespace __class {
return &type;
}
static type::Int32::PtrWrapper parseFromString(const oatpp::data::mapping::type::String& str, bool& success);
static type::Int32 parseFromString(const oatpp::data::mapping::type::String& str, bool& success);
};
@ -260,7 +260,7 @@ namespace __class {
return &type;
}
static type::Int64::PtrWrapper parseFromString(const oatpp::data::mapping::type::String& str, bool& success);
static type::Int64 parseFromString(const oatpp::data::mapping::type::String& str, bool& success);
};
@ -273,7 +273,7 @@ namespace __class {
return &type;
}
static type::Float32::PtrWrapper parseFromString(const oatpp::data::mapping::type::String& str, bool& success);
static type::Float32 parseFromString(const oatpp::data::mapping::type::String& str, bool& success);
};
@ -286,7 +286,7 @@ namespace __class {
return &type;
}
static type::Float64::PtrWrapper parseFromString(const oatpp::data::mapping::type::String& str, bool& success);
static type::Float64 parseFromString(const oatpp::data::mapping::type::String& str, bool& success);
};
@ -299,7 +299,7 @@ namespace __class {
return &type;
}
static type::Boolean::PtrWrapper parseFromString(const oatpp::data::mapping::type::String& str, bool& success);
static type::Boolean parseFromString(const oatpp::data::mapping::type::String& str, bool& success);
};

View File

@ -86,15 +86,15 @@ namespace oatpp { namespace utils { namespace conversion {
if(type == oatpp::data::mapping::type::__class::String::getType()) {
return std::static_pointer_cast<oatpp::base::StrBuffer>(primitive.getPtr());
} else if(type == oatpp::data::mapping::type::__class::Int32::getType()) {
return utils::conversion::int32ToStr(static_cast<oatpp::data::mapping::type::Int32*>(primitive.get())->getValue());
return utils::conversion::int32ToStr(static_cast<oatpp::data::mapping::type::Int32::ObjectType*>(primitive.get())->getValue());
} else if(type == oatpp::data::mapping::type::__class::Int64::getType()) {
return utils::conversion::int64ToStr(static_cast<oatpp::data::mapping::type::Int64*>(primitive.get())->getValue());
return utils::conversion::int64ToStr(static_cast<oatpp::data::mapping::type::Int64::ObjectType*>(primitive.get())->getValue());
} else if(type == oatpp::data::mapping::type::__class::Float32::getType()) {
return utils::conversion::float32ToStr(static_cast<oatpp::data::mapping::type::Float32*>(primitive.get())->getValue());
return utils::conversion::float32ToStr(static_cast<oatpp::data::mapping::type::Float32::ObjectType*>(primitive.get())->getValue());
} else if(type == oatpp::data::mapping::type::__class::Float64::getType()) {
return utils::conversion::float64ToStr(static_cast<oatpp::data::mapping::type::Float64*>(primitive.get())->getValue());
return utils::conversion::float64ToStr(static_cast<oatpp::data::mapping::type::Float64::ObjectType*>(primitive.get())->getValue());
} else if(type == oatpp::data::mapping::type::__class::Boolean::getType()) {
return utils::conversion::boolToStr(static_cast<oatpp::data::mapping::type::Boolean*>(primitive.get())->getValue());
return utils::conversion::boolToStr(static_cast<oatpp::data::mapping::type::Boolean::ObjectType*>(primitive.get())->getValue());
}
throw std::runtime_error("[oatpp::utils::conversion::primitiveToStr]: Invalid primitive type");
}

View File

@ -129,7 +129,7 @@ Deserializer::AbstractPtrWrapper Deserializer::readInt32Value(const std::shared_
if(caret->proceedIfFollowsText("null")){
return AbstractPtrWrapper(Int32::PtrWrapper::Class::getType());
} else {
return AbstractPtrWrapper(Int32::createAbstract(caret->parseInt32()), Int32::PtrWrapper::Class::getType());
return AbstractPtrWrapper(Int32::ObjectType::createAbstract(caret->parseInt32()), Int32::PtrWrapper::Class::getType());
}
}
@ -137,7 +137,7 @@ Deserializer::AbstractPtrWrapper Deserializer::readInt64Value(const std::shared_
if(caret->proceedIfFollowsText("null")){
return AbstractPtrWrapper(Int64::PtrWrapper::Class::getType());
} else {
return AbstractPtrWrapper(Int64::createAbstract(caret->parseInt64()), Int64::PtrWrapper::Class::getType());
return AbstractPtrWrapper(Int64::ObjectType::createAbstract(caret->parseInt64()), Int64::PtrWrapper::Class::getType());
}
}
@ -145,7 +145,7 @@ Deserializer::AbstractPtrWrapper Deserializer::readFloat32Value(const std::share
if(caret->proceedIfFollowsText("null")){
return AbstractPtrWrapper(Float32::PtrWrapper::Class::getType());
} else {
return AbstractPtrWrapper(Float32::createAbstract(caret->parseFloat32()), Float32::PtrWrapper::Class::getType());
return AbstractPtrWrapper(Float32::ObjectType::createAbstract(caret->parseFloat32()), Float32::PtrWrapper::Class::getType());
}
}
@ -153,7 +153,7 @@ Deserializer::AbstractPtrWrapper Deserializer::readFloat64Value(const std::share
if(caret->proceedIfFollowsText("null")){
return AbstractPtrWrapper(Float64::PtrWrapper::Class::getType());
} else {
return AbstractPtrWrapper(Float64::createAbstract(caret->parseFloat64()), Float64::PtrWrapper::Class::getType());
return AbstractPtrWrapper(Float64::ObjectType::createAbstract(caret->parseFloat64()), Float64::PtrWrapper::Class::getType());
}
}
@ -161,7 +161,7 @@ Deserializer::AbstractPtrWrapper Deserializer::readBooleanValue(const std::share
if(caret->proceedIfFollowsText("null")){
return AbstractPtrWrapper(Boolean::PtrWrapper::Class::getType());
} else {
return AbstractPtrWrapper(Boolean::createAbstract(caret->parseBoolean("true", "false")), Boolean::PtrWrapper::Class::getType());
return AbstractPtrWrapper(Boolean::ObjectType::createAbstract(caret->parseBoolean("true", "false")), Boolean::PtrWrapper::Class::getType());
}
}

View File

@ -160,15 +160,15 @@ void Serializer::writeListCollection(oatpp::data::stream::OutputStream* stream,
if(itemTypeName == oatpp::data::mapping::type::__class::String::CLASS_NAME){
writeListOfString(stream, list);
} else if(itemTypeName == oatpp::data::mapping::type::__class::Int32::CLASS_NAME) {
writeListOfSimpleData<oatpp::data::mapping::type::Int32>(stream, list);
writeListOfSimpleData<oatpp::data::mapping::type::Int32::ObjectType>(stream, list);
} else if(itemTypeName == oatpp::data::mapping::type::__class::Int64::CLASS_NAME) {
writeListOfSimpleData<oatpp::data::mapping::type::Int64>(stream, list);
writeListOfSimpleData<oatpp::data::mapping::type::Int64::ObjectType>(stream, list);
} else if(itemTypeName == oatpp::data::mapping::type::__class::Float32::CLASS_NAME) {
writeListOfSimpleData<oatpp::data::mapping::type::Float32>(stream, list);
writeListOfSimpleData<oatpp::data::mapping::type::Float32::ObjectType>(stream, list);
} else if(itemTypeName == oatpp::data::mapping::type::__class::Float64::CLASS_NAME) {
writeListOfSimpleData<oatpp::data::mapping::type::Float64>(stream, list);
writeListOfSimpleData<oatpp::data::mapping::type::Float64::ObjectType>(stream, list);
} else if(itemTypeName == oatpp::data::mapping::type::__class::Boolean::CLASS_NAME) {
writeListOfSimpleData<oatpp::data::mapping::type::Boolean>(stream, list);
writeListOfSimpleData<oatpp::data::mapping::type::Boolean::ObjectType>(stream, list);
} else if(itemTypeName == oatpp::data::mapping::type::__class::AbstractObject::CLASS_NAME) {
writeListOfObject(stream, list, itemType);
} else if(itemTypeName == oatpp::data::mapping::type::__class::AbstractList::CLASS_NAME) {
@ -214,15 +214,15 @@ void Serializer::writeObject(oatpp::data::stream::OutputStream* stream,
if(typeName == oatpp::data::mapping::type::__class::String::CLASS_NAME){
writeString(stream, object, field);
} else if(typeName == oatpp::data::mapping::type::__class::Int32::CLASS_NAME) {
writeSimpleData<oatpp::data::mapping::type::Int32>(stream, object, field);
writeSimpleData<oatpp::data::mapping::type::Int32::ObjectType>(stream, object, field);
} else if(typeName == oatpp::data::mapping::type::__class::Int64::CLASS_NAME) {
writeSimpleData<oatpp::data::mapping::type::Int64>(stream, object, field);
writeSimpleData<oatpp::data::mapping::type::Int64::ObjectType>(stream, object, field);
} else if(typeName == oatpp::data::mapping::type::__class::Float32::CLASS_NAME) {
writeSimpleData<oatpp::data::mapping::type::Float32>(stream, object, field);
writeSimpleData<oatpp::data::mapping::type::Float32::ObjectType>(stream, object, field);
} else if(typeName == oatpp::data::mapping::type::__class::Float64::CLASS_NAME) {
writeSimpleData<oatpp::data::mapping::type::Float64>(stream, object, field);
writeSimpleData<oatpp::data::mapping::type::Float64::ObjectType>(stream, object, field);
} else if(typeName == oatpp::data::mapping::type::__class::Boolean::CLASS_NAME) {
writeSimpleData<oatpp::data::mapping::type::Boolean>(stream, object, field);
writeSimpleData<oatpp::data::mapping::type::Boolean::ObjectType>(stream, object, field);
} else if(typeName == oatpp::data::mapping::type::__class::AbstractObject::CLASS_NAME) {
writeObject(stream, object, field);
} else if(typeName == oatpp::data::mapping::type::__class::AbstractList::CLASS_NAME) {

View File

@ -71,11 +71,11 @@ public:
typedef oatpp::web::protocol::http::Header Header;
public:
typedef oatpp::data::mapping::type::String String;
typedef oatpp::data::mapping::type::Int32::PtrWrapper Int32;
typedef oatpp::data::mapping::type::Int64::PtrWrapper Int64;
typedef oatpp::data::mapping::type::Float32::PtrWrapper Float32;
typedef oatpp::data::mapping::type::Float64::PtrWrapper Float64;
typedef oatpp::data::mapping::type::Boolean::PtrWrapper Boolean;
typedef oatpp::data::mapping::type::Int32 Int32;
typedef oatpp::data::mapping::type::Int64 Int64;
typedef oatpp::data::mapping::type::Float32 Float32;
typedef oatpp::data::mapping::type::Float64 Float64;
typedef oatpp::data::mapping::type::Boolean Boolean;
public:
typedef oatpp::web::protocol::http::incoming::Response Response;
public:

View File

@ -58,11 +58,11 @@ public:
public:
typedef oatpp::data::mapping::ObjectMapper ObjectMapper;
typedef oatpp::data::mapping::type::String String;
typedef oatpp::data::mapping::type::Int32::PtrWrapper Int32;
typedef oatpp::data::mapping::type::Int64::PtrWrapper Int64;
typedef oatpp::data::mapping::type::Float32::PtrWrapper Float32;
typedef oatpp::data::mapping::type::Float64::PtrWrapper Float64;
typedef oatpp::data::mapping::type::Boolean::PtrWrapper Boolean;
typedef oatpp::data::mapping::type::Int32 Int32;
typedef oatpp::data::mapping::type::Int64 Int64;
typedef oatpp::data::mapping::type::Float32 Float32;
typedef oatpp::data::mapping::type::Float64 Float64;
typedef oatpp::data::mapping::type::Boolean Boolean;
protected:
typedef oatpp::async::Action (oatpp::async::AbstractCoroutine::*AsyncCallback)(const std::shared_ptr<OutgoingResponse>&);