• API Overview
  • EBICS API
  • FinTS API
  • XS2A API
  • SEPA API
Search Results for

    Class FinTransmogrifierRepository

    The FinTransmogrifierRepository is a container for FinTransmogrifier instances.

    Inheritance
    System.Object
    FinTransmogrifierRepository
    Inherited Members
    System.Object.Equals(System.Object)
    System.Object.Equals(System.Object, System.Object)
    System.Object.GetHashCode()
    System.Object.GetType()
    System.Object.MemberwiseClone()
    System.Object.ReferenceEquals(System.Object, System.Object)
    System.Object.ToString()
    Namespace: Subsembly.FinTS
    Assembly: Subsembly.FinTS.Core.dll
    Syntax
    public class FinTransmogrifierRepository
    Remarks

    The FinTransmogrifierRepository maintains two hashtables that enable quick lookup of FinTransmogrifier instances by the Segment Tag name, or by the Segment Type (Segmentkennung) and Segment Version.

    Access to the FinTransmogrifierRepository is not synchronized (thread safe)! This should not be a problem, because multiple simultaneous look ups are thread safe. Thus, if the FinTransmogrifierRepository is loaded by a single thread at startup and subsequently there are only lookup accesses everything is OK.

    Constructors

    FinTransmogrifierRepository()

    Creates an all empty FinTransmogrifierRepository.

    Declaration
    public FinTransmogrifierRepository()

    Properties

    Transmogrifiers

    Provides access to the FinTransmogrifier collection of this repository.

    Declaration
    public ICollection Transmogrifiers { get; }
    Property Value
    Type Description
    System.Collections.ICollection

    Methods

    Add(XmlElement)

    Add the given syntax to this repository.

    Declaration
    public void Add(XmlElement xmlSyntax)
    Parameters
    Type Name Description
    System.Xml.XmlElement xmlSyntax

    Syntax to be added.

    FindSegmentType(String)

    Determines the segment type for a particular order tag based on the available FinTransmogrifier instances of this repository.

    Declaration
    public string FindSegmentType(string sOrderTag)
    Parameters
    Type Name Description
    System.String sOrderTag

    The base order tag without version number and without _Req suffix. For example, "SingRemitt" is the base order tag for a single remittance. Must not be null.

    Returns
    Type Description
    System.String

    If an FinTransmogrifier in this repository is found that handles XML orders with the given order tag, then its SegmentType property is returned. If no matching FinTransmogrifier is found, then null is returned.

    Exceptions
    Type Condition
    System.ArgumentNullException

    The sOrderTag parameter was null.

    FindTransmogrifier(String)

    Find a FinTransmogrifier by its segment tag.

    Declaration
    public FinTransmogrifier FindTransmogrifier(string sSegmentTag)
    Parameters
    Type Name Description
    System.String sSegmentTag

    XML segment tag of the segment that shall be processed by the requested transmogrifier. For example, "SingRemitt_5_Req" is the segment tag for a single remittance based on segment version 5.

    Returns
    Type Description
    FinTransmogrifier

    If this repository contains a FinTransmogrifier that processes the requested segment tag, then its reference is returned. Otherwise null is returned.

    FindTransmogrifier(String, Int32)

    Find a FinTransmogrifier by segment type and version.

    Declaration
    public FinTransmogrifier FindTransmogrifier(string sSegmentType, int nSegmentVersion)
    Parameters
    Type Name Description
    System.String sSegmentType

    Segment type of the segment that shall be processed by the requested transmogrifier.

    System.Int32 nSegmentVersion

    Segment version of the segment that shall be processed by the requested transmogrifier.

    Returns
    Type Description
    FinTransmogrifier

    If this repository contains a FinTransmogrifier that processes the requested segment type and version, then its reference is returned. Otherwise null is returned.

    Load(Stream)

    Loads an XML file with syntax descriptions from a stream into this repository.

    Declaration
    public void Load(Stream aStream)
    Parameters
    Type Name Description
    System.IO.Stream aStream

    Readable stream that provides the XML file.

    Remarks

    The loaded XML file must contain an <all> root node that contains all the syntax description <seg> nodes.

    The loaded syntax descriptions are added to the repository. Any previously existing entries are still maintained. If a syntax is added with a Segment Tag or Segment Type and Segment Version that already exists in this repository, then it will be replaced with the loaded syntax.

    Exceptions
    Type Condition
    System.Xml.XmlException

    The given file was not a valid XML document.

    System.ArgumentNullException

    The parameter was null.

    Load(String)

    Loads an XML file with syntax descriptions into this repository.

    Declaration
    public void Load(string sFilename)
    Parameters
    Type Name Description
    System.String sFilename

    Syntaxfile to be loaded.

    Remarks

    The loaded XML file must contain an <all> root node that contains all the syntax description <seg> nodes.

    The loaded syntax descriptions are added to the repository. Any previously existing entries are still maintained. If a syntax is added with a Segment Tag or Segment Type and Segment Version that already exists in this repository, then it will be replaced with the loaded syntax.

    Exceptions
    Type Condition
    System.Xml.XmlException

    The given file was not a valid XML document.

    System.IO.FileNotFoundException

    The given filename did not exist.

    System.ArgumentNullException

    The parameter was null.

    Transmogrify(FinSegment)

    Transmogrifies a segment using a matching transmogrifier from this repository.

    Declaration
    public XmlDocument Transmogrify(FinSegment aSegment)
    Parameters
    Type Name Description
    FinSegment aSegment

    Segment to be transmogrified.

    Returns
    Type Description
    System.Xml.XmlDocument

    XML data that resulted by transmogrifying the segment.

    Exceptions
    Type Condition
    System.ArgumentNullException

    Parameter aSegment was null.

    System.InvalidOperationException

    No matching transmogrifier could be found in this repository.

    Transmogrify(FinSegment, XmlNode)

    Transmogrifies a segment using a matching transmogrifier from this repository.

    Declaration
    public void Transmogrify(FinSegment aSegment, XmlNode xmlParentNode)
    Parameters
    Type Name Description
    FinSegment aSegment

    Segment to be transmogrified.

    System.Xml.XmlNode xmlParentNode

    Parent node that shall receive the transmogrified segment data nodes.

    Exceptions
    Type Condition
    System.ArgumentNullException

    Parameter aSegment or xmlParentNode was null.

    System.InvalidOperationException

    No matching transmogrifier could be found in this repository.

    Transmogrify(XmlElement)

    Transmogrifies a XML order using a matching transmogrifier from this repository.

    Declaration
    public FinSegment Transmogrify(XmlElement xmlOrder)
    Parameters
    Type Name Description
    System.Xml.XmlElement xmlOrder

    XML order to be transmogrified.

    Returns
    Type Description
    FinSegment

    FinSegment that resulted by transmogrifying the XML order.

    Exceptions
    Type Condition
    System.ArgumentNullException

    Parameter xmlOrder was null.

    System.InvalidOperationException

    No matching transmogrifier could be found in this repository.

    In This Article
    Back to top Copyright 2009-2025 Subsembly GmbH