Fesapi 2.9.0.1
This project provides C++ classes which allow an easy access in import and export to the Energistics standards.
Loading...
Searching...
No Matches
DiscreteProperty.h
1/*-----------------------------------------------------------------------
2Licensed to the Apache Software Foundation (ASF) under one
3or more contributor license agreements. See the NOTICE file
4distributed with this work for additional information
5regarding copyright ownership. The ASF licenses this file
6to you under the Apache License, Version 2.0 (the
7"License"; you may not use this file except in compliance
8with the License. You may obtain a copy of the License at
9
10 http://www.apache.org/licenses/LICENSE-2.0
11
12Unless required by applicable law or agreed to in writing,
13software distributed under the License is distributed on an
14"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15KIND, either express or implied. See the License for the
16specific language governing permissions and limitations
17under the License.
18-----------------------------------------------------------------------*/
19#pragma once
20
21#include "../resqml2/DiscreteProperty.h"
22
23namespace RESQML2_0_1_NS
24{
30 class DiscreteProperty final : public RESQML2_NS::DiscreteProperty
31 {
32 public:
33
39 DLL_IMPORT_OR_EXPORT DiscreteProperty(gsoap_resqml2_0_1::eml20__DataObjectReference* partialObject) : RESQML2_NS::DiscreteProperty(partialObject) {}
40
60 DiscreteProperty(RESQML2_NS::AbstractRepresentation* rep, const std::string& guid, const std::string& title,
61 unsigned int dimension, gsoap_eml2_3::eml23__IndexableElement attachmentKind, gsoap_resqml2_0_1::resqml20__ResqmlPropertyKind energisticsPropertyKind);
62
81 DiscreteProperty(RESQML2_NS::AbstractRepresentation* rep, const std::string& guid, const std::string& title,
82 unsigned int dimension, gsoap_eml2_3::eml23__IndexableElement attachmentKind, EML2_NS::PropertyKind* localPropKind);
83
89 DiscreteProperty(gsoap_resqml2_0_1::_resqml20__DiscreteProperty* fromGsoap): RESQML2_NS::DiscreteProperty(fromGsoap) {}
90
92 ~DiscreteProperty() = default;
93
94 DLL_IMPORT_OR_EXPORT std::string pushBackRefToExistingIntegerDataset(EML2_NS::AbstractHdfProxy* proxy, const std::string & datasetName, int64_t nullValue, int64_t minimumValue, int64_t maximumValue) final;
95 using AbstractValuesProperty::pushBackRefToExistingIntegerDataset;
96
97 bool validatePropertyKindAssociation(EML2_NS::PropertyKind* pk) final;
98
99 bool validatePropertyKindAssociation(gsoap_resqml2_0_1::resqml20__ResqmlPropertyKind pk) final;
100
101 DLL_IMPORT_OR_EXPORT int64_t getNullValue(uint64_t patchIndex = (std::numeric_limits<uint64_t>::max)()) const final;
102
103 DLL_IMPORT_OR_EXPORT bool hasMinimumValue(uint64_t index = 0) const final;
104
105 DLL_IMPORT_OR_EXPORT int64_t getMinimumValue(uint64_t index = 0) const final;
106
107 DLL_IMPORT_OR_EXPORT bool hasMaximumValue(uint64_t index = 0) const final;
108
109 DLL_IMPORT_OR_EXPORT int64_t getMaximumValue(uint64_t index = 0) const final;
110
111 DLL_IMPORT_OR_EXPORT void setMinimumValue(int64_t value, uint64_t index = 0) const final;
112
113 DLL_IMPORT_OR_EXPORT void setMaximumValue(int64_t value, uint64_t index = 0) const;
114
123 DLL_IMPORT_OR_EXPORT gsoap_resqml2_0_1::resqml20__ResqmlPropertyKind getEnergisticsPropertyKind() const;
124
128 DLL_IMPORT_OR_EXPORT static const char* XML_NS;
129
133 DLL_IMPORT_OR_EXPORT std::string getXmlNamespace() const final{ return XML_NS; }
134
135 private:
136
137 size_t getMinimumValueSize() const;
138 size_t getMaximumValueSize() const;
139
140 };
141}
Definition DiscreteProperty.h:31
DiscreteProperty(resqml2 ::AbstractRepresentation *rep, const std::string &guid, const std::string &title, unsigned int dimension, gsoap_eml2_3::eml23__IndexableElement attachmentKind, gsoap_resqml2_0_1::resqml20__ResqmlPropertyKind energisticsPropertyKind)
DiscreteProperty(gsoap_resqml2_0_1::_resqml20__DiscreteProperty *fromGsoap)
Definition DiscreteProperty.h:89
DiscreteProperty(gsoap_resqml2_0_1::eml20__DataObjectReference *partialObject)
Definition DiscreteProperty.h:39
DiscreteProperty(resqml2 ::AbstractRepresentation *rep, const std::string &guid, const std::string &title, unsigned int dimension, gsoap_eml2_3::eml23__IndexableElement attachmentKind, eml2 ::PropertyKind *localPropKind)