Open CASCADE Technology 7.8.0
Public Member Functions | Protected Member Functions | Protected Attributes
CDM_Document Class Referenceabstract

An applicative document is an instance of a class inheriting CDM_Document. These documents have the following properties: More...

#include <CDM_Document.hxx>

Inheritance diagram for CDM_Document:
Inheritance graph
[legend]

Public Member Functions

virtual void Update (const Handle< CDM_Document > &aToDocument, const Standard_Integer aReferenceIdentifier, const Standard_Address aModifContext)
 The Update method will be called once for each reference, but it should not perform any computation, to avoid multiple computation of a same document.
 
virtual Standard_Boolean Update (TCollection_ExtendedString &ErrorString)
 This method Update will be called to signal the end of the modified references list. The document should be recomputed and UpdateFromDocuments should be called. Update should returns True in case of success, false otherwise. In case of Failure, additional information can be given in ErrorString.
 
virtual TCollection_ExtendedString StorageFormat () const =0
 The Storage Format is the key which is used to determine in the application resources the storage driver plugin, the file extension and other data used to store the document.
 
virtual void Extensions (TColStd_SequenceOfExtendedString &Extensions) const
 by default empties the extensions.
 
virtual Standard_Boolean GetAlternativeDocument (const TCollection_ExtendedString &aFormat, Handle< CDM_Document > &anAlternativeDocument)
 This method can be redefined to extract another document in a different format. For example, to extract a Shape from an applicative document.
 
Standard_Integer CreateReference (const Handle< CDM_Document > &anOtherDocument)
 Creates a reference from this document to {anOtherDocument}. Returns a reference identifier. This reference identifier is unique in the document and will not be used for the next references, even after the storing of the document. If there is already a reference between the two documents, the reference is not created, but its reference identifier is returned.
 
void RemoveReference (const Standard_Integer aReferenceIdentifier)
 Removes the reference between the From Document and the To Document identified by a reference identifier.
 
void RemoveAllReferences ()
 Removes all references having this document for From Document.
 
Handle< CDM_DocumentDocument (const Standard_Integer aReferenceIdentifier) const
 Returns the To Document of the reference identified by aReferenceIdentifier. If the ToDocument is stored and has not yet been retrieved, this method will retrieve it.
 
Standard_Boolean IsInSession (const Standard_Integer aReferenceIdentifier) const
 returns True if the To Document of the reference identified by aReferenceIdentifier is in session, False if it corresponds to a not yet retrieved document.
 
Standard_Boolean IsStored (const Standard_Integer aReferenceIdentifier) const
 returns True if the To Document of the reference identified by aReferenceIdentifier has already been stored, False otherwise.
 
TCollection_ExtendedString Name (const Standard_Integer aReferenceIdentifier) const
 returns the name of the metadata of the To Document of the reference identified by aReferenceIdentifier.
 
void UpdateFromDocuments (const Standard_Address aModifContext) const
 call virtual method Update on all referencing documents. This method keeps the list of the – documents to process.It may be the starting of an update – cycle. If not, the reentrant calls made by Update method (without argument) will append the referencing documents to the list and call the Update method (with arguments). Only the first call to UpdateFromDocuments generate call to Update().
 
Standard_Integer ToReferencesNumber () const
 returns the number of references having this document as From Document.
 
Standard_Integer FromReferencesNumber () const
 returns the number of references having this document as To Document.
 
Standard_Boolean ShallowReferences (const Handle< CDM_Document > &aDocument) const
 returns True is this document references aDocument;
 
Standard_Boolean DeepReferences (const Handle< CDM_Document > &aDocument) const
 returns True is this document references aDocument;
 
Standard_Integer CopyReference (const Handle< CDM_Document > &aFromDocument, const Standard_Integer aReferenceIdentifier)
 Copies a reference to this document. This method avoid retrieval of referenced document. The arguments are the original document and a valid reference identifier Returns the local identifier.
 
Standard_Boolean IsReadOnly () const
 indicates that this document cannot be modified.
 
Standard_Boolean IsReadOnly (const Standard_Integer aReferenceIdentifier) const
 indicates that the referenced document cannot be modified,
 
void SetIsReadOnly ()
 
void UnsetIsReadOnly ()
 
void Modify ()
 Indicates that this document has been modified. This method increments the modification counter.
 
Standard_Integer Modifications () const
 returns the current modification counter.
 
void UnModify ()
 
Standard_Boolean IsUpToDate (const Standard_Integer aReferenceIdentifier) const
 returns true if the modification counter found in the given reference is equal to the actual modification counter of the To Document. This method is able to deal with a reference to a not retrieved document.
 
void SetIsUpToDate (const Standard_Integer aReferenceIdentifier)
 Resets the modification counter in the given reference to the actual modification counter of its To Document. This method should be called after the application has updated this document.
 
void SetComment (const TCollection_ExtendedString &aComment)
 associates a comment with this document.
 
void AddComment (const TCollection_ExtendedString &aComment)
 appends a comment into comments of this document.
 
void SetComments (const TColStd_SequenceOfExtendedString &aComments)
 associates a comments with this document.
 
void Comments (TColStd_SequenceOfExtendedString &aComments) const
 returns the associated comments through <aComments>. Returns empty sequence if no comments are associated.
 
Standard_ExtString Comment () const
 Returns the first of associated comments. By default the comment is an empty string.
 
Standard_Boolean IsStored () const
 
Standard_Integer StorageVersion () const
 returns the value of the modification counter at the time of storage. By default returns 0.
 
void SetMetaData (const Handle< CDM_MetaData > &aMetaData)
 associates database information to a document which has been stored. The name of the document is now the name which has beenused to store the data.
 
void UnsetIsStored ()
 
Handle< CDM_MetaDataMetaData () const
 
TCollection_ExtendedString Folder () const
 
void SetRequestedFolder (const TCollection_ExtendedString &aFolder)
 defines the folder in which the object should be stored.
 
TCollection_ExtendedString RequestedFolder () const
 
Standard_Boolean HasRequestedFolder () const
 
void SetRequestedName (const TCollection_ExtendedString &aName)
 defines the name under which the object should be stored.
 
TCollection_ExtendedString RequestedName ()
 Determines under which the document is going to be store. By default the name of the document will be used. If the document has no name its presentation will be used.
 
void SetRequestedPreviousVersion (const TCollection_ExtendedString &aPreviousVersion)
 
void UnsetRequestedPreviousVersion ()
 
Standard_Boolean HasRequestedPreviousVersion () const
 
TCollection_ExtendedString RequestedPreviousVersion () const
 
void SetRequestedComment (const TCollection_ExtendedString &aComment)
 defines the Comment with which the object should be stored.
 
TCollection_ExtendedString RequestedComment () const
 
void LoadResources ()
 read (or rereads) the following resource.
 
Standard_Boolean FindFileExtension ()
 
TCollection_ExtendedString FileExtension ()
 gets the Desktop.Domain.Application.FileFormat.FileExtension resource.
 
Standard_Boolean FindDescription ()
 
TCollection_ExtendedString Description ()
 gets the FileFormat.Description resource.
 
Standard_Boolean IsModified () const
 returns true if the version is greater than the storage version
 
Standard_OStreamPrint (Standard_OStream &anOStream) const
 
Standard_OStreamoperator<< (Standard_OStream &anOStream)
 
Standard_Boolean IsOpened () const
 
void Open (const Handle< CDM_Application > &anApplication)
 
CDM_CanCloseStatus CanClose () const
 
void Close ()
 
const Handle< CDM_Application > & Application () const
 
virtual Standard_Boolean CanCloseReference (const Handle< CDM_Document > &aDocument, const Standard_Integer aReferenceIdentifier) const
 A referenced document may indicate through this virtual method that it does not allow the closing of aDocument which it references through the reference aReferenceIdentifier. By default returns Standard_True.
 
virtual void CloseReference (const Handle< CDM_Document > &aDocument, const Standard_Integer aReferenceIdentifier)
 A referenced document may update its internal data structure when {aDocument} which it references through the reference {aReferenceIdentifier} is being closed. By default this method does nothing.
 
Standard_Boolean IsOpened (const Standard_Integer aReferenceIdentifier) const
 returns true if the document corresponding to the given reference has been retrieved and opened. Otherwise returns false. This method does not retrieve the referenced document
 
void CreateReference (const Handle< CDM_MetaData > &aMetaData, const Standard_Integer aReferenceIdentifier, const Handle< CDM_Application > &anApplication, const Standard_Integer aToDocumentVersion, const Standard_Boolean UseStorageConfiguration)
 
Standard_Integer CreateReference (const Handle< CDM_MetaData > &aMetaData, const Handle< CDM_Application > &anApplication, const Standard_Integer aDocumentVersion, const Standard_Boolean UseStorageConfiguration)
 
Standard_Integer ReferenceCounter () const
 
virtual void Update ()
 the following method should be used instead:
 
Handle< CDM_ReferenceReference (const Standard_Integer aReferenceIdentifier) const
 
void SetModifications (const Standard_Integer Modifications)
 
void SetReferenceCounter (const Standard_Integer aReferenceCounter)
 
void DumpJson (Standard_OStream &theOStream, Standard_Integer theDepth=-1) const
 Dumps the content of me into the stream.
 
- Public Member Functions inherited from Standard_Transient
 Standard_Transient ()
 Empty constructor.
 
 Standard_Transient (const Standard_Transient &)
 Copy constructor – does nothing.
 
Standard_Transientoperator= (const Standard_Transient &)
 Assignment operator, needed to avoid copying reference counter.
 
virtual ~Standard_Transient ()
 Destructor must be virtual.
 
virtual const opencascade::handle< Standard_Type > & DynamicType () const
 Returns a type descriptor about this object.
 
Standard_Boolean IsInstance (const opencascade::handle< Standard_Type > &theType) const
 Returns a true value if this is an instance of Type.
 
Standard_Boolean IsInstance (const Standard_CString theTypeName) const
 Returns a true value if this is an instance of TypeName.
 
Standard_Boolean IsKind (const opencascade::handle< Standard_Type > &theType) const
 Returns true if this is an instance of Type or an instance of any class that inherits from Type. Note that multiple inheritance is not supported by OCCT RTTI mechanism.
 
Standard_Boolean IsKind (const Standard_CString theTypeName) const
 Returns true if this is an instance of TypeName or an instance of any class that inherits from TypeName. Note that multiple inheritance is not supported by OCCT RTTI mechanism.
 
Standard_TransientThis () const
 Returns non-const pointer to this object (like const_cast). For protection against creating handle to objects allocated in stack or call from constructor, it will raise exception Standard_ProgramError if reference counter is zero.
 
Standard_Integer GetRefCount () const noexcept
 Get the reference counter of this object.
 
void IncrementRefCounter () noexcept
 Increments the reference counter of this object.
 
Standard_Integer DecrementRefCounter () noexcept
 Decrements the reference counter of this object; returns the decremented value.
 
virtual void Delete () const
 Memory deallocator for transient classes.
 

Protected Member Functions

 CDM_Document ()
 
 ~CDM_Document ()
 

Protected Attributes

Standard_Boolean myResourcesAreLoaded
 

Additional Inherited Members

- Public Types inherited from Standard_Transient
typedef void base_type
 Returns a type descriptor about this object.
 
- Static Public Member Functions inherited from Standard_Transient
static constexpr const charget_type_name ()
 Returns a type descriptor about this object.
 
static const opencascade::handle< Standard_Type > & get_type_descriptor ()
 Returns type descriptor of Standard_Transient class.
 

Detailed Description

An applicative document is an instance of a class inheriting CDM_Document. These documents have the following properties:

Constructor & Destructor Documentation

◆ CDM_Document()

CDM_Document::CDM_Document ( )
protected

◆ ~CDM_Document()

CDM_Document::~CDM_Document ( )
protected

Member Function Documentation

◆ AddComment()

void CDM_Document::AddComment ( const TCollection_ExtendedString aComment)

appends a comment into comments of this document.

◆ Application()

const Handle< CDM_Application > & CDM_Document::Application ( ) const

◆ CanClose()

CDM_CanCloseStatus CDM_Document::CanClose ( ) const

◆ CanCloseReference()

virtual Standard_Boolean CDM_Document::CanCloseReference ( const Handle< CDM_Document > &  aDocument,
const Standard_Integer  aReferenceIdentifier 
) const
virtual

A referenced document may indicate through this virtual method that it does not allow the closing of aDocument which it references through the reference aReferenceIdentifier. By default returns Standard_True.

◆ Close()

void CDM_Document::Close ( )

◆ CloseReference()

virtual void CDM_Document::CloseReference ( const Handle< CDM_Document > &  aDocument,
const Standard_Integer  aReferenceIdentifier 
)
virtual

A referenced document may update its internal data structure when {aDocument} which it references through the reference {aReferenceIdentifier} is being closed. By default this method does nothing.

◆ Comment()

Standard_ExtString CDM_Document::Comment ( ) const

Returns the first of associated comments. By default the comment is an empty string.

◆ Comments()

void CDM_Document::Comments ( TColStd_SequenceOfExtendedString aComments) const

returns the associated comments through <aComments>. Returns empty sequence if no comments are associated.

◆ CopyReference()

Standard_Integer CDM_Document::CopyReference ( const Handle< CDM_Document > &  aFromDocument,
const Standard_Integer  aReferenceIdentifier 
)

Copies a reference to this document. This method avoid retrieval of referenced document. The arguments are the original document and a valid reference identifier Returns the local identifier.

◆ CreateReference() [1/3]

Standard_Integer CDM_Document::CreateReference ( const Handle< CDM_Document > &  anOtherDocument)

Creates a reference from this document to {anOtherDocument}. Returns a reference identifier. This reference identifier is unique in the document and will not be used for the next references, even after the storing of the document. If there is already a reference between the two documents, the reference is not created, but its reference identifier is returned.

◆ CreateReference() [2/3]

Standard_Integer CDM_Document::CreateReference ( const Handle< CDM_MetaData > &  aMetaData,
const Handle< CDM_Application > &  anApplication,
const Standard_Integer  aDocumentVersion,
const Standard_Boolean  UseStorageConfiguration 
)

◆ CreateReference() [3/3]

void CDM_Document::CreateReference ( const Handle< CDM_MetaData > &  aMetaData,
const Standard_Integer  aReferenceIdentifier,
const Handle< CDM_Application > &  anApplication,
const Standard_Integer  aToDocumentVersion,
const Standard_Boolean  UseStorageConfiguration 
)

◆ DeepReferences()

Standard_Boolean CDM_Document::DeepReferences ( const Handle< CDM_Document > &  aDocument) const

returns True is this document references aDocument;

◆ Description()

TCollection_ExtendedString CDM_Document::Description ( )

gets the FileFormat.Description resource.

◆ Document()

Handle< CDM_Document > CDM_Document::Document ( const Standard_Integer  aReferenceIdentifier) const

Returns the To Document of the reference identified by aReferenceIdentifier. If the ToDocument is stored and has not yet been retrieved, this method will retrieve it.

◆ DumpJson()

void CDM_Document::DumpJson ( Standard_OStream theOStream,
Standard_Integer  theDepth = -1 
) const

Dumps the content of me into the stream.

◆ Extensions()

virtual void CDM_Document::Extensions ( TColStd_SequenceOfExtendedString Extensions) const
virtual

by default empties the extensions.

◆ FileExtension()

TCollection_ExtendedString CDM_Document::FileExtension ( )

gets the Desktop.Domain.Application.FileFormat.FileExtension resource.

◆ FindDescription()

Standard_Boolean CDM_Document::FindDescription ( )

◆ FindFileExtension()

Standard_Boolean CDM_Document::FindFileExtension ( )

◆ Folder()

TCollection_ExtendedString CDM_Document::Folder ( ) const

◆ FromReferencesNumber()

Standard_Integer CDM_Document::FromReferencesNumber ( ) const

returns the number of references having this document as To Document.

◆ GetAlternativeDocument()

virtual Standard_Boolean CDM_Document::GetAlternativeDocument ( const TCollection_ExtendedString aFormat,
Handle< CDM_Document > &  anAlternativeDocument 
)
virtual

This method can be redefined to extract another document in a different format. For example, to extract a Shape from an applicative document.

◆ HasRequestedFolder()

Standard_Boolean CDM_Document::HasRequestedFolder ( ) const

◆ HasRequestedPreviousVersion()

Standard_Boolean CDM_Document::HasRequestedPreviousVersion ( ) const

◆ IsInSession()

Standard_Boolean CDM_Document::IsInSession ( const Standard_Integer  aReferenceIdentifier) const

returns True if the To Document of the reference identified by aReferenceIdentifier is in session, False if it corresponds to a not yet retrieved document.

◆ IsModified()

Standard_Boolean CDM_Document::IsModified ( ) const

returns true if the version is greater than the storage version

◆ IsOpened() [1/2]

Standard_Boolean CDM_Document::IsOpened ( ) const

◆ IsOpened() [2/2]

Standard_Boolean CDM_Document::IsOpened ( const Standard_Integer  aReferenceIdentifier) const

returns true if the document corresponding to the given reference has been retrieved and opened. Otherwise returns false. This method does not retrieve the referenced document

◆ IsReadOnly() [1/2]

Standard_Boolean CDM_Document::IsReadOnly ( ) const

indicates that this document cannot be modified.

◆ IsReadOnly() [2/2]

Standard_Boolean CDM_Document::IsReadOnly ( const Standard_Integer  aReferenceIdentifier) const

indicates that the referenced document cannot be modified,

◆ IsStored() [1/2]

Standard_Boolean CDM_Document::IsStored ( ) const

◆ IsStored() [2/2]

Standard_Boolean CDM_Document::IsStored ( const Standard_Integer  aReferenceIdentifier) const

returns True if the To Document of the reference identified by aReferenceIdentifier has already been stored, False otherwise.

◆ IsUpToDate()

Standard_Boolean CDM_Document::IsUpToDate ( const Standard_Integer  aReferenceIdentifier) const

returns true if the modification counter found in the given reference is equal to the actual modification counter of the To Document. This method is able to deal with a reference to a not retrieved document.

◆ LoadResources()

void CDM_Document::LoadResources ( )

read (or rereads) the following resource.

◆ MetaData()

Handle< CDM_MetaData > CDM_Document::MetaData ( ) const

◆ Modifications()

Standard_Integer CDM_Document::Modifications ( ) const

returns the current modification counter.

◆ Modify()

void CDM_Document::Modify ( )

Indicates that this document has been modified. This method increments the modification counter.

◆ Name()

TCollection_ExtendedString CDM_Document::Name ( const Standard_Integer  aReferenceIdentifier) const

returns the name of the metadata of the To Document of the reference identified by aReferenceIdentifier.

◆ Open()

void CDM_Document::Open ( const Handle< CDM_Application > &  anApplication)

◆ operator<<()

Standard_OStream & CDM_Document::operator<< ( Standard_OStream anOStream)

◆ Print()

Standard_OStream & CDM_Document::Print ( Standard_OStream anOStream) const

◆ Reference()

Handle< CDM_Reference > CDM_Document::Reference ( const Standard_Integer  aReferenceIdentifier) const

◆ ReferenceCounter()

Standard_Integer CDM_Document::ReferenceCounter ( ) const

◆ RemoveAllReferences()

void CDM_Document::RemoveAllReferences ( )

Removes all references having this document for From Document.

◆ RemoveReference()

void CDM_Document::RemoveReference ( const Standard_Integer  aReferenceIdentifier)

Removes the reference between the From Document and the To Document identified by a reference identifier.

◆ RequestedComment()

TCollection_ExtendedString CDM_Document::RequestedComment ( ) const

◆ RequestedFolder()

TCollection_ExtendedString CDM_Document::RequestedFolder ( ) const

◆ RequestedName()

TCollection_ExtendedString CDM_Document::RequestedName ( )

Determines under which the document is going to be store. By default the name of the document will be used. If the document has no name its presentation will be used.

◆ RequestedPreviousVersion()

TCollection_ExtendedString CDM_Document::RequestedPreviousVersion ( ) const

◆ SetComment()

void CDM_Document::SetComment ( const TCollection_ExtendedString aComment)

associates a comment with this document.

◆ SetComments()

void CDM_Document::SetComments ( const TColStd_SequenceOfExtendedString aComments)

associates a comments with this document.

◆ SetIsReadOnly()

void CDM_Document::SetIsReadOnly ( )

◆ SetIsUpToDate()

void CDM_Document::SetIsUpToDate ( const Standard_Integer  aReferenceIdentifier)

Resets the modification counter in the given reference to the actual modification counter of its To Document. This method should be called after the application has updated this document.

◆ SetMetaData()

void CDM_Document::SetMetaData ( const Handle< CDM_MetaData > &  aMetaData)

associates database information to a document which has been stored. The name of the document is now the name which has beenused to store the data.

◆ SetModifications()

void CDM_Document::SetModifications ( const Standard_Integer  Modifications)

◆ SetReferenceCounter()

void CDM_Document::SetReferenceCounter ( const Standard_Integer  aReferenceCounter)

◆ SetRequestedComment()

void CDM_Document::SetRequestedComment ( const TCollection_ExtendedString aComment)

defines the Comment with which the object should be stored.

◆ SetRequestedFolder()

void CDM_Document::SetRequestedFolder ( const TCollection_ExtendedString aFolder)

defines the folder in which the object should be stored.

◆ SetRequestedName()

void CDM_Document::SetRequestedName ( const TCollection_ExtendedString aName)

defines the name under which the object should be stored.

◆ SetRequestedPreviousVersion()

void CDM_Document::SetRequestedPreviousVersion ( const TCollection_ExtendedString aPreviousVersion)

◆ ShallowReferences()

Standard_Boolean CDM_Document::ShallowReferences ( const Handle< CDM_Document > &  aDocument) const

returns True is this document references aDocument;

◆ StorageFormat()

virtual TCollection_ExtendedString CDM_Document::StorageFormat ( ) const
pure virtual

The Storage Format is the key which is used to determine in the application resources the storage driver plugin, the file extension and other data used to store the document.

Implemented in TDocStd_Document.

◆ StorageVersion()

Standard_Integer CDM_Document::StorageVersion ( ) const

returns the value of the modification counter at the time of storage. By default returns 0.

◆ ToReferencesNumber()

Standard_Integer CDM_Document::ToReferencesNumber ( ) const

returns the number of references having this document as From Document.

◆ UnModify()

void CDM_Document::UnModify ( )

◆ UnsetIsReadOnly()

void CDM_Document::UnsetIsReadOnly ( )

◆ UnsetIsStored()

void CDM_Document::UnsetIsStored ( )

◆ UnsetRequestedPreviousVersion()

void CDM_Document::UnsetRequestedPreviousVersion ( )

◆ Update() [1/3]

virtual void CDM_Document::Update ( )
virtual

the following method should be used instead:

Update(me:mutable; ErrorString: out ExtendedString from TCollection) returns Boolean from Standard

◆ Update() [2/3]

virtual void CDM_Document::Update ( const Handle< CDM_Document > &  aToDocument,
const Standard_Integer  aReferenceIdentifier,
const Standard_Address  aModifContext 
)
virtual

The Update method will be called once for each reference, but it should not perform any computation, to avoid multiple computation of a same document.

Reimplemented in TDocStd_Document.

◆ Update() [3/3]

virtual Standard_Boolean CDM_Document::Update ( TCollection_ExtendedString ErrorString)
virtual

This method Update will be called to signal the end of the modified references list. The document should be recomputed and UpdateFromDocuments should be called. Update should returns True in case of success, false otherwise. In case of Failure, additional information can be given in ErrorString.

◆ UpdateFromDocuments()

void CDM_Document::UpdateFromDocuments ( const Standard_Address  aModifContext) const

call virtual method Update on all referencing documents. This method keeps the list of the – documents to process.It may be the starting of an update – cycle. If not, the reentrant calls made by Update method (without argument) will append the referencing documents to the list and call the Update method (with arguments). Only the first call to UpdateFromDocuments generate call to Update().

Field Documentation

◆ myResourcesAreLoaded

Standard_Boolean CDM_Document::myResourcesAreLoaded
protected

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