Fesapi  2.0.0.0
This project provides C++ classes which allow an easy access in import and export to the Energistics standards.
Public Types | Public Member Functions | Static Public Member Functions | Friends | List of all members
common::AbstractObject Class Referenceabstract

An abstract data object. More...

#include <AbstractObject.h>

Inheritance diagram for common::AbstractObject:
WITSML2_NS::AbstractObject eml2::Activity eml2::ActivityTemplate eml2::EpcExternalPartReference eml2::GraphicalInformationSet eml2::PropertyKind eml2::TimeSeries prodml2_1::FluidCharacterization prodml2_1::FluidSystem prodml2_1::TimeSeriesData resqml2::AbstractColorMap resqml2::AbstractFeature resqml2::AbstractFeatureInterpretation resqml2::AbstractLocal3dCrs resqml2::AbstractProperty resqml2::AbstractRepresentation resqml2::DoubleTableLookup resqml2::MdDatum resqml2::PropertySet resqml2::StratigraphicColumn resqml2::StringTableLookup resqml2::WellboreMarker

Public Types

enum  hdfDatatypeEnum {
  UNKNOWN = 0 , DOUBLE = 1 , FLOAT = 2 , LONG_64 = 3 ,
  ULONG_64 = 4 , INT = 5 , UINT = 6 , SHORT = 7 ,
  USHORT = 8 , CHAR = 9 , UCHAR = 10
}
 

Public Member Functions

bool isPartial () const
 
virtual bool isTopLevelElement () const
 
std::string getUuid () const
 
std::string getTitle () const
 
std::string getEditor () const
 
time_t getCreation () const
 
tm getCreationAsTimeStructure () const
 
std::string getOriginator () const
 
std::string getDescription () const
 
time_t getLastUpdate () const
 
tm getLastUpdateAsTimeStructure () const
 
std::string getFormat () const
 
std::string getDescriptiveKeywords () const
 
std::string getVersion () const
 
void setTitle (const std::string &title)
 
void setEditor (const std::string &editor)
 
void setCreation (time_t creation)
 
void setCreation (const tm &creation)
 
void setOriginator (const std::string &originator)
 
void setDescription (const std::string &description)
 
void setLastUpdate (time_t lastUpdate)
 
void setLastUpdate (const tm &lastUpdate)
 
void setDescriptiveKeywords (const std::string &descriptiveKeywords)
 
void setVersion (const std::string &version)
 
void setMetadata (const std::string &title, const std::string &editor, time_t creation, const std::string &originator, const std::string &description, time_t lastUpdate, const std::string &descriptiveKeywords)
 
void serializeIntoStream (std::ostream *stream)
 
void setGsoapProxy (gsoap_resqml2_0_1::eml20__AbstractCitedDataObject *gsoapProxy)
 
void setGsoapProxy (gsoap_eml2_1::eml21__AbstractObject *gsoapProxy)
 
gsoap_resqml2_0_1::eml20__AbstractCitedDataObject * getEml20GsoapProxy () const
 
gsoap_eml2_1::eml21__AbstractObject * getEml21GsoapProxy () const
 
gsoap_eml2_2::eml22__AbstractObject * getEml22GsoapProxy () const
 
void setGsoapProxy (gsoap_eml2_2::eml22__AbstractObject *gsoapProxy)
 
gsoap_eml2_3::eml23__AbstractObject * getEml23GsoapProxy () const
 
void setGsoapProxy (gsoap_eml2_3::eml23__AbstractObject *gsoapProxy)
 
soap * getGsoapContext () const
 
int getGsoapType () const
 
gsoap_resqml2_0_1::eml20__DataObjectReference * newResqmlReference () const
 
gsoap_eml2_1::eml21__DataObjectReference * newEmlReference () const
 
gsoap_eml2_2::eml22__DataObjectReference * newEml22Reference () const
 
gsoap_eml2_3::eml23__DataObjectReference * newEml23Reference () const
 
gsoap_resqml2_0_1::resqml20__ContactElementReference * newContactElementReference2_0_1 () const
 
gsoap_eml2_3::resqml22__ContactElement * newContactElementReference2_2 () const
 
common::DataObjectRepositorygetRepository () const
 
virtual std::string getXmlNamespace () const =0
 
virtual std::string getXmlTag () const =0
 
virtual std::string getXmlNamespaceVersion () const
 
virtual std::string getContentType () const
 
virtual std::string getQualifiedType () const
 
virtual std::string getPartNameInEpcDocument () const
 
std::string serializeIntoString ()
 
void addAlias (const std::string &authority, const std::string &title)
 
unsigned int getAliasCount () const
 
std::string getAliasAuthorityAtIndex (unsigned int index) const
 
std::string getAliasTitleAtIndex (unsigned int index) const
 
std::vector< eml2::Activity * > getActivitySet () const
 
unsigned int getActivityCount () const
 
eml2::ActivitygetActivity (unsigned int index) const
 
void pushBackExtraMetadata (const std::string &key, const std::string &value)
 
std::unordered_map< std::string, std::string > getExtraMetadataSet () const
 
std::vector< std::string > getExtraMetadata (const std::string &key) const
 
unsigned int getExtraMetadataCount () const
 
std::string getExtraMetadataKeyAtIndex (unsigned int index) const
 
std::string getExtraMetadataStringValueAtIndex (unsigned int index) const
 
virtual void loadTargetRelationships ()=0
 

Static Public Member Functions

static void setFormat (const std::string &vendor, const std::string &applicationName, const std::string &applicationVersionNumber)
 

Friends

common::AbstractObjectcommon::DataObjectRepository::addOrReplaceDataObject (AbstractObject *proxy, bool replaceOnlyContent)
 

Detailed Description

An abstract data object.

Member Function Documentation

◆ addAlias()

void common::AbstractObject::addAlias ( const std::string &  authority,
const std::string &  title 
)

Adds an alias for this data object

Exceptions
std::invalid_argumentIf this instance is actually a partial object.
std::range_errorIf authority or title is more than 64 chars long.
Parameters
authorityThe authority of the alias.
titleThe title of the alias.

◆ getActivity()

eml2::Activity* common::AbstractObject::getActivity ( unsigned int  index) const

Gets an associated activity at a particular index

Exceptions
std::invalid_argumentIf this instance is actually a partial object or if there is no underlying gSOAP proxy.
std::out_of_rangeIf index is out of range.
Parameters
indexZero-based index of the asked activity.
Returns
The associated activity at index.

◆ getActivityCount()

unsigned int common::AbstractObject::getActivityCount ( ) const

Gets the count of the activities where this instance is involved

Exceptions
std::out_of_rangeIf the count of activities is strictly greater than unsigned int max.
Returns
The count of all activities involving this instance.

◆ getActivitySet()

std::vector<eml2::Activity*> common::AbstractObject::getActivitySet ( ) const

Gets all the activities where this instance is involved

Returns
The vector of all activities involving this instance.

◆ getAliasAuthorityAtIndex()

std::string common::AbstractObject::getAliasAuthorityAtIndex ( unsigned int  index) const

Gets the alias authority at a particular index in the aliases set

Exceptions
std::invalid_argumentIf this instance is actually a partial object or if there is no underlying gSOAP proxy.
std::out_of_rangeIf index is out of range.
Parameters
indexZero-based index of the asked alias authority.
Returns
The alias authority at index.

◆ getAliasCount()

unsigned int common::AbstractObject::getAliasCount ( ) const

Gets the count of aliases in this instance

Exceptions
std::invalid_argumentIf this instance is actually a partial object.
std::range_errorIf the count of aliases is strictly greater than unsigned int max.
Returns
The alias count of this instance.

◆ getAliasTitleAtIndex()

std::string common::AbstractObject::getAliasTitleAtIndex ( unsigned int  index) const

Gets the alias title at a particular index in the aliases set

Exceptions
std::invalid_argumentIf this instance is actually a partial object or if there is no underlying gSOAP proxy.
std::out_of_rangeIf index is out of range.
Parameters
indexZero-based index of the asked alias title.
Returns
The alias title at index.

◆ getContentType()

virtual std::string common::AbstractObject::getContentType ( ) const
virtual

Gets the content type of this instance according to EPC recommendation

Returns
The content type of this instance.

Reimplemented in WITSML2_1_NS::AbstractObject, and witsml2_0::AbstractObject.

◆ getCreation()

time_t common::AbstractObject::getCreation ( ) const

Gets the date and time the data object was created in the source application or, if that information is not available, when it was saved to the file. This is the equivalent of the ISO 19115 CI_Date where the CI_DateTypeCode is creation

Exceptions
std::invalid_argumentIf this instance is actually a partial object or if no available gSOAP proxy instance is associated to this data object.
Returns
The creation date and time of the data object.

◆ getCreationAsTimeStructure()

tm common::AbstractObject::getCreationAsTimeStructure ( ) const

Same as getCreation(). Please use this method if you want to read some dates out of the range of time_t

Exceptions
std::invalid_argumentIf this instance is actually a partial object or if no available gSOAP proxy instance is associated to this data object.
Returns
The creation date and time of the data object.

◆ getDescription()

std::string common::AbstractObject::getDescription ( ) const

Gets the user descriptive comments about this data object. Intended for end-user use (human readable); not necessarily meant to be used by software. This is the equivalent of the ISO 19115 abstract.CharacterString

Exceptions
std::invalid_argumentIf this instance is actually a partial object.
Returns
The description of this data object if it is defined, else empty string.

◆ getDescriptiveKeywords()

std::string common::AbstractObject::getDescriptiveKeywords ( ) const

Gets the key words to describe the activity, for example, history match or volumetric calculations, relevant to this data object. Intended to be used in a search function by software. This is the equivalent in ISO 19115 of descriptiveKeywords.MD_Keywords

Exceptions
std::invalid_argumentIf this instance is actually a partial object.
Returns
The key words to describe the activity relevant to this data object if they are defined, else empty string.

◆ getEditor()

std::string common::AbstractObject::getEditor ( ) const

Gets the name (or other human-readable identifier) of the last person who updated the object. In ISO 19115, this is equivalent to the CI_Individual.name or the CI_Organization.name of the citedResponsibleParty whose role is editor

Exceptions
std::invalid_argumentIf this instance is actually a partial object.
Returns
The editor of this data object if it is defined, else empty string.

◆ getEml20GsoapProxy()

gsoap_resqml2_0_1::eml20__AbstractCitedDataObject* common::AbstractObject::getEml20GsoapProxy ( ) const
inline

Get the EML2.0 gSOAP proxy which is wrapped by this entity

Returns
A pointer to the EML2.0 gSOAP proxy.

◆ getEml21GsoapProxy()

gsoap_eml2_1::eml21__AbstractObject* common::AbstractObject::getEml21GsoapProxy ( ) const
inline

Get the EML2.1 gSOAP proxy which is wrapped by this entity

Returns
A pointer to the EML2.1 gSOAP proxy.

◆ getEml23GsoapProxy()

gsoap_eml2_3::eml23__AbstractObject* common::AbstractObject::getEml23GsoapProxy ( ) const
inline

Get the EML2.3 gSOAP proxy which is wrapped by this entity

Returns
A pointer to the EML2.3 gSOAP proxy.

◆ getExtraMetadata()

std::vector<std::string> common::AbstractObject::getExtraMetadata ( const std::string &  key) const

Gets an extra metadata of this instance according to its key

Exceptions
std::logic_errorIf the underlying gSOAP instance is not a RESQML2.0 one.
Parameters
keyThe key of an extra metadata.
Returns
The vector of all metadata values sharing this key (empty vector if there is no such value).

◆ getExtraMetadataCount()

unsigned int common::AbstractObject::getExtraMetadataCount ( ) const

Get the count of extra metadata in this instance

Exceptions
std::logic_errorIf the underlying gSOAP instance is not a RESQML2.0 or EML2.2 one.
Returns
The extra metadata count of this instance.

◆ getExtraMetadataKeyAtIndex()

std::string common::AbstractObject::getExtraMetadataKeyAtIndex ( unsigned int  index) const

Get the key of a key value pair at a particular index in the extra metadata set of this instance

Exceptions
std::logic_errorIf the underlying gSOAP instance is not a RESQML2.0 or EML2.2 one.
Parameters
indexZero-based index of the asked key.
Returns
The extra metadata key at index.

◆ getExtraMetadataSet()

std::unordered_map< std::string, std::string > common::AbstractObject::getExtraMetadataSet ( ) const

Gets all the extra metadata of this instance in read only mode

Exceptions
std::logic_errorIf the underlying gSOAP instance is not a RESQML2.0 one.
Returns
A map associated the keys and values of all extra metadata.

◆ getExtraMetadataStringValueAtIndex()

std::string common::AbstractObject::getExtraMetadataStringValueAtIndex ( unsigned int  index) const

Get the value of a key value pair at a particular index in the extra metadata set of this instance

Exceptions
std::logic_errorIf the underlying gSOAP instance is not a RESQML2.0 or EML2.2 one.
Parameters
indexZero-based index of the asked value.
Returns
The extra metadata value at index.

◆ getFormat()

std::string common::AbstractObject::getFormat ( ) const

Gets the identifier of the software or service that was used to originate the data object and to create the file. Must be human and machine readable and unambiguously identify the software by including the company name, software name and software version. This is the equivalent in ISO 19115 to the istributionFormat.MD_Format. The ISO format for this is [vendor:applicationName]/fileExtension where the application name includes the version number of the application. In our case, fileExtension is not relevant and will be ignored if present. vendor and applicationName are mandatory

Exceptions
std::invalid_argumentIf this instance is actually a partial object or if no available gSOAP proxy instance is associated to this data object.
Returns
The identifier of the software or service that was used to originate the data object and to create the file.

◆ getGsoapContext()

soap* common::AbstractObject::getGsoapContext ( ) const

Get the gSOAP context where the underlying gSOAP proxy is defined

Returns
A pointer to the gSOAP context.

◆ getGsoapType()

int common::AbstractObject::getGsoapType ( ) const

Gets the gSOAP type of the wrapped element

Exceptions
std::invalid_argumentIt there is no available gSOAP proxy instance.
Returns
The gSOAP type.

◆ getLastUpdate()

time_t common::AbstractObject::getLastUpdate ( ) const

Gets the date and time the data object was last modified in the source application or, if that information is not available, when it was last saved to the file. This is the equivalent of the ISO 19115 CI_Date where the CI_DateTypeCode is lastUpdate

Exceptions
std::invalid_argumentIf this instance is actually a partial object.
Returns
The last update date and time of the data object.

◆ getLastUpdateAsTimeStructure()

tm common::AbstractObject::getLastUpdateAsTimeStructure ( ) const

Same as getLastUpdate(). Please use this method if you want to read some dates out of the range of time_t

Exceptions
std::invalid_argumentIf this instance is actually a partial object.
Returns
The last update date and time of the data object.

◆ getOriginator()

std::string common::AbstractObject::getOriginator ( ) const

Gets the name (or other human-readable identifier) of the person who initially originated this data object or document in the source application. If that information is not available, then this is the user of the session during the file creation. The originator remains the same as the object is subsequently edited. This is the equivalent in ISO 19115 to the CI_Individual.name or the CI_Organization.name of the citedResponsibleParty whose role is originator

Exceptions
std::invalid_argumentIf this instance is actually a partial object or if no available gSOAP proxy instance is associated to this data object.
Returns
The originator name or identifier.

◆ getPartNameInEpcDocument()

virtual std::string common::AbstractObject::getPartNameInEpcDocument ( ) const
virtual

Gets the part name of this XML top level instance in the EPC document

Returns
The part name of this instance.

Reimplemented in witsml2_0::AbstractObject, and WITSML2_NS::AbstractObject.

◆ getQualifiedType()

virtual std::string common::AbstractObject::getQualifiedType ( ) const
virtual

Get the qualified type of the instance i.e. "namespace.datatype"

Returns
The qualified type of the instance i.e. "namespace.datatype"

◆ getRepository()

common::DataObjectRepository* common::AbstractObject::getRepository ( ) const
inline

Returns the data object repository which contains this instance

Returns
A pointer to the data object repository.

◆ getTitle()

std::string common::AbstractObject::getTitle ( ) const

Gets the title (i.e. the name) of this data object. This is the equivalent of CI_Citation.title in ISO 19115

Exceptions
std::invalid_argumentIf no available gSOAP proxy instance is associated to this data object.
Returns
The title of this data object.

◆ getUuid()

std::string common::AbstractObject::getUuid ( ) const

Gets the UUID (https://tools.ietf.org/html/rfc4122#page-3) of this data object. The UUID intends to give an id to the "thing" (i.e. the business object), not to this instance

Exceptions
std::invalid_argumentIf no available gSOAP proxy instance is associated to this data object.
Returns
The UUID of this data object.

◆ getVersion()

std::string common::AbstractObject::getVersion ( ) const

Gets the version of this data object. An empty version indicates that this is the latest (and ideally also the unique) version of this data object.

Returns
The version of this object, empty string means latest version.

◆ getXmlNamespace()

virtual std::string common::AbstractObject::getXmlNamespace ( ) const
pure virtual

Gets the XML namespace for the tags for the XML serialization of this instance

Returns
The XML namespace of this instance.

Implemented in resqml2::AbstractIjkGridRepresentation, witsml2_0::AbstractObject, resqml2_2::WellboreTrajectoryRepresentation, resqml2_2::WellboreMarkerFrameRepresentation, resqml2_2::WellboreMarker, resqml2_2::WellboreInterpretation, resqml2_2::WellboreFrameRepresentation, resqml2_2::WellboreFeature, resqml2_2::UnstructuredGridRepresentation, resqml2_2::TriangulatedSetRepresentation, resqml2_2::SubRepresentation, resqml2_2::StructuralOrganizationInterpretation, resqml2_2::StringTableLookup, resqml2_2::StreamlinesRepresentation, resqml2_2::StreamlinesFeature, resqml2_2::StratigraphicUnitInterpretation, resqml2_2::StratigraphicOccurrenceInterpretation, resqml2_2::StratigraphicColumnRankInterpretation, resqml2_2::StratigraphicColumn, resqml2_2::ShotPointLineFeature, resqml2_2::SeismicWellboreFrameRepresentation, resqml2_2::SeismicLineSetFeature, resqml2_2::SeismicLatticeFeature, resqml2_2::SealedVolumeFrameworkRepresentation, resqml2_2::SealedSurfaceFrameworkRepresentation, resqml2_2::RockVolumeFeature, resqml2_2::RockFluidUnitInterpretation, resqml2_2::RockFluidOrganizationInterpretation, resqml2_2::RepresentationSetRepresentation, resqml2_2::PropertySet, resqml2_2::PolylineSetRepresentation, resqml2_2::PolylineRepresentation, resqml2_2::PointsProperty, resqml2_2::PointSetRepresentation, resqml2_2::PlaneSetRepresentation, resqml2_2::NonSealedSurfaceFrameworkRepresentation, resqml2_2::Model, resqml2_2::MdDatum, resqml2_2::LocalTime3dCrs, resqml2_2::LocalDepth3dCrs, resqml2_2::IjkGridParametricRepresentation, resqml2_2::IjkGridNoGeometryRepresentation, resqml2_2::IjkGridLatticeRepresentation, resqml2_2::IjkGridExplicitRepresentation, resqml2_2::HorizonInterpretation, resqml2_2::GridConnectionSetRepresentation, resqml2_2::Grid2dRepresentation, resqml2_2::GeobodyInterpretation, resqml2_2::GeobodyBoundaryInterpretation, resqml2_2::GenericFeatureInterpretation, resqml2_2::FluidBoundaryInterpretation, resqml2_2::FaultInterpretation, resqml2_2::EarthModelInterpretation, resqml2_2::DoubleTableLookup, resqml2_2::DiscreteProperty, resqml2_2::DiscreteColorMap, resqml2_2::DeviationSurveyRepresentation, resqml2_2::CulturalFeature, resqml2_2::ContinuousProperty, resqml2_2::ContinuousColorMap, resqml2_2::CommentProperty, resqml2_2::CmpLineFeature, resqml2_2::CategoricalProperty, resqml2_2::BoundaryFeatureInterpretation, resqml2_2::BoundaryFeature, resqml2_2::BlockedWellboreRepresentation, resqml2_0_1::WellboreTrajectoryRepresentation, resqml2_0_1::WellboreMarkerFrameRepresentation, resqml2_0_1::WellboreMarker, resqml2_0_1::WellboreInterpretation, resqml2_0_1::WellboreFrameRepresentation, resqml2_0_1::WellboreFeature, resqml2_0_1::UnstructuredGridRepresentation, resqml2_0_1::TriangulatedSetRepresentation, resqml2_0_1::TimeSeries, resqml2_0_1::SubRepresentation, resqml2_0_1::StructuralOrganizationInterpretation, resqml2_0_1::StringTableLookup, resqml2_0_1::StreamlinesRepresentation, resqml2_0_1::StreamlinesFeature, resqml2_0_1::StratigraphicUnitInterpretation, resqml2_0_1::StratigraphicOccurrenceInterpretation, resqml2_0_1::StratigraphicColumnRankInterpretation, resqml2_0_1::StratigraphicColumn, resqml2_0_1::SeismicLineSetFeature, resqml2_0_1::SeismicLineFeature, resqml2_0_1::SeismicLatticeFeature, resqml2_0_1::SealedVolumeFrameworkRepresentation, resqml2_0_1::SealedSurfaceFrameworkRepresentation, resqml2_0_1::RockFluidUnitInterpretation, resqml2_0_1::RockFluidOrganizationInterpretation, resqml2_0_1::RepresentationSetRepresentation, resqml2_0_1::PropertySet, resqml2_0_1::PropertyKind, resqml2_0_1::PolylineSetRepresentation, resqml2_0_1::PolylineRepresentation, resqml2_0_1::PointsProperty, resqml2_0_1::PointSetRepresentation, resqml2_0_1::PlaneSetRepresentation, resqml2_0_1::OrganizationFeature, resqml2_0_1::NonSealedSurfaceFrameworkRepresentation, resqml2_0_1::MdDatum, resqml2_0_1::LocalTime3dCrs, resqml2_0_1::LocalDepth3dCrs, resqml2_0_1::IjkGridParametricRepresentation, resqml2_0_1::IjkGridNoGeometryRepresentation, resqml2_0_1::IjkGridLatticeRepresentation, resqml2_0_1::IjkGridExplicitRepresentation, resqml2_0_1::HorizonInterpretation, resqml2_0_1::GridConnectionSetRepresentation, resqml2_0_1::Grid2dRepresentation, resqml2_0_1::GeologicUnitFeature, resqml2_0_1::GeobodyInterpretation, resqml2_0_1::GeobodyBoundaryInterpretation, resqml2_0_1::GenericFeatureInterpretation, resqml2_0_1::FrontierFeature, resqml2_0_1::FaultInterpretation, resqml2_0_1::EarthModelInterpretation, resqml2_0_1::DoubleTableLookup, resqml2_0_1::DiscreteProperty, resqml2_0_1::DeviationSurveyRepresentation, resqml2_0_1::ContinuousProperty, resqml2_0_1::CommentProperty, resqml2_0_1::CategoricalProperty, resqml2_0_1::BoundaryFeatureInterpretation, resqml2_0_1::BoundaryFeature, resqml2_0_1::BlockedWellboreRepresentation, resqml2_0_1::ActivityTemplate, resqml2_0_1::Activity, prodml2_1::TimeSeriesData, prodml2_1::FluidSystem, prodml2_1::FluidCharacterization, eml2_3::TimeSeries, eml2_3::PropertyKind, eml2_3::HdfProxy, eml2_3::GraphicalInformationSet, eml2_3::ActivityTemplate, eml2_3::Activity, eml2_1::PropertyKind, eml2_0::HdfProxy, ETP_NS::EtpHdfProxy, and eml2::GraphicalInformationSet.

◆ getXmlNamespaceVersion()

virtual std::string common::AbstractObject::getXmlNamespaceVersion ( ) const
virtual

Gets the version of the XML namespace (i.e. WITSML, RESQML, PRODML) for the XML serialization of this instance

Returns
The XML namespace version of this instance.

Reimplemented in resqml2_0_1::ActivityTemplate, and resqml2_0_1::Activity.

◆ getXmlTag()

virtual std::string common::AbstractObject::getXmlTag ( ) const
pure virtual

Gets the standard XML tag without XML namespace for serializing this data object.

Returns
The XML tag.

Implemented in resqml2_2::WellboreFrameRepresentation, resqml2_0_1::WellboreFrameRepresentation, resqml2_0_1::GeologicUnitFeature, resqml2::RepresentationSetRepresentation, resqml2::GridConnectionSetRepresentation, resqml2::EarthModelInterpretation, resqml2::BoundaryFeatureInterpretation, resqml2::BoundaryFeature, resqml2::BlockedWellboreRepresentation, eml2::TimeSeries, resqml2_2::RockVolumeFeature, resqml2_2::RockFluidOrganizationInterpretation, resqml2_2::Model, resqml2_2::CulturalFeature, resqml2_0_1::TectonicBoundaryFeature, resqml2_0_1::StratigraphicUnitFeature, resqml2_0_1::SeismicLineFeature, resqml2_0_1::RockFluidOrganizationInterpretation, resqml2_0_1::OrganizationFeature, resqml2_0_1::GeobodyFeature, resqml2_0_1::GeneticBoundaryFeature, resqml2_0_1::FrontierFeature, resqml2_0_1::FluidBoundaryFeature, resqml2::WellboreTrajectoryRepresentation, resqml2::WellboreMarkerFrameRepresentation, resqml2::WellboreMarker, resqml2::WellboreInterpretation, resqml2::WellboreFeature, resqml2::UnstructuredGridRepresentation, resqml2::TriangulatedSetRepresentation, resqml2::SubRepresentation, resqml2::StructuralOrganizationInterpretation, resqml2::StringTableLookup, resqml2::StreamlinesRepresentation, resqml2::StreamlinesFeature, resqml2::StratigraphicUnitInterpretation, resqml2::StratigraphicOccurrenceInterpretation, resqml2::StratigraphicColumnRankInterpretation, resqml2::StratigraphicColumn, resqml2::ShotPointLineFeature, resqml2::SeismicWellboreFrameRepresentation, resqml2::SeismicLineSetFeature, resqml2::SeismicLatticeFeature, resqml2::SealedVolumeFrameworkRepresentation, resqml2::SealedSurfaceFrameworkRepresentation, resqml2::RockFluidUnitInterpretation, resqml2::PropertySet, resqml2::PolylineSetRepresentation, resqml2::PolylineRepresentation, resqml2::PointsProperty, resqml2::PointSetRepresentation, resqml2::PlaneSetRepresentation, resqml2::NonSealedSurfaceFrameworkRepresentation, resqml2::MdDatum, resqml2::LocalTime3dCrs, resqml2::LocalDepth3dCrs, resqml2::HorizonInterpretation, resqml2::Grid2dRepresentation, resqml2::GeobodyInterpretation, resqml2::GeobodyBoundaryInterpretation, resqml2::GenericFeatureInterpretation, resqml2::FluidBoundaryInterpretation, resqml2::FaultInterpretation, resqml2::DoubleTableLookup, resqml2::DiscreteProperty, resqml2::DeviationSurveyRepresentation, resqml2::ContinuousProperty, resqml2::CommentProperty, resqml2::CmpLineFeature, resqml2::CategoricalProperty, resqml2::AbstractIjkGridRepresentation, prodml2_1::FluidCharacterization, eml2::PropertyKind, eml2::EpcExternalPartReference, eml2::ActivityTemplate, eml2::Activity, WITSML2_1_NS::WellboreMarkerSet, WITSML2_1_NS::Wellbore, WITSML2_1_NS::Well, WITSML2_1_NS::WeightingFunctionDictionary, WITSML2_1_NS::WeightingFunction, WITSML2_1_NS::Trajectory, WITSML2_1_NS::ToolErrorModelDictionary, WITSML2_1_NS::ToolErrorModel, WITSML2_1_NS::Log, WITSML2_1_NS::ErrorTermDictionary, WITSML2_1_NS::ErrorTerm, witsml2_0::WellCompletion, witsml2_0::WellboreMarker, witsml2_0::WellboreGeometry, witsml2_0::WellboreCompletion, witsml2_0::Wellbore, witsml2_0::Well, witsml2_0::Trajectory, witsml2_0::Log, witsml2_0::ChannelSet, witsml2_0::Channel, resqml2_0_1::RockFluidUnitFeature, resqml2_0_1::BoundaryFeatureInterpretation, resqml2::DiscreteColorMap, resqml2::ContinuousColorMap, prodml2_1::TimeSeriesData, prodml2_1::FluidSystem, and eml2::GraphicalInformationSet.

◆ isPartial()

bool common::AbstractObject::isPartial ( ) const

Indicates if this data object is actually a partial object. A partial object just contains a mime type, an UUID and a title as a minimum amount of information. A partial object is never explicit in an EPC document: it is not a file

Returns
True if is partial, false if is not.

◆ loadTargetRelationships()

virtual void common::AbstractObject::loadTargetRelationships ( )
pure virtual

◆ newContactElementReference2_0_1()

gsoap_resqml2_0_1::resqml20__ContactElementReference* common::AbstractObject::newContactElementReference2_0_1 ( ) const

Creates an returns an EML2.0 contact data object reference which targets this data object

Returns
A pointer to the new EML2.0 contact data object reference.

◆ newContactElementReference2_2()

gsoap_eml2_3::resqml22__ContactElement* common::AbstractObject::newContactElementReference2_2 ( ) const

Creates an returns an EML2.2 contact data object reference which targets this data object

Returns
A pointer to the new EML2.2 contact data object reference.

◆ newEml22Reference()

gsoap_eml2_2::eml22__DataObjectReference* common::AbstractObject::newEml22Reference ( ) const

Creates an returns an EML2.2 data object reference which targets this data object

Returns
A pointer to the new EML2.2 data object reference.

◆ newEml23Reference()

gsoap_eml2_3::eml23__DataObjectReference* common::AbstractObject::newEml23Reference ( ) const

Creates an returns an EML2.2 data object reference which targets this data object

Returns
A pointer to the new EML2.2 data object reference.

◆ newEmlReference()

gsoap_eml2_1::eml21__DataObjectReference* common::AbstractObject::newEmlReference ( ) const

Creates an returns an EML2.1 data object reference which targets this data object

Returns
A pointer to the new EML2.1 data object reference.

◆ newResqmlReference()

gsoap_resqml2_0_1::eml20__DataObjectReference* common::AbstractObject::newResqmlReference ( ) const

Creates an returns an EML2.0 data object reference which targets this data object

Returns
A pointer to the new EML2.0 data object reference.

◆ pushBackExtraMetadata()

void common::AbstractObject::pushBackExtraMetadata ( const std::string &  key,
const std::string &  value 
)

Pushes back an extra metadata (not a standard one) onto this instance

Exceptions
std::logic_errorIf the underlying gSOAP instance is not a RESQML2.0, EML2.1 or EML2.2 one.
Parameters
keyThe key of the metadata.
valueThe value of the metadata.

◆ serializeIntoStream()

void common::AbstractObject::serializeIntoStream ( std::ostream *  stream)

Serializes this instance into a stream

Exceptions
std::invalid_argumentIf this instance is actually a partial object or if stream is null.
Parameters
[out]streamA stream. It must be opened for writing and won't be closed.

◆ serializeIntoString()

std::string common::AbstractObject::serializeIntoString ( )

Serializes the gSOAP proxy of this instance into a string

Returns
The string result of the serialization process.

◆ setCreation() [1/2]

void common::AbstractObject::setCreation ( const tm &  creation)

Same as setCreation(). Please use this method if you want to set some dates out of the range of time_t

Exceptions
std::invalid_argumentIf this instance is actually a partial object.
Parameters
creationThe creation date and time to set to this data object.

◆ setCreation() [2/2]

void common::AbstractObject::setCreation ( time_t  creation)

Sets the date and time the data object was created in the source application or, if that information is not available, when it was saved to the file. This is the equivalent of the ISO 19115 CI_Date where the CI_DateTypeCode is creation

Exceptions
std::invalid_argumentIf this instance is actually a partial object.
Parameters
creationThe creation date and time to set to this data object.

◆ setDescription()

void common::AbstractObject::setDescription ( const std::string &  description)

Sets a user descriptive comments about this data object. Intended for end-user use (human readable); not necessarily meant to be used by software. This is the equivalent of the ISO 19115 abstract.CharacterString

Exceptions
std::invalid_argumentIf this instance is actually a partial object.
std::range_errorIf description is too long (more than 4000 chars for RESQML2.0 or more than 2000 chars for EML2.1 and EML2.2).
Parameters
descriptionThe description to set to this data object.

◆ setDescriptiveKeywords()

void common::AbstractObject::setDescriptiveKeywords ( const std::string &  descriptiveKeywords)

Set the key words to describe the activity, for example, history match or volumetric calculations, relevant to this object. Intended to be used in a search function by software. This is the equivalent in ISO 19115 of descriptiveKeywords.MD_Keywords

Exceptions
std::invalid_argumentIf this instance is actually a partial object.
std::range_errorIf descriptiveKeywords is too long (more than 4000 chars for RESQML2.0 or more than 2000 chars for EML2.1 and EML2.2).
Parameters
descriptiveKeywordsThe key words to describe the activity relevant to this data object.

◆ setEditor()

void common::AbstractObject::setEditor ( const std::string &  editor)

Sets the name (or other human-readable identifier) of the last person who updated the object. In ISO 19115, this is equivalent to the CI_Individual.name or the CI_Organization.name of the citedResponsibleParty whose role is editor

Exceptions
std::invalid_argumentIf this instance is actually a partial object.
std::range_errorIf editor is more than 64 chars long.
Parameters
editorThe editor to set to this data object.

◆ setFormat()

static void common::AbstractObject::setFormat ( const std::string &  vendor,
const std::string &  applicationName,
const std::string &  applicationVersionNumber 
)
static

Sets the default citation format which is going to be written in each created object. A maximum of 256 chars is allowed.

Exceptions
std::range_errorIf the format is more than 256 chars long.
Parameters
vendorThe name of the vendor which is exporting the data objects.
applicationNameThe name of the application which is exporting the data objects.
applicationVersionNumberThe version of the application which is exporting the data objects.

◆ setGsoapProxy()

void common::AbstractObject::setGsoapProxy ( gsoap_resqml2_0_1::eml20__AbstractCitedDataObject *  gsoapProxy)
inline

Sets the underlying RESQML2.0 gSOAP proxy of this data object

Parameters
[in]gsoapProxyIf non-null, the gSOAP proxy.

◆ setLastUpdate() [1/2]

void common::AbstractObject::setLastUpdate ( const tm &  lastUpdate)

Same as setLastUpdate(). Please use this method if you want to read some dates out of the range of time_t

Parameters
lastUpdateThe last update date and time to set to this data object.

◆ setLastUpdate() [2/2]

void common::AbstractObject::setLastUpdate ( time_t  lastUpdate)

Sets the date and time the data object was last modified in the source application or, if that information is not available, when it was last saved to the file. This is the equivalent of the ISO 19115 CI_Date where the CI_DateTypeCode is lastUpdate

Exceptions
std::invalid_argumentIf this instance is actually a partial object.
Parameters
lastUpdateThe last update date and time to set to this data object.

◆ setMetadata()

void common::AbstractObject::setMetadata ( const std::string &  title,
const std::string &  editor,
time_t  creation,
const std::string &  originator,
const std::string &  description,
time_t  lastUpdate,
const std::string &  descriptiveKeywords 
)

Sets a title and other common metadata for this instance.

Exceptions
std::invalid_argumentIf this instance is actually a partial object.
std::range_errorIf title is more than 256 chars long.
std::range_errorIf editor title is more than 64 chars long.
std::range_errorIf originator title is more than 64 chars long.
std::range_errorIf description is too long (more than 4000 chars for RESQML2.0 or more than 2000 chars for EML2.1 and EML2.2).
std::range_errorIf descriptiveKeywords is too long (more than 4000 chars for RESQML2.0 or more than 2000 chars for EML2.1 and EML2.2).
Parameters
titleThe title to set to this instance. If empty then "unknown" title will be set.
editorThe editor to set to this instance. Set to empty string or zero if you don't want to use.
creationThe creation date and time to set to this instance.
originatorThe originator name or identifier to set to this instance. If empty, the user id is set if available, "unknown" if it is not.
descriptionThe description to set to this instance. Set to empty string or zero if you don't want to use.
lastUpdateThe last update date and time to set to this data object.
descriptiveKeywordsThe key words to describe the activity relevant to this data object. Set to empty string or zero if you don't want to use.

◆ setOriginator()

void common::AbstractObject::setOriginator ( const std::string &  originator)

Sets the name (or other human-readable identifier) of the person who initially originated this data object or document in the source application. If that information is not available, then this is the user of the session during the file creation. The originator remains the same as the object is subsequently edited. This is the equivalent in ISO 19115 to the CI_Individual.name or the CI_Organization.name of the citedResponsibleParty whose role is originator

Exceptions
std::invalid_argumentIf this instance is actually a partial object.
std::range_errorIf originator is more than 64 chars long.
Parameters
originatorThe originator name or identifier to set to this data object. If empty, the user id is set if available, "unknown" if it is not.

◆ setTitle()

void common::AbstractObject::setTitle ( const std::string &  title)

Sets the title (i.e. the name) of this data object. This is the equivalent of CI_Citation.title in ISO 19115

Exceptions
std::invalid_argumentIf this instance is actually a partial object.
std::range_errorIf title is more than 256 chars long.
Parameters
titleThe title to set to this data object. If empty then "unknown" title will be set.

◆ setVersion()

void common::AbstractObject::setVersion ( const std::string &  version)

Set the version of this data object

Exceptions
std::invalid_argumentIf version is empty.
std::range_errorIf version is more than 64 chars long.
Parameters
versionThe version to set to this data object.

Friends And Related Function Documentation

◆ common::DataObjectRepository::addOrReplaceDataObject

Adds an or replace data object

Parameters
[in,out]proxyIf non-null, the proxy.
[in,out]replaceOnlyContentIf true, only replace the content of corresponding object, not the object itself.
Returns
The new DataObject.

The documentation for this class was generated from the following file: