diff -r f5050f1da672 -r 04becd199f91 javacommons/javastorage/src/client/javastorageentry.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/javacommons/javastorage/src/client/javastorageentry.cpp Tue Apr 27 16:30:29 2010 +0300 @@ -0,0 +1,101 @@ +/* +* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: JavaStorageEntry +* +*/ + + +#include + +#include "javastorageentry.h" +#include "javastorageexception.h" + +using namespace java::storage; +using namespace std; + +OS_EXPORT void JavaStorageEntry::setEntry(const std::wstring& aName, + const std::wstring& aValue, + JavaEntryColumnType aType) +{ + if (aName.size() == 0) + { + throw JavaStorageException( + EInvalidArgument, + "Invalid entry name", + __FILE__, + __FUNCTION__, + __LINE__); + } + + if (aType < 1 || aType > NULL_TYPE) + { + throw JavaStorageException( + EInvalidArgument, + "Invalid entry type", + __FILE__, + __FUNCTION__, + __LINE__); + } + + mName = aName; + + if (aType == NULL_TYPE) + { + mValue = L"NULL"; + mType = aType; + } + else + { + mValue = aValue; + mType = aType; + } +} + +OS_EXPORT wstring JavaStorageEntry::entryName() const +{ + return mName; +} + +OS_EXPORT wstring JavaStorageEntry::entryValue() const +{ + if (mType != NULL_TYPE) + return mValue; + else + return L""; +} + +OS_EXPORT JavaStorageEntry::JavaEntryColumnType JavaStorageEntry::entryType() const +{ + return mType; +} + +OS_EXPORT bool JavaStorageEntry::operator< (const JavaStorageEntry& jse) const +{ + if (mName == jse.entryName()) + { + // Comparison is done only by the name + if (mValue == L"") + { + return mName < jse.entryName(); + } + else // By the name and value + { + return mValue < jse.entryValue(); + } + } + else + { + return mName < jse.entryName(); + } +}