Go to the documentation of this file.00001
00002
00003
00004
00007 #pragma once
00008
00009 #include "omtNode.h"
00010
00011 #include <vlutil/vlString.h>
00012
00013 class DT_DLL_OMTREADER DtComplexComponentNode : public DtOMTNode
00014 {
00015
00016 public:
00017
00018 enum DtCardinalityType
00019 { DtFixed = 0,
00020 DtRange,
00021 DtConditional,
00022 DtZeroTerminated,
00023
00024 DtLocation,
00025 DtExternalCount,
00026 DtModulus};
00027
00028 public:
00029
00031 DtComplexComponentNode();
00032
00034 virtual ~DtComplexComponentNode();
00035
00037 DtComplexComponentNode(const DtComplexComponentNode& orig);
00038
00040 DtComplexComponentNode& operator=(const DtComplexComponentNode& rhs);
00041
00042 public:
00043
00044 virtual void setDatatype(const DtString&);
00045 virtual const DtString& getDatatype();
00046
00047 virtual void setCardinality(const DtString&);
00048 virtual const DtString& getCardinality();
00049
00050 virtual void setAccuracy(const DtString&);
00051 virtual const DtString& getAccuracy();
00052
00053 virtual void setAccuracyCondition(const DtString&);
00054 virtual const DtString& getAccuracyCondition();
00055
00058 virtual int getMinimumCardinality();
00059 virtual int getMaximumCardinality();
00060 virtual const DtString& getConditionalComponent();
00061 virtual const DtString& getConditionalValue();
00062 virtual DtCardinalityType getCardinalityType();
00063
00064 protected:
00065
00066 virtual void setDerivedValues();
00067
00068
00069 protected:
00070 DtString myDatatype;
00071 DtString myCardinality;
00072 DtString myAccuracy;
00073 DtString myAccuracyCondition;
00074
00075 int myMinimumCardinality;
00076 int myMaximumCardinality;
00077 DtString myConditionalComponent;
00078 DtString myConditionalValue;
00079 DtCardinalityType myCardinalityType;
00080 };
00081
00082