/* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF licenses this file * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. */ #include "apache/das/StringWrapper.h" namespace apache { namespace das { StringWrapper::StringWrapper(std::string str) : str(str) {} StringWrapper::StringWrapper(commonj::sdo::DataObjectPtr dataObject, std::string propertyName) { unsigned int length = dataObject->getLength(propertyName); wchar_t* buffer = new wchar_t[length]; dataObject->getString(propertyName, buffer, length); std::wstring wstr(buffer, 0, length); this->str = std::string(wstr.begin(), wstr.end()); delete buffer; } std::string StringWrapper::toLower(void) const { std::string str = this->str; unsigned int length = str.length(); for(int i=0; i != length; i++) { str[i] = tolower(str[i]); } return str; } std::string StringWrapper::toUpper(void) const { std::string str = this->str; unsigned int length = str.length(); for(int i=0; i != length; i++) { str[i] = toupper(str[i]); } return str; } bool StringWrapper::isValidRDBName(void) const { if (str.find(' ') != -1 || str.find('\t') != -1 || str.find('\n') != -1 || str.find('\r') != -1) { return false; } else { return true; } } std::string StringWrapper::toString(const double& t) { std::stringstream ss; ss << t; return ss.str(); } std::string StringWrapper::toString(const float& t) { std::stringstream ss; ss << t; return ss.str(); } std::string StringWrapper::toString(const long double& t) { std::stringstream ss; ss << t; return ss.str(); } std::string StringWrapper::toString(const unsigned char& t) { std::stringstream ss; ss << t; return ss.str(); } std::string StringWrapper::toString(const wchar_t& t) { std::stringstream ss; ss << t; return ss.str(); } std::string StringWrapper::toString(const int& t) { std::stringstream ss; ss << t; return ss.str(); } std::string StringWrapper::toString(const long& t) { std::stringstream ss; ss << t; return ss.str(); } std::string StringWrapper::getString(void) const { return str; } std::string StringWrapper::toString(const unsigned int& t) { std::stringstream ss; ss << t; return ss.str(); } void StringWrapper::defineOnDataObject(commonj::sdo::DataObjectPtr dataObject, std::string propertyName) const { std::wstring wstr(str.begin(), str.end()); dataObject->setString(propertyName, wstr.c_str(), wstr.size()); } }; };