Fesapi  1.0.0.0
This project provides C++ classes which allow an easy access in import and export to the Energistics standards.
AbstractProperty.h
1 /*-----------------------------------------------------------------------
2 Licensed to the Apache Software Foundation (ASF) under one
3 or more contributor license agreements. See the NOTICE file
4 distributed with this work for additional information
5 regarding copyright ownership. The ASF licenses this file
6 to you under the Apache License, Version 2.0 (the
7 "License"; you may not use this file except in compliance
8 with the License. You may obtain a copy of the License at
9 
10  http://www.apache.org/licenses/LICENSE-2.0
11 
12 Unless required by applicable law or agreed to in writing,
13 software distributed under the License is distributed on an
14 "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15 KIND, either express or implied. See the License for the
16 specific language governing permissions and limitations
17 under the License.
18 -----------------------------------------------------------------------*/
19 #pragma once
20 
21 #include "../common/AbstractObject.h"
22 
23 namespace RESQML2_0_1_NS
24 {
25  class PropertySet;
26 }
27 
28 namespace RESQML2_NS
29 {
31  {
32  protected:
33 
37  DLL_IMPORT_OR_EXPORT AbstractProperty(gsoap_resqml2_0_1::eml20__DataObjectReference* partialObject) : COMMON_NS::AbstractObject(partialObject) {}
38 
43 
47  AbstractProperty(gsoap_resqml2_0_1::resqml20__AbstractProperty* fromGsoap) : COMMON_NS::AbstractObject(fromGsoap) {}
48 
49  public:
50 
54  virtual ~AbstractProperty() {}
55 
59  DLL_IMPORT_OR_EXPORT void setRepresentation(class AbstractRepresentation * rep);
60 
64  gsoap_resqml2_0_1::eml20__DataObjectReference* getRepresentationDor() const;
65 
69  DLL_IMPORT_OR_EXPORT class AbstractRepresentation* getRepresentation() const;
70 
71  /*
72  * Getter for the uuid of the representation which is described by this property
73  */
74  DLL_IMPORT_OR_EXPORT std::string getRepresentationUuid() const;
75 
76  /*
77  * Getter for the title of the representation which is described by this property
78  */
79  DLL_IMPORT_OR_EXPORT std::string getRepresentationTitle() const;
80 
81  /*
82  * Getter for the content type of the representation which is described by this property
83  */
84  DLL_IMPORT_OR_EXPORT std::string getRepresentationContentType() const;
85 
92  DLL_IMPORT_OR_EXPORT unsigned int getElementCountPerValue() const;
93 
97  DLL_IMPORT_OR_EXPORT gsoap_resqml2_0_1::resqml20__IndexableElements getAttachmentKind() const;
98 
102  DLL_IMPORT_OR_EXPORT std::vector<RESQML2_NS::PropertySet *> getPropertySets() const;
103 
104  DLL_IMPORT_OR_EXPORT unsigned int getPropertySetCount() const;
105 
106  DLL_IMPORT_OR_EXPORT RESQML2_NS::PropertySet * getPropertySet(unsigned int index) const;
107 
108  //*********************************************
109  //****** REALIZATION DIMENSION ****************
110  //*********************************************
111 
115  DLL_IMPORT_OR_EXPORT bool hasRealizationIndex() const;
116 
121  DLL_IMPORT_OR_EXPORT ULONG64 getRealizationIndex() const;
122 
126  DLL_IMPORT_OR_EXPORT void setRealizationIndex(ULONG64 realizationIndex);
127 
128  //*********************************************
129  //****** TIME DIMENSION ***********************
130  //*********************************************
131 
135  DLL_IMPORT_OR_EXPORT void setTimeSeries(class TimeSeries * ts);
136 
140  DLL_IMPORT_OR_EXPORT TimeSeries* getTimeSeries() const;
141 
145  gsoap_resqml2_0_1::eml20__DataObjectReference* getTimeSeriesDor() const;
146 
147  /*
148  * Getter for the uuid of the time series which is associated to this property.
149  */
150  DLL_IMPORT_OR_EXPORT std::string getTimeSeriesUuid() const;
151 
152  /*
153  * Getter for the uuid of the time series which is associated to this property.
154  */
155  DLL_IMPORT_OR_EXPORT std::string getTimeSeriesTitle() const;
156 
163  DLL_IMPORT_OR_EXPORT void setTimeIndex(const unsigned int & timeIndex, class TimeSeries * ts);
164 
168  DLL_IMPORT_OR_EXPORT void setTimeStep(const unsigned int & timeStep);
169 
174  DLL_IMPORT_OR_EXPORT time_t getTimestamp() const;
175 
179  DLL_IMPORT_OR_EXPORT unsigned int getTimeIndex() const;
180 
181  //*********************************************
182  //****** PROP KIND ****************************
183  //*********************************************
184 
188  DLL_IMPORT_OR_EXPORT bool isAssociatedToOneStandardEnergisticsPropertyKind() const;
189 
193  DLL_IMPORT_OR_EXPORT std::string getPropertyKindDescription() const;
194 
198  DLL_IMPORT_OR_EXPORT std::string getPropertyKindAsString() const;
199 
203  DLL_IMPORT_OR_EXPORT std::string getPropertyKindParentAsString() const;
204 
208  DLL_IMPORT_OR_EXPORT gsoap_resqml2_0_1::resqml20__ResqmlPropertyKind getEnergisticsPropertyKind() const;
209 
213  DLL_IMPORT_OR_EXPORT void setLocalPropertyKind(class PropertyKind* propKind);
214 
218  gsoap_resqml2_0_1::eml20__DataObjectReference* getLocalPropertyKindDor() const;
219 
223  DLL_IMPORT_OR_EXPORT std::string getLocalPropertyKindUuid() const;
224 
228  DLL_IMPORT_OR_EXPORT std::string getLocalPropertyKindTitle() const;
229 
234  DLL_IMPORT_OR_EXPORT class PropertyKind* getLocalPropertyKind() const;
235 
239  virtual bool validatePropertyKindAssociation(class PropertyKind* pk) = 0;
240 
244  virtual bool validatePropertyKindAssociation(gsoap_resqml2_0_1::resqml20__ResqmlPropertyKind pk) = 0;
245 
249  bool validate();
250 
251  protected:
252 
253  virtual void loadTargetRelationships();
254  };
255 }
RESQML2_NS::PropertyKind
Definition: PropertyKind.h:25
RESQML2_NS::AbstractProperty::getElementCountPerValue
DLL_IMPORT_OR_EXPORT unsigned int getElementCountPerValue() const
RESQML2_NS::AbstractProperty::getRepresentation
DLL_IMPORT_OR_EXPORT class AbstractRepresentation * getRepresentation() const
RESQML2_NS::AbstractProperty::getPropertyKindDescription
DLL_IMPORT_OR_EXPORT std::string getPropertyKindDescription() const
RESQML2_NS::AbstractProperty::getTimeIndex
DLL_IMPORT_OR_EXPORT unsigned int getTimeIndex() const
RESQML2_NS::AbstractProperty::AbstractProperty
DLL_IMPORT_OR_EXPORT AbstractProperty(gsoap_resqml2_0_1::eml20__DataObjectReference *partialObject)
Definition: AbstractProperty.h:37
RESQML2_NS::AbstractProperty::getLocalPropertyKindTitle
DLL_IMPORT_OR_EXPORT std::string getLocalPropertyKindTitle() const
RESQML2_NS::TimeSeries
Definition: TimeSeries.h:28
RESQML2_NS::AbstractProperty::hasRealizationIndex
DLL_IMPORT_OR_EXPORT bool hasRealizationIndex() const
RESQML2_NS::AbstractProperty::getLocalPropertyKindUuid
DLL_IMPORT_OR_EXPORT std::string getLocalPropertyKindUuid() const
RESQML2_NS::AbstractProperty::isAssociatedToOneStandardEnergisticsPropertyKind
DLL_IMPORT_OR_EXPORT bool isAssociatedToOneStandardEnergisticsPropertyKind() const
RESQML2_NS::AbstractProperty::getPropertySets
DLL_IMPORT_OR_EXPORT std::vector< RESQML2_NS::PropertySet * > getPropertySets() const
RESQML2_NS::AbstractProperty::getPropertyKindAsString
DLL_IMPORT_OR_EXPORT std::string getPropertyKindAsString() const
RESQML2_NS::AbstractProperty::getPropertyKindParentAsString
DLL_IMPORT_OR_EXPORT std::string getPropertyKindParentAsString() const
RESQML2_NS::AbstractRepresentation
Definition: AbstractRepresentation.h:27
RESQML2_NS::AbstractProperty::validate
bool validate()
COMMON_NS::AbstractObject::AbstractObject
AbstractObject()
RESQML2_NS::AbstractProperty::setRepresentation
DLL_IMPORT_OR_EXPORT void setRepresentation(class AbstractRepresentation *rep)
RESQML2_NS::AbstractProperty::setRealizationIndex
DLL_IMPORT_OR_EXPORT void setRealizationIndex(ULONG64 realizationIndex)
RESQML2_NS::AbstractProperty::getEnergisticsPropertyKind
DLL_IMPORT_OR_EXPORT gsoap_resqml2_0_1::resqml20__ResqmlPropertyKind getEnergisticsPropertyKind() const
RESQML2_NS::AbstractProperty::AbstractProperty
AbstractProperty(gsoap_resqml2_0_1::resqml20__AbstractProperty *fromGsoap)
Definition: AbstractProperty.h:47
RESQML2_NS::AbstractProperty::getTimestamp
DLL_IMPORT_OR_EXPORT time_t getTimestamp() const
RESQML2_NS::AbstractProperty::setTimeIndex
DLL_IMPORT_OR_EXPORT void setTimeIndex(const unsigned int &timeIndex, class TimeSeries *ts)
RESQML2_NS::AbstractProperty::getLocalPropertyKind
DLL_IMPORT_OR_EXPORT class PropertyKind * getLocalPropertyKind() const
RESQML2_NS::AbstractProperty::getLocalPropertyKindDor
gsoap_resqml2_0_1::eml20__DataObjectReference * getLocalPropertyKindDor() const
RESQML2_NS::AbstractProperty::getAttachmentKind
DLL_IMPORT_OR_EXPORT gsoap_resqml2_0_1::resqml20__IndexableElements getAttachmentKind() const
RESQML2_NS::AbstractProperty::getRepresentationDor
gsoap_resqml2_0_1::eml20__DataObjectReference * getRepresentationDor() const
RESQML2_NS::AbstractProperty::getTimeSeriesDor
gsoap_resqml2_0_1::eml20__DataObjectReference * getTimeSeriesDor() const
RESQML2_NS::AbstractProperty::setTimeSeries
DLL_IMPORT_OR_EXPORT void setTimeSeries(class TimeSeries *ts)
RESQML2_NS::AbstractProperty::getRealizationIndex
DLL_IMPORT_OR_EXPORT ULONG64 getRealizationIndex() const
RESQML2_NS::AbstractProperty::setLocalPropertyKind
DLL_IMPORT_OR_EXPORT void setLocalPropertyKind(class PropertyKind *propKind)
RESQML2_NS::AbstractProperty::AbstractProperty
AbstractProperty()
Definition: AbstractProperty.h:42
RESQML2_NS::AbstractProperty
Definition: AbstractProperty.h:30
RESQML2_NS::AbstractProperty::loadTargetRelationships
virtual void loadTargetRelationships()
RESQML2_NS::AbstractProperty::setTimeStep
DLL_IMPORT_OR_EXPORT void setTimeStep(const unsigned int &timeStep)
RESQML2_NS::AbstractProperty::~AbstractProperty
virtual ~AbstractProperty()
Definition: AbstractProperty.h:54
RESQML2_NS::AbstractProperty::getTimeSeries
DLL_IMPORT_OR_EXPORT TimeSeries * getTimeSeries() const
COMMON_NS::AbstractObject
Definition: AbstractObject.h:27
RESQML2_NS::PropertySet
Definition: PropertySet.h:29
RESQML2_NS::AbstractProperty::validatePropertyKindAssociation
virtual bool validatePropertyKindAssociation(class PropertyKind *pk)=0