Fesapi  0.13.0.0
This project provides C++ classes which allow an easy access in import and export to the Energistics standards.
Public Member Functions | Protected Types | Protected Member Functions | Static Protected Member Functions | Protected Attributes | Friends | List of all members
COMMON_NS::AbstractObject Class Referenceabstract
Inheritance diagram for COMMON_NS::AbstractObject:
COMMON_NS::EpcExternalPartReference PRODML2_0_NS::AbstractObject RESQML2_0_1_NS::StratigraphicColumn RESQML2_0_1_NS::StringTableLookup RESQML2_0_1_NS::WellboreMarker RESQML2_NS::AbstractFeature RESQML2_NS::AbstractFeatureInterpretation RESQML2_NS::AbstractLocal3dCrs RESQML2_NS::AbstractProperty RESQML2_NS::AbstractRepresentation RESQML2_NS::Activity RESQML2_NS::ActivityTemplate RESQML2_NS::MdDatum RESQML2_NS::PropertyKind RESQML2_NS::TimeSeries

Public Member Functions

bool isPartial () 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 getVersionString () const
 
void setTitle (const std::string &title)
 
void setEditor (const std::string &editor)
 
void setCreation (const time_t &creation)
 
void setCreation (const tm &creation)
 
void setOriginator (const std::string &originator)
 
void setDescription (const std::string &description)
 
void setLastUpdate (const time_t &lastUpdate)
 
void setLastUpdate (const tm &lastUpdate)
 
void setFormat (const std::string &format)
 
void setDescriptiveKeywords (const std::string &descriptiveKeywords)
 
void setVersionString (const std::string &versionString)
 
void setMetadata (const std::string &title, const std::string &editor, const time_t &creation, const std::string &originator, const std::string &description, const time_t &lastUpdate, const std::string &format, const std::string &descriptiveKeywords)
 
void serializeIntoStream (std::ostream *stream)
 
gsoap_resqml2_0_1::eml20__AbstractCitedDataObject * getGsoapProxy () const
 
soap * getGsoapContext () const
 
int getGsoapType () const
 
gsoap_resqml2_0_1::eml20__DataObjectReference * newResqmlReference () const
 
gsoap_eml2_1::eml21__DataObjectReference * newEmlReference () const
 
gsoap_resqml2_0_1::resqml2__ContactElementReference * newResqmlContactElementReference () const
 
COMMON_NS::EpcDocumentgetEpcDocument () const
 
virtual std::string getXmlNamespace () const
 
virtual std::string getXmlTag () const =0
 
virtual std::string getResqmlVersion () const
 
virtual std::string getContentType () 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 (const unsigned int &index) const
 
std::string getAliasTitleAtIndex (const unsigned int &index) const
 
const std::vector< RESQML2_NS::Activity * > & getActivitySet () const
 
unsigned int getActivityCount () const
 
RESQML2_NS::ActivitygetActivity (const unsigned int &index) const
 
void pushBackExtraMetadata (const std::string &key, const std::string &value)
 
std::tr1::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 (const unsigned int &index) const
 
std::string getExtraMetadataStringValueAtIndex (const unsigned int &index) const
 

Protected Types

enum  EmlVersion { TWO_DOT_ZERO = 0, TWO_DOT_ONE = 1 }
 

Protected Member Functions

 AbstractObject ()
 Indicate whether methods update the XML (gSoap) or only the C++ classes of the API.
 
 AbstractObject (gsoap_resqml2_0_1::eml20__DataObjectReference *partialObject)
 
 AbstractObject (gsoap_resqml2_0_1::eml20__AbstractCitedDataObject *proxy)
 
 AbstractObject (gsoap_eml2_1::eml21__AbstractObject *proxy)
 
void initMandatoryMetadata ()
 
virtual void importRelationshipSetFromEpc (COMMON_NS::EpcDocument *epcDoc)=0
 
virtual std::vector< epc::RelationshipgetAllEpcRelationships () const =0
 
void setMetadata (const std::string &guid, const std::string &title, const std::string &editor, const time_t &creation, const std::string &originator, const std::string &description, const time_t &lastUpdate, const std::string &format, const std::string &descriptiveKeywords)
 
void cannotBePartial () const
 
void changeToPartialObject ()
 

Static Protected Member Functions

static void addActivityToResqmlObject (RESQML2_NS::Activity *activity, AbstractObject *resqmlObject)
 

Protected Attributes

gsoap_resqml2_0_1::eml20__AbstractCitedDataObject * gsoapProxy2_0_1
 
gsoap_eml2_1::eml21__AbstractObject * gsoapProxy2_1
 
COMMON_NS::EpcDocumentepcDocument
 
std::vector< RESQML2_NS::Activity * > activitySet
 
bool updateXml
 

Friends

void COMMON_NS::EpcDocument::addGsoapProxy (AbstractObject *proxy)
 
void COMMON_NS::EpcDocument::updateAllRelationships ()
 
void COMMON_NS::EpcDocument::serialize (bool useZip64)
 

Constructor & Destructor Documentation

AbstractObject::AbstractObject ( gsoap_resqml2_0_1::eml20__DataObjectReference *  partialObject)
protected

Constructor for partial transfer

Only for partial transfer

Member Function Documentation

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

Add an alias for this object

void AbstractObject::cannotBePartial ( ) const
protected

Throw an exception if the instance if partial.

void AbstractObject::changeToPartialObject ( )
protected

Transform a non partial object into a partial one

RESQML2_NS::Activity * AbstractObject::getActivity ( const unsigned int &  index) const

Get the associated activity at a particular index.

unsigned int AbstractObject::getActivityCount ( ) const

Get the count of associated activities.

const std::vector< RESQML2_NS::Activity * > & AbstractObject::getActivitySet ( ) const

Get all the activities where the instance is involved.

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

Get the alias authority at a particular index in the aliases set.

unsigned int AbstractObject::getAliasCount ( ) const

Get the count of aliases in the instance.

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

Get the alias title at a particular index in the aliases set.

virtual std::vector<epc::Relationship> COMMON_NS::AbstractObject::getAllEpcRelationships ( ) const
protectedpure virtual
string AbstractObject::getContentType ( ) const
virtual

Get the content type of the instance according to EPC recommendation

Reimplemented in PRODML2_0_NS::AbstractObject.

tm AbstractObject::getCreationAsTimeStructure ( ) const

Use this method if you want to read some dates out of range of time_t

COMMON_NS::EpcDocument* COMMON_NS::AbstractObject::getEpcDocument ( ) const
inline

Return the EPC document which contains this gsoap wrapper.

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

Get an extra metadata according its key.

Returns
An empty vector if the extra metadata does not exist. Or the extra metadata value set if it exists.

Get an extra metadata according its key.

Returns
An empty string if the extra metadata does not exist. Or the extra metadata value if it exists
unsigned int AbstractObject::getExtraMetadataCount ( ) const

Get the count of extra metadata in the instance.

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

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

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

Getter (in read only mode) of all the extra metadata

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

Get the string value of a string value pair at a particular index in the extra metadata set

soap * AbstractObject::getGsoapContext ( ) const

Get the gsoap context where the underlying gsoap proxy is defined.

gsoap_resqml2_0_1::eml20__AbstractCitedDataObject * AbstractObject::getGsoapProxy ( ) const

Get the gsoap proxy which is wrapped by this entity

int AbstractObject::getGsoapType ( ) const

Get the Gsoap type of the wrapped element

tm AbstractObject::getLastUpdateAsTimeStructure ( ) const

Use this method if you want to read some dates out of range of time_t

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

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

Reimplemented in PRODML2_0_NS::AbstractObject.

std::string AbstractObject::getResqmlVersion ( ) const
virtual
std::string AbstractObject::getXmlNamespace ( ) const
virtual

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

Reimplemented in PRODML2_0_NS::HdfProxy, RESQML2_0_1_NS::HdfProxy, and PRODML2_0_NS::AbstractObject.

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

Get the XML tag for the XML serialization of this instance

Implemented in RESQML2_0_1_NS::AbstractIjkGridRepresentation, RESQML2_0_1_NS::UnstructuredGridRepresentation, RESQML2_0_1_NS::LocalTime3dCrs, RESQML2_0_1_NS::WellboreFrameRepresentation, RESQML2_0_1_NS::LocalDepth3dCrs, RESQML2_0_1_NS::StratigraphicColumnRankInterpretation, RESQML2_0_1_NS::SealedSurfaceFrameworkRepresentation, RESQML2_0_1_NS::PolylineRepresentation, RESQML2_0_1_NS::ContinuousProperty, RESQML2_NS::Activity, RESQML2_0_1_NS::TriangulatedSetRepresentation, RESQML2_NS::PropertyKind, RESQML2_0_1_NS::ActivityTemplate, RESQML2_0_1_NS::WellboreMarkerFrameRepresentation, RESQML2_0_1_NS::WellboreMarker, RESQML2_0_1_NS::PolylineSetRepresentation, RESQML2_0_1_NS::SeismicLatticeFeature, PRODML2_0_NS::DasAcquisition, RESQML2_0_1_NS::CategoricalPropertySeries, RESQML2_0_1_NS::ContinuousPropertySeries, RESQML2_NS::ActivityTemplate, RESQML2_0_1_NS::SeismicLineFeature, RESQML2_0_1_NS::DiscretePropertySeries, RESQML2_0_1_NS::CategoricalProperty, RESQML2_0_1_NS::DiscreteProperty, RESQML2_0_1_NS::GeneticBoundaryFeature, RESQML2_NS::MdDatum, RESQML2_0_1_NS::NonSealedSurfaceFrameworkRepresentation, RESQML2_0_1_NS::Grid2dRepresentation, RESQML2_0_1_NS::CommentProperty, RESQML2_0_1_NS::StratigraphicOccurrenceInterpretation, RESQML2_0_1_NS::GeobodyInterpretation, RESQML2_0_1_NS::WellboreInterpretation, RESQML2_0_1_NS::WellboreTrajectoryRepresentation, COMMON_NS::EpcExternalPartReference, RESQML2_0_1_NS::FaultInterpretation, RESQML2_0_1_NS::StratigraphicColumn, RESQML2_0_1_NS::StratigraphicUnitInterpretation, RESQML2_0_1_NS::BlockedWellboreRepresentation, RESQML2_0_1_NS::WellboreFeature, RESQML2_0_1_NS::EarthModelInterpretation, RESQML2_0_1_NS::DeviationSurveyRepresentation, RESQML2_0_1_NS::PlaneSetRepresentation, RESQML2_0_1_NS::PointSetRepresentation, RESQML2_0_1_NS::GeobodyBoundaryInterpretation, RESQML2_0_1_NS::HorizonInterpretation, RESQML2_0_1_NS::StringTableLookup, RESQML2_0_1_NS::FluidBoundaryFeature, RESQML2_NS::GridConnectionSetRepresentation, RESQML2_0_1_NS::TectonicBoundaryFeature, RESQML2_NS::RepresentationSetRepresentation, RESQML2_0_1_NS::StructuralOrganizationInterpretation, PRODML2_0_NS::FiberOpticalPath, RESQML2_NS::SubRepresentation, RESQML2_0_1_NS::GeologicUnitFeature, RESQML2_0_1_NS::OrganizationFeature, PRODML2_0_NS::DasInstrumentBox, RESQML2_0_1_NS::BoundaryFeatureInterpretation, RESQML2_0_1_NS::FrontierFeature, RESQML2_0_1_NS::GeobodyFeature, RESQML2_0_1_NS::SeismicLineSetFeature, RESQML2_0_1_NS::StratigraphicUnitFeature, RESQML2_0_1_NS::BoundaryFeature, RESQML2_NS::TimeSeries, and RESQML2_0_1_NS::GenericFeatureInterpretation.

virtual void COMMON_NS::AbstractObject::importRelationshipSetFromEpc ( COMMON_NS::EpcDocument epcDoc)
protectedpure virtual
bool COMMON_NS::AbstractObject::isPartial ( ) const
inline

Indicate if the instance 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.

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

Push back an extra metadata (not a standard one)

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

Serialize the instance into a stream.

Parameters
streamThe stream must be opened for writing and won't be closed.
string AbstractObject::serializeIntoString ( )

Serialize the gsoap proxy into a string

void AbstractObject::setCreation ( const tm &  creation)

Use this method if you want to set some dates out of range of time_t

void AbstractObject::setLastUpdate ( const tm &  lastUpdate)

Use this method if you want to set some dates out of range of time_t

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

It is too dangerous for now to modify the uuid because too much things depend on it. That's why this method is only protected : it is only used by derived class constructor. Set a title and other common metadata for the resqml instance. Set to empty string or zero if you don't want to use.

Parameters
titleThe title to set to the resqml instance. Set to empty string if you don't want to set it.
void AbstractObject::setMetadata ( const std::string &  title,
const std::string &  editor,
const time_t &  creation,
const std::string &  originator,
const std::string &  description,
const time_t &  lastUpdate,
const std::string &  format,
const std::string &  descriptiveKeywords 
)

Set a title and other common metadata for the resqml instance. Set to empty string or zero if you don't want to use.

Parameters
titleThe title to set to the resqml instance. Set to empty string if you don't want to set it.

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