Fesapi  0.13.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_NS
24 {
25  class DLL_IMPORT_OR_EXPORT AbstractProperty: public COMMON_NS::AbstractObject
26  {
27  public:
28 
32  AbstractProperty(gsoap_resqml2_0_1::eml20__DataObjectReference* partialObject) : COMMON_NS::AbstractObject(partialObject) {}
33 
38  AbstractProperty(): local3dCrs(nullptr) {}
39 
43  AbstractProperty(gsoap_resqml2_0_1::resqml2__AbstractProperty* fromGsoap) : COMMON_NS::AbstractObject(fromGsoap), local3dCrs(nullptr) {}
44 
48  virtual ~AbstractProperty() {}
49 
53  void setRepresentation(class AbstractRepresentation * rep);
54 
58  gsoap_resqml2_0_1::eml20__DataObjectReference* getRepresentationDor() const;
59 
63  class AbstractRepresentation* getRepresentation() const;
64 
65  /*
66  * Getter for the uuid of the representation which is described by this property
67  */
68  std::string getRepresentationUuid() const;
69 
70  /*
71  * Getter for the title of the representation which is described by this property
72  */
73  std::string getRepresentationTitle() const;
74 
75  /*
76  * Getter for the content type of the representation which is described by this property
77  */
78  std::string getRepresentationContentType() const;
79 
83  void setTimeSeries(class TimeSeries * ts);
84 
88  TimeSeries* getTimeSeries() const;
89 
93  gsoap_resqml2_0_1::eml20__DataObjectReference* getTimeSeriesDor() const;
94 
95  /*
96  * Getter for the uuid of the time series which is associated to this property.
97  */
98  std::string getTimeSeriesUuid() const;
99 
100  /*
101  * Getter for the uuid of the time series which is associated to this property.
102  */
103  std::string getTimeSeriesTitle() const;
104 
111  void setTimeIndex(const unsigned int & timeIndex, class TimeSeries * ts);
112 
116  void setTimeStep(const unsigned int & timeStep);
117 
122  time_t getTimestamp() const;
123 
127  unsigned int getTimeIndex() const;
128 
132  void setHdfProxy(COMMON_NS::AbstractHdfProxy * proxy);
133 
137  COMMON_NS::AbstractHdfProxy* getHdfProxy() const;
138 
139  /*
140  * Getter for the uuid of the hdf proxy which is used for storing the numerical values of this property.
141  * An empty string is returned if no hd fproxy is used for storing the numerical values.
142  */
143  std::string getHdfProxyUuid() const;
144 
151  unsigned int getElementCountPerValue() const;
152 
156  gsoap_resqml2_0_1::resqml2__IndexableElements getAttachmentKind() const;
157 
161  bool isAssociatedToOneStandardEnergisticsPropertyKind() const;
162 
163  //*********************************************
164  //****** PROP KIND ****************************
165  //*********************************************
166 
170  std::string getPropertyKindDescription() const;
171 
175  std::string getPropertyKindAsString() const;
176 
180  std::string getPropertyKindParentAsString() const;
181 
185  gsoap_resqml2_0_1::resqml2__ResqmlPropertyKind getEnergisticsPropertyKind() const;
186 
190  void setLocalPropertyKind(class PropertyKind* propKind);
191 
195  gsoap_resqml2_0_1::eml20__DataObjectReference* getLocalPropertyKindDor() const;
196 
200  std::string getLocalPropertyKindUuid() const;
201 
205  std::string getLocalPropertyKindTitle() const;
206 
211  class PropertyKind* getLocalPropertyKind() const;
212 
216  virtual bool validatePropertyKindAssociation(class PropertyKind* pk) = 0;
217 
221  virtual bool validatePropertyKindAssociation(const gsoap_resqml2_0_1::resqml2__ResqmlPropertyKind & pk) = 0;
222 
223  protected:
224 
225  void setXmlRepresentation(class AbstractRepresentation * rep);
226  void setXmlTimeSeries(TimeSeries * ts);
227  void setXmlLocalPropertyKind(class PropertyKind* propKind);
228 
229  virtual std::vector<epc::Relationship> getAllEpcRelationships() const;
230  virtual void importRelationshipSetFromEpc(COMMON_NS::EpcDocument * epcDoc);
231 
232  class AbstractLocal3dCrs * local3dCrs;
233  };
234 }
235 
Definition: AbstractRepresentation.h:31
Definition: TimeSeries.h:25
AbstractProperty(gsoap_resqml2_0_1::eml20__DataObjectReference *partialObject)
Definition: AbstractProperty.h:32
Definition: EpcDocument.h:154
virtual ~AbstractProperty()
Definition: AbstractProperty.h:48
Definition: AbstractObject.h:27
Definition: AbstractProperty.h:25
AbstractProperty(gsoap_resqml2_0_1::resqml2__AbstractProperty *fromGsoap)
Definition: AbstractProperty.h:43
Definition: AbstractHdfProxy.h:30
Definition: PropertyKind.h:25
AbstractProperty()
Definition: AbstractProperty.h:38
Definition: AbstractLocal3dCrs.h:25
Definition: AbstractHdfProxy.h:28
Definition: EpcDocument.h:49