GenericXmlBridgeTDataAccess Class

A generic bridge that has read/write capabilities for accessing xml files using a DataContractSerializer.

Definition

Namespace: DHI.Mike1D.Generic
Assembly: DHI.Mike1D.Generic (in DHI.Mike1D.Generic.dll) Version: 24.0.0.0 (11.1.1.1111)
C#
public class GenericXmlBridge<TDataAccess> : IBridge
where TDataAccess : AbstractDataAccess
Inheritance
Object    GenericXmlBridgeTDataAccess
Derived
More
Implements
IBridge

Type Parameters

TDataAccess
A DataAccess component

Constructors

GenericXmlBridgeTDataAccessInitializes a new instance of the GenericXmlBridgeTDataAccess class

Properties

Data DataAccess component being written to/from
DataVersion Version of data being read. Only applicable when reading data.
FilePath FilePath specifying the name of the persistance storage
KnownTypes List of known types used for reading/writing
StartElementMaxDepth The maximum depth in the xml hierarchy to look for StartElementTag. 0 means "only search top level". Increasing values causes to search deeper into the hierarcy.
StartElementTag Start element tag: the first content element.
Surrogate Data contract surrogate to handle if certain types are to be serialized in special ways and when deserialized object needs to be connected in a way that the serializer can not do automatically. Per default this is set to a SerializerSurrogate object.
VersionConst Major version change: Not backwards compatible, not forwards compatible Minor version change: Mostly backwards compatible, not forwards compatible Build version change: Fully backwards compatible and forwards compatible
VersionStrConst
Intended to automatically get the version as a string from VersionConst. Descendants of GenericXmlBridgeTDataAccess should only override _get if a format of the version string, which is different from {Major}.{Minor}.{Build} is wanted.
Override of _set is only maintained for backward compatibility, and should not be used by new descendants.
XmlWriterSettings Get/Set XmlWriterSettings in case xml output needs custom formatting This does not affect xml content, only formatting of the xml.

Methods

CheckDataVersionCheckDataVersion(XmlReader, IDiagnostics) must be called after GetDataVersion(XmlReader, IDiagnostics). This calling order is automatically invoked when opening the the xml by Open(XmlReader, IDiagnostics).
CreateSerializer Create serializer
EqualsDetermines whether the specified object is equal to the current object.
(Inherited from Object)
FinalizeAllows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Inherited from Object)
GetDataVersion Try to parse the version from the Version attribute on the xml's StartElementTag. Default is Version(1, 0, 0). The version is assigned to DataVersion.
GetDataVersion(XmlReader, IDiagnostics) must be called when the reader is positioned at the StartElementTag.
GetHashCodeServes as the default hash function.
(Inherited from Object)
GetTypeGets the Type of the current instance.
(Inherited from Object)
MemberwiseCloneCreates a shallow copy of the current Object.
(Inherited from Object)
Open(IDiagnostics) Opens the file in FilePath and Read data from xml file into the DataAccess component.

The xml must inlude data access versioning info. Input read using this method must be written using one of the Save methods.

The FilePath must have been set to a valid xml file.

Open(Stream, IDiagnostics) Open data stored in stream

The xml must inlude data access versioning info. Input read using this method must be written using one of the Save methods.

The FilePath must still have been set to a valid folder, to get relative paths in the setup right.

Open(XmlReader, IDiagnostics) Position the reader at the StartElementTag. If the tag is not found, issue an error
OpenAndRead 
Read Read the DataAccess component from the XmlReader stream.

Input read using this method must be written using the Write method.

Save Saves the DataAccess component to file, using its connection property.

The output inludes data access versioning info. Output stored using this method can be read again using the Open method.

Save(Stream) Saves the DataAccess component to file, using its connection property.

The output inludes data access versioning info. Output stored using this method can be read again using the Open method.

Save(XmlWriter) Writes the DataAccess component to XmlWriter.

The output inludes data access versioning info. Output stored using this method can be read again using the Open method.

ToStringReturns a string that represents the current object.
(Inherited from Object)

Fields

_filePath FilePath specifying the name of the persistance storage
_xmlWriterSettings XmlWriterSettings in case xml output needs custom formatting This does not affect xml content, only formatting of the xml.

See Also