diff options
Diffstat (limited to 'tags/cpp-sdo-1.0.incubating-M3/runtime/core/src/commonj/sdo/SequenceImpl.h')
-rw-r--r-- | tags/cpp-sdo-1.0.incubating-M3/runtime/core/src/commonj/sdo/SequenceImpl.h | 405 |
1 files changed, 0 insertions, 405 deletions
diff --git a/tags/cpp-sdo-1.0.incubating-M3/runtime/core/src/commonj/sdo/SequenceImpl.h b/tags/cpp-sdo-1.0.incubating-M3/runtime/core/src/commonj/sdo/SequenceImpl.h deleted file mode 100644 index 90505d047e..0000000000 --- a/tags/cpp-sdo-1.0.incubating-M3/runtime/core/src/commonj/sdo/SequenceImpl.h +++ /dev/null @@ -1,405 +0,0 @@ -/* - * 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 _SEQUENCEIMPL_H_ -#define _SEQUENCEIMPL_H_ - -#include "commonj/sdo/disable_warn.h" - -#include <vector> - - -#include "commonj/sdo/Sequence.h" -#include "commonj/sdo/SDODate.h" - -#define SequenceImplPtr RefCountingPointer<SequenceImpl> - -namespace commonj{ -namespace sdo{ - -class Property; /* forward declaration */ -class DataObjectImpl; - -/** SequenceImpl implements the abstract class Sequence. - * - * A sequence is a heterogeneous list of properties and corresponding values. - * It represents an ordered arbitrary mixture of data values from more - * than one property of a {@link DataObject data object}. - */ - -class SequenceImpl : public Sequence -{ - public: - /////////////////////////////////////////////////////////////////////////// - // Returns the number of entries in the sequence. - // @return the number of entries. - /////////////////////////////////////////////////////////////////////////// - virtual unsigned int size(); - - /////////////////////////////////////////////////////////////////////////// - // Returns the property for the given entry index. - /////////////////////////////////////////////////////////////////////////// - virtual const Property& getProperty(unsigned int index); - - /** - * Return the data object associated with this sequence - */ - - SDO_API virtual const DataObjectPtr getDataObject(); - - /////////////////////////////////////////////////////////////////////////// - // Returns the property for the given entry index. - /////////////////////////////////////////////////////////////////////////// - virtual unsigned int getIndex(const Property& p, unsigned int pindex=0); - virtual unsigned int getIndex(const char* propName, unsigned int pindex=0); - - virtual unsigned int getListIndex(unsigned int index); - - Type::Types getTypeEnum(unsigned int index); - - - /////////////////////////////////////////////////////////////////////////// - // Returns the property value for the given entry index. - // @param index the index of the entry. - // @return the value for the given entry index.. - /////////////////////////////////////////////////////////////////////////// - virtual const char* getCStringValue(unsigned int index); - virtual bool getBooleanValue(unsigned int index); - virtual char getByteValue(unsigned int index); - virtual wchar_t getCharacterValue(unsigned int index); - virtual unsigned int getStringValue(unsigned int index, wchar_t* val, unsigned int max); - virtual unsigned int getBytesValue(unsigned int index, char* val, unsigned int max); - virtual short getShortValue(unsigned int index); - virtual long getIntegerValue(unsigned int index); - virtual int64_t getLongValue(unsigned int index); - virtual float getFloatValue(unsigned int index); - virtual long double getDoubleValue(unsigned int index); - virtual const SDODate getDateValue(unsigned int index); - virtual DataObjectPtr getDataObjectValue(unsigned int index); - virtual const SDOValue& getSDOValue(unsigned int index); - - virtual unsigned int getLength(unsigned int index); - - /////////////////////////////////////////////////////////////////////////// - // sets the entry at a specified index to the new value. - // @param index the index of the entry. - // @param value the new value for the entry. - /////////////////////////////////////////////////////////////////////////// - - virtual void setCStringValue( unsigned int index, const char* s ); - virtual void setBooleanValue( unsigned int index, bool b ); - virtual void setByteValue( unsigned int index, char c ); - virtual void setCharacterValue( unsigned int index, wchar_t c ); - virtual void setBytesValue( unsigned int index, const char* s , unsigned int len); - virtual void setStringValue( unsigned int index, const wchar_t* s , unsigned int len); - virtual void setShortValue( unsigned int index, short s ); - virtual void setIntegerValue( unsigned int index, long i ); - virtual void setLongValue( unsigned int index, int64_t l ); - virtual void setFloatValue( unsigned int index, float f ); - virtual void setDoubleValue( unsigned int index, long double d ); - virtual void setDateValue( unsigned int index, const SDODate t ); - virtual void setDataObjectValue(unsigned int index, DataObjectPtr d ); - - - /////////////////////////////////////////////////////////////////////////// - // adds a new entry with the specified property name and value - // to the end of the entries. - // @param propertyName the name of the entry's property. - // @param value the value for the entry. - /////////////////////////////////////////////////////////////////////////// - virtual bool addCString( const char* propertyName,const char* s ); - virtual bool addBoolean( const char* propertyName,bool b ); - virtual bool addByte( const char* propertyName,char c ); - virtual bool addCharacter( const char* propertyName,wchar_t c ); - virtual bool addString( const char* propertyName,const wchar_t* s , unsigned int len); - virtual bool addBytes( const char* propertyName,const char* s , unsigned int len); - virtual bool addShort( const char* propertyName,short s ); - virtual bool addInteger( const char* propertyName,long i ); - virtual bool addLong( const char* propertyName,int64_t l ); - virtual bool addFloat( const char* propertyName,float f ); - virtual bool addDouble( const char* propertyName,long double d ); - virtual bool addDate( const char* propertyName,const SDODate t ); - virtual bool addDataObject(const char* propertyName,DataObjectPtr d ); - virtual bool addSDOValue(const char* propertyName, const SDOValue& sval); - - - /////////////////////////////////////////////////////////////////////////// - // adds a new entry with the specified property index and value - // to the end of the entries. - // @param propertyIndex the index of the entry's property. - // @param value the value for the entry. - /////////////////////////////////////////////////////////////////////////// - virtual bool addCString( unsigned int propertyIndex,const char* s ); - virtual bool addBoolean( unsigned int propertyIndex,bool b ); - virtual bool addByte( unsigned int propertyIndex,char c ); - virtual bool addCharacter( unsigned int propertyIndex,wchar_t c ); - virtual bool addString( unsigned int propertyIndex,const wchar_t* s , unsigned int len); - virtual bool addBytes( unsigned int propertyIndex,const char* s , unsigned int len); - virtual bool addShort( unsigned int propertyIndex,short s ); - virtual bool addInteger( unsigned int propertyIndex,long i ); - virtual bool addLong( unsigned int propertyIndex,int64_t l ); - virtual bool addFloat( unsigned int propertyIndex,float f ); - virtual bool addDouble( unsigned int propertyIndex,long double d ); - virtual bool addDate( unsigned int propertyIndex,const SDODate t ); - virtual bool addDataObject(unsigned int propertyIndex,DataObjectPtr d ); - virtual bool addSDOValue(unsigned int propertyIndex, const SDOValue& sval); - - - /////////////////////////////////////////////////////////////////////////// - // adds a new entry with the specified property and value - // to the end of the entries. - // @param property the property of the entry. - // @param value the value for the entry. - /////////////////////////////////////////////////////////////////////////// - - virtual bool addCString( const Property& property,const char* s ); - virtual bool addBoolean( const Property& property,bool b ); - virtual bool addByte( const Property& property,char c ); - virtual bool addCharacter( const Property& property,wchar_t c ); - virtual bool addString( const Property& property,const wchar_t* s , unsigned int len); - virtual bool addBytes( const Property& property,const char* s , unsigned int len); - virtual bool addShort( const Property& property,short s ); - virtual bool addInteger( const Property& property,long i ); - virtual bool addLong( const Property& property,int64_t l ); - virtual bool addFloat( const Property& property,float f ); - virtual bool addDouble( const Property& property,long double d ); - virtual bool addDate( const Property& property,const SDODate t ); - virtual bool addDataObject(const Property& property,DataObjectPtr d ); - virtual bool addSDOValue(const Property& property, const SDOValue& sval); - - - /////////////////////////////////////////////////////////////////////////// - // adds a new entry with the specified property name and value - // at the specified entry index. - // @param index the index at which to add the entry. - // @param propertyName the name of the entry's property. - // @param value the value for the entry. - /////////////////////////////////////////////////////////////////////////// - virtual bool addCString( unsigned int index,const char* propertyName,const char* s ); - virtual bool addBoolean( unsigned int index,const char* propertyName,bool b ); - virtual bool addByte( unsigned int index,const char* propertyName,char c ); - virtual bool addCharacter( unsigned int index,const char* propertyName,wchar_t c ); - virtual bool addString( unsigned int index,const char* propertyName,const wchar_t* s , unsigned int len); - virtual bool addBytes( unsigned int index,const char* propertyName,const char* s , unsigned int len); - virtual bool addShort( unsigned int index,const char* propertyName,short s ); - virtual bool addInteger( unsigned int index,const char* propertyName,long i ); - virtual bool addLong( unsigned int index,const char* propertyName,int64_t l ); - virtual bool addFloat( unsigned int index,const char* propertyName,float f ); - virtual bool addDouble( unsigned int index,const char* propertyName,long double d ); - virtual bool addDate( unsigned int index,const char* propertyName,const SDODate t ); - virtual bool addDataObject(unsigned int index,const char* propertyName,DataObjectPtr d ); - virtual bool addSDOValue(unsigned int index, const char* propertyName, const SDOValue& sval); - - /////////////////////////////////////////////////////////////////////////// - // adds a new entry with the specified property index and value - // at the specified entry index. - // @param index the index at which to add the entry. - // @param propertyIndex the index of the entry's property. - // @param value the value for the entry. - /////////////////////////////////////////////////////////////////////////// - virtual bool addCString( unsigned int index,unsigned int propertyIndex,const char* s ); - virtual bool addBoolean( unsigned int index,unsigned int propertyIndex,bool b ); - virtual bool addByte( unsigned int index,unsigned int propertyIndex,char c ); - virtual bool addCharacter( unsigned int index,unsigned int propertyIndex,wchar_t c ); - virtual bool addString( unsigned int index,unsigned int propertyIndex,const wchar_t* s , unsigned int len); - virtual bool addBytes( unsigned int index,unsigned int propertyIndex,const char* s , unsigned int len); - virtual bool addShort( unsigned int index,unsigned int propertyIndex,short s ); - virtual bool addInteger( unsigned int index,unsigned int propertyIndex,long i ); - virtual bool addLong( unsigned int index,unsigned int propertyIndex,int64_t l ); - virtual bool addFloat( unsigned int index,unsigned int propertyIndex,float f ); - virtual bool addDouble( unsigned int index,unsigned int propertyIndex,long double d ); - virtual bool addDate( unsigned int index,unsigned int propertyIndex,const SDODate t ); - virtual bool addDataObject(unsigned int index,unsigned int propertyIndex,DataObjectPtr d ); - virtual bool addSDOValue(unsigned int index, unsigned int propertyIndex, const SDOValue& sval); - - /////////////////////////////////////////////////////////////////////////// - // adds a new entry with the specified property and value - // at the specified entry index. - // @param index the index at which to add the entry. - // @param property the property of the entry. - // @param value the value for the entry. - /////////////////////////////////////////////////////////////////////////// - virtual bool addCString( unsigned int index,const Property& property,const char* s ); - virtual bool addBoolean( unsigned int index,const Property& property,bool b ); - virtual bool addByte( unsigned int index,const Property& property,char c ); - virtual bool addCharacter( unsigned int index,const Property& property,wchar_t c ); - virtual bool addString( unsigned int index,const Property& property,const wchar_t* s , unsigned int len); - virtual bool addBytes( unsigned int index,const Property& property,const char* s , unsigned int len); - virtual bool addShort( unsigned int index,const Property& property,short s ); - virtual bool addInteger( unsigned int index,const Property& property,long i ); - virtual bool addLong( unsigned int index,const Property& property,int64_t l ); - virtual bool addFloat( unsigned int index,const Property& property,float f ); - virtual bool addDouble( unsigned int index,const Property& property,long double d ); - virtual bool addDate( unsigned int index,const Property& property,const SDODate t ); - virtual bool addDataObject(unsigned int index,const Property& property,DataObjectPtr d ); - virtual bool addSDOValue(unsigned int index, const Property& property, const SDOValue& sval); - - /////////////////////////////////////////////////////////////////////////// - // removes the entry at the given entry index. - // @param index the index of the entry - /////////////////////////////////////////////////////////////////////////// - virtual void remove(unsigned int index); - virtual void removeAll(const Property& p); - - /////////////////////////////////////////////////////////////////////////// - // pushes a new entry without setting the property. - // @param index the index of the entry - /////////////////////////////////////////////////////////////////////////// - virtual void push(const Property& p, unsigned int index); - - /////////////////////////////////////////////////////////////////////////// - // Moves the entry at <code>fromIndex</code> to <code>toIndex</code>. - // @param toIndex the index of the entry destination. - // @param fromIndex the index of the entry to move. - /////////////////////////////////////////////////////////////////////////// - virtual void move(unsigned int toIndex, unsigned int fromIndex); - - /////////////////////////////////////////////////////////////////////////// - // adds a new Setting with the SDO text Property - // to the end of the Settings. - // @param text value of the Setting. - /////////////////////////////////////////////////////////////////////////// - virtual bool addText(const char* text); - - /////////////////////////////////////////////////////////////////////////// - // adds a new Setting with the SDO text Property - // to the Settings. - // @param index the index at which to add the entry. - // @param text value of the Setting. - /////////////////////////////////////////////////////////////////////////// - virtual bool addText(unsigned int index, const char* text); - - /////////////////////////////////////////////////////////////////////////// - // sets a text Property - // @param index the index at which to set the entry. - // @param text value of the Setting. - /////////////////////////////////////////////////////////////////////////// - bool setText(unsigned int index, const char* text); - - /////////////////////////////////////////////////////////////////////////// - // Checks if an entry is text or a setting. - /////////////////////////////////////////////////////////////////////////// - virtual bool isText(unsigned int index); - - SequenceImpl(DataObject* the_do); - SequenceImpl(SequenceImpl* s); - - private: - - SequenceImpl(); - - DataObjectImpl* the_do; - - class seq_item { - public: - // Constructors - seq_item(const Property* p, unsigned int i): - the_prop(p), index(i), freeText(0) - { - } - seq_item(const char* t) : - the_prop(0) - { - freeText = new SDOValue(t); - } - // Copy constructor - seq_item(const seq_item& sin) : - index(sin.index), freeText(0), the_prop(sin.the_prop) - { - if (sin.freeText != 0) - { - freeText = new SDOValue(*sin.freeText); - } - } - - // Copy assignment - seq_item& operator=(const seq_item& sin) - { - if (this != &sin) - { - if (freeText) - { - delete freeText; - } - if (sin.freeText != 0) - { - freeText = new SDOValue(*sin.freeText); - } - } - return *this; - } - - // Destructor - ~seq_item() - { - if (freeText) - { - delete freeText; - } - } - - - const Property* getProp() {return the_prop;} - unsigned int getIndex() { return index;} - - const char* getText() - { - return freeText->getCString(); - } - - const SDOValue* getFreeText() - { - return freeText; - } - - void setProp(Property* p) { the_prop = p;} - - void setText(const char* intext) - { - if (intext != 0) - { - if (freeText != 0) - { - delete freeText; - } - freeText = new SDOValue(intext); - } - } - void setIndex(unsigned int i) - { - index = i; - } - private: - const Property* the_prop; - unsigned int index; - SDOValue* freeText; - }; - - typedef std::list<seq_item> SEQUENCE_ITEM_LIST; - virtual void checkRange(unsigned int index, SEQUENCE_ITEM_LIST::iterator& i); - - SEQUENCE_ITEM_LIST the_list; - -}; -}; -}; - -#endif //_SEQUENCE_H_ |