summaryrefslogtreecommitdiffstats
path: root/sdo-cpp/branches/sdo-cpp-pre2.1/runtime/core/src/commonj/sdo/Setting.h
diff options
context:
space:
mode:
Diffstat (limited to 'sdo-cpp/branches/sdo-cpp-pre2.1/runtime/core/src/commonj/sdo/Setting.h')
-rw-r--r--sdo-cpp/branches/sdo-cpp-pre2.1/runtime/core/src/commonj/sdo/Setting.h151
1 files changed, 151 insertions, 0 deletions
diff --git a/sdo-cpp/branches/sdo-cpp-pre2.1/runtime/core/src/commonj/sdo/Setting.h b/sdo-cpp/branches/sdo-cpp-pre2.1/runtime/core/src/commonj/sdo/Setting.h
new file mode 100644
index 0000000000..19980d7b04
--- /dev/null
+++ b/sdo-cpp/branches/sdo-cpp-pre2.1/runtime/core/src/commonj/sdo/Setting.h
@@ -0,0 +1,151 @@
+/*
+ * 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.
+ */
+
+/* $Rev$ $Date$ */
+
+#ifndef SETTING_H
+#define SETTING_H
+
+#include "commonj/sdo/export.h"
+
+#include "commonj/sdo/Type.h"
+#include "commonj/sdo/DataObject.h"
+#include "commonj/sdo/SDODate.h"
+
+namespace commonj{
+namespace sdo {
+
+ class Property;
+
+ /**
+ * A Setting encapsulates a property and a corresponding single value of
+ * the property's type.
+ */
+
+ class Setting
+ {
+ public:
+
+ Setting(bool set, bool nul, void* invalue, unsigned int len, const Property& p,
+ unsigned int inindex);
+
+ Setting(const Setting& s);
+
+ void copy(const Setting& s);
+
+ Setting& operator=(const Setting& s);
+
+
+ virtual ~Setting();
+
+
+ /** getProperty returns the property set.
+ *
+ * Returns the property of the Setting.
+ * @return the Setting property.
+ */
+
+ SDO_API const Property& getProperty() const;
+
+ /** getType returns the type of the property
+ *
+ * Returns the type of this property. This is the same as
+ * getProperty().getType()
+ */
+
+ SDO_API const Type& getType() const;
+
+ /** getTypeEnum returns the type enumerator
+ *
+ * Returns the enum for the type of this property
+ */
+
+ SDO_API Type::Types getTypeEnum() const;
+
+
+ /** get methods get the right type of value from the setting
+ *
+ *
+ * Returns the value of the Setting. This must be of the right type for
+ * Setting value.
+ */
+
+ SDO_API bool getBooleanValue() const;
+ SDO_API char getByteValue() const;
+ SDO_API wchar_t getCharacterValue() const;
+ SDO_API unsigned int getBytesValue(char* buffer, unsigned int max) const;
+ SDO_API unsigned int getStringValue(wchar_t* buffer, unsigned int max) const;
+ SDO_API short getShortValue() const;
+ SDO_API long getIntegerValue() const;
+ SDO_API int64_t getLongValue() const;
+ SDO_API float getFloatValue() const;
+ SDO_API long double getDoubleValue() const;
+ SDO_API const SDODate getDateValue() const;
+ SDO_API const char* getCStringValue() ;
+ SDO_API DataObjectPtr getDataObjectValue() const;
+
+
+
+ /** getIndex returns the index in a many-valued property
+ *
+ * Returns the index of the Setting, if this is many valued
+ */
+
+ SDO_API unsigned int getIndex() const;
+
+
+ /** getLength gives the length of a string or bytes
+ *
+ * Returns the length of the setting, if this is a String or
+ * Bytes type
+ */
+
+ SDO_API unsigned int getLength() const ;
+
+ /** isSet returns whether the property WAS set.
+ *
+ * Returns whether or not the property is set. This value comes from the
+ * setting, and tells us whether the property was set before the change
+ * occurred.
+ */
+
+ SDO_API bool isSet() const;
+
+ /** isNull is true if the property value WAS null
+ *
+ * Returns whether or not the property was null beforfe the setting
+ * happened.
+ */
+
+ SDO_API bool isNull() const;
+
+ private:
+
+ bool bisSet;
+ bool bisNull;
+ void* value;
+ const Property* theProp;
+ unsigned int length;
+ unsigned int index;
+ char* strbuf;
+ };
+};
+};
+
+#endif