Click here to Skip to main content
15,892,965 members
Articles / Programming Languages / C#

OPF.Net : An object persistent framework for .NET

,
Rate me:
Please Sign up or sign in to vote.
4.83/5 (11 votes)
3 Nov 200314 min read 106.1K   375   76  
Developing an object-oriented application based on an SQL storage using OPF.Net.
<?xml version="1.0"?>
<doc>
    <assembly>
        <name>OPF</name>
    </assembly>
    <members>
        <member name="T:OPF.Attributes.NotPersistent">
            <summary>
            Set this attribute to flag a property as not peristent, i.e. it will not 
            be loaded and/or saved to storage.
            </summary>
        </member>
        <member name="T:OPF.Attributes.Mandatory">
            <summary>
            Set this attribute if a property should be treated as mandatory. OPF will check for
            a valid value in the property upon saving. Also see the CheckConstraints method of the Persistent class.
            </summary>
        </member>
        <member name="T:OPF.Attributes.ReadOnly">
            <summary>
            Set this attribute if a property is to be treated as read only, i.e. 
            it gets read from the storage but never written.
            </summary>
        </member>
        <member name="T:OPF.Attributes.Encrypted">
            <summary>
            Set this attribute if a property should be encrypted before saving (using DES) and
            decrypted after loading.
            </summary>
        </member>
        <member name="T:OPF.Attributes.RijndaelEncrypted">
            <summary>
            Set this attribute if a property should be encrypted before saving (using Rijndael) and
            decrypted after loading.
            </summary>
        </member>
        <member name="T:OPF.Attributes.ZipCompressed">
            <summary>
            Set this attribute to ZIP compress the property content upon saving and unzip 
            it on load.
            </summary>
        </member>
        <member name="T:OPF.Attributes.MapField">
            <summary>
            Set this attribute to a property to connect the property with a 
            field in the storage. The field in the storage has to be set as
            constructor parameter.
            </summary>
        </member>
        <member name="M:OPF.Attributes.MapField.#ctor(System.String)">
            <summary>
            Constructor. Sets the name connected with the property.
            </summary>
            <param name="FieldName">Name of the field in the storage.</param>
        </member>
        <member name="P:OPF.Attributes.MapField.FieldName">
            <summary>
            Returns the name of the field in the storage connected
            with the property.
            </summary>
        </member>
        <member name="T:OPF.Collections.CollectionFlags">
            <summary>
            Flags to change the behaviour of the collection class. If the flag eg. NotLoadable is set, then it
            is not possible to use the load method on that instance of the collection class. In that case the 
            collection class will throw an exception if someone tries to call the load function.
            </summary>
        </member>
        <member name="F:OPF.Collections.CollectionFlags.NotLoadable">
            <summary>The collection can't be loaded from storage.</summary>
        </member>
        <member name="F:OPF.Collections.CollectionFlags.NotSaveable">
            <summary>The collection can't be saved to the storage.</summary>
        </member>
        <member name="F:OPF.Collections.CollectionFlags.NotDeletable">
            <summary>The collection can't be deleted from storage.</summary>
        </member>
        <member name="F:OPF.Collections.CollectionFlags.AllowAll">
            <summary>Standard. Any operation is allowed.</summary>
        </member>
        <member name="T:OPF.Collections.Collection">
            <summary>
            The OPF collection class. The collection holds a set of OPF.BaseObjects or 
            derived classes. A collection can hold different types of objects as long
            as they all inherit from OPF.BaseObject. OPF.BaseObject is a memory only
            object. If a collection contains at least one object directly derived from
            OPF.BaseObject (and not from OPF.Persistent) than all storage related operations
            on the collection cannot be executed.
            </summary>
        </member>
        <member name="T:OPF.BaseObject">
            <summary>
            Base class for all OPF.BaseObjects. Object cannot be saved to a storage but is for in memory operations only
            </summary>
        </member>
        <member name="M:OPF.BaseObject.#ctor">
            <summary>
            Constructor. Generates a new GUID for the object.
            </summary>
        </member>
        <member name="M:OPF.BaseObject.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Constructor required for deserialization.
            </summary>
            <param name="SerialInfo">Contains the data to serialize and deserialize the object.</param>
            <param name="StreamContext">Contains the information about the source or target of the 
            serialization process.</param>
        </member>
        <member name="M:OPF.BaseObject.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Serializes the current object.
            </summary>
            <param name="SerialInfo">Contains the data to serialize and deserialize the object.</param>
            <param name="StreamContext">Contains the information about the source or target of the 
            serialization process.</param>
        </member>
        <member name="M:OPF.BaseObject.ObjectCreated">
            <summary>
            Can be overriden if something should be set or done
            with an OPF.BaseObject (and derivated classes) after having created the object.
            </summary>
        </member>
        <member name="M:OPF.BaseObject.IsAssigned">
            <summary>
            Checks if the object is assigned.
            If the ID is NullID the object is not assigned (as nothing form the storage 
            is loaded into the object)
            </summary>
        </member>
        <member name="M:OPF.BaseObject.IsChanged">
            <summary>
            Checks if the object has been changed since the last saving or loading.
            </summary>
        </member>
        <member name="M:OPF.BaseObject.IsChanged(System.Int64@)">
            <summary>
            Checks if the object has been changed since the last saving or loading. Returns the new CRC out parameter.
            </summary>
            <param name="CalculatedCrc">Contains the new CRC after executing this function.</param>
        </member>
        <member name="M:OPF.BaseObject.EqualsByID(OPF.BaseObject)">
            <summary>
            Compares the current object with an other object. Only by ID (very fast).
            </summary>
            <param name="OtherObject">Other object to compare with.</param>
        </member>
        <member name="M:OPF.BaseObject.Equals(System.Object)">
            <summary>
            Compares the current object with an other object.
            Gives back true, if the two objects have the same type and the same properties.
            Methods with the IsPersistent attribute are also compared.
            </summary>
            <param name="OtherObject">Other object to compare with.</param>
        </member>
        <member name="M:OPF.BaseObject.Assign(OPF.BaseObject)">
            <summary>
            Assigns all fields of the current OPF.BaseObject to another object.
            </summary>
            <param name="OtherObject">Other object to be assigned to this object.</param>
        </member>
        <member name="M:OPF.BaseObject.GetHashCode">
            <summary>
            Returns the hashcode for the current object. 
            Must be overwritten, when overwriting Equals.
            </summary>
        </member>
        <member name="M:OPF.BaseObject.CalculateCrc">
            <summary>
            Returns the CRC32 for this object. Does not set the calculated CRC!
            </summary>
        </member>
        <member name="M:OPF.BaseObject.SetNewID(OPF.ID)">
            <summary>
            Sets a new ID for this object. 
            Use this function only if you know exactly what you are doing! Is should normally not be necessary to
            set the ID.
            </summary>
            <param name="OPFObjectID">The new ID for this object.</param>
        </member>
        <member name="M:OPF.BaseObject.CheckConstraints">
            <summary>
            Checks if all mandatory fields have been compiled. Uses the checkconstraints class to performs the checks.
            </summary>
        </member>
        <member name="M:OPF.BaseObject.CheckConstraint(System.String,System.String,System.Object)">
            <summary>
            Check one property for constraint violations.
            </summary>
            <param name="PropertyName">Name of the property to be checked.</param>
            <param name="PropertyType">Type of the property.</param>
            <param name="PropertyValue">Value of the property.</param>
        </member>
        <member name="M:OPF.BaseObject.RollbackCrc">
            <summary>
            Sets the CRC one step back (rollback). If there is no older version an exception is thrown.
            </summary>
        </member>
        <member name="M:OPF.BaseObject.Compare(OPF.BaseObject)">
            <summary>
            Compares two objects for sorting and searching purposes. Must be overwritten for own search mechanism.
            a) If the OtherObject is "greater" then the acutal object return: -1
            b) If equal return:                                                0
            c) If the current object is greater then the other one return:     1
            </summary>
            <param name="OtherObject">Object to compare</param>
        </member>
        <member name="M:OPF.BaseObject.Contains(System.String,System.Object)">
            <summary>
            Returns true if an object contains a certain property with a certain value.
            </summary>
            <param name="PropertyName">Name of the property.</param>
            <param name="Value">Value of the property.</param>
        </member>
        <member name="M:OPF.BaseObject.Clone">
            <summary>
            Clones the actual object and returns the cloned one. Clone returns an excact copy of the original
            object.
            </summary>
        </member>
        <member name="P:OPF.BaseObject.ID">
            <summary>
            Returns and sets the ID of the object. 
            Use this property only if you know exactly what you are doing! Is should normally not be necessary to
            set the ID.
            </summary>
        </member>
        <member name="P:OPF.BaseObject.NullIDValue">
            <summary>
            Returns the value of the NullID. It is also possible to set a new value for NullID.
            </summary>
        </member>
        <member name="P:OPF.BaseObject.Crc">
            <summary>
            Returns and sets the actual CRC for this object.
            </summary>
        </member>
        <member name="P:OPF.BaseObject.Constraints">
            <summary>
            Sets and gets the class used in the check constraints method.
            </summary>
        </member>
        <member name="M:OPF.Collections.Collection.#ctor">
            <summary>
            Constructor. Sets only the ID to a new GUID.
            </summary>
        </member>
        <member name="M:OPF.Collections.Collection.#ctor(OPF.Collections.CollectionFlags)">
            <summary>
            Constructor. Sets the ID to a new GUID and the CollectionFlags, which change the behaviour 
            of the class. See (enumeration)CollectionFlags for additional information.
            </summary>
            <param name="CollectionFlags">Set the CollectionFlags to change the behaviour of the collection.</param>
        </member>
        <member name="M:OPF.Collections.Collection.#ctor(OPF.Collections.CollectionFlags,OPF.BaseObject[])">
            <summary>
            Constructor. Sets the ID to a new GUID and the CollectionFlags, which change the behaviour 
            of the class. See (enumeration)CollectionFlags for additional information.
            It is also possible to specify an array of objects (or derivatives) that will be immidiately added
            to the collection.
            </summary>
            <param name="CollectionFlags">Set the CollectionFlags to change the  behaviour of the collection.</param>
            <param name="ObjectList">Array holding OPF.BaseObjects or derivatives.</param>
        </member>
        <member name="M:OPF.Collections.Collection.#ctor(OPF.Collections.CollectionFlags,OPF.Collections.Collection)">
            <summary>
            Constructor. Sets the ID to a new GUID and the CollectionFlags, which change the behaviour of 
            the class. See (enumeration)CollectionFlags for additional information.
            It is also possible to give a collection (or derivatives) that will be added immediately 
            to the collection.
            </summary>
            <param name="CollectionFlags">Set the CollectionFlags to change the  behaviour of the collection.</param>
            <param name="Collection">Collection, that is added to the collection.</param>
        </member>
        <member name="M:OPF.Collections.Collection.#ctor(System.Int32)">
            <summary>
            Constructor. Sets the ID to a new GUID. Setting MaxResults will trigger an exception
            during a load if more than MaxResults objects are loaded. 
            </summary>
            <param name="MaxResults">Holds the maximum of objects the collection can contain.</param>
        </member>
        <member name="M:OPF.Collections.Collection.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Constructor required for deserialization.
            </summary>
            <param name="SerialInfo">Contains the data to serialize and deserialize the object.</param>
            <param name="StreamContext">Contains the information about the source or target of the 
            serialization process.</param>
        </member>
        <member name="M:OPF.Collections.Collection.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Serializes the current object.
            </summary>
            <param name="SerialInfo">Contains the data to serialize and deserialize the object.</param>
            <param name="StreamContext">Contains the information about the source or target of the 
            serialization process.</param>
        </member>
        <member name="M:OPF.Collections.Collection.CheckSupportedAction(OPF.Collections.CollectionFlags)">
            <summary>
            Throws an exception if the functionality that is checked has been disabled 
            by a flag set in the constructor.
            </summary>
            <param name="CollectionFlags">The PersistentFlags enumeration to check.</param>
        </member>
        <member name="M:OPF.Collections.Collection.Add(System.Object)">
            <summary>
            Adds a new object to the collection.
            </summary>
            <param name="Object">The object that is added to the collection.</param>
        </member>
        <member name="M:OPF.Collections.Collection.Add(OPF.Collections.Collection)">
            <summary>
            Add all objects of the given collection to the collection
            </summary>
            <param name="Collection">The objects of the given collection will be added</param>
        </member>
        <member name="M:OPF.Collections.Collection.Equals(System.Object)">
            <summary>
            Compares the current collection with an other collection. 
            Returns true, if the two collections are completely identically, i.e. they contain
            the same objects in the same order.
            </summary>
            <param name="OtherCollection">Other collection to compare with.</param>
        </member>
        <member name="M:OPF.Collections.Collection.GetHashCode">
            <summary>
            Gives back the hashcode. Has to be overridden for Assign.
            </summary>
        </member>
        <member name="M:OPF.Collections.Collection.Assign(OPF.BaseObject)">
            <summary>
            Assigns OtherCollection to the actual collection. After Assign the two collections are
            completely identical.
            </summary>
            <param name="OtherObject">Other object to be assigned to this object.</param>
        </member>
        <member name="M:OPF.Collections.Collection.Clear">
            <summary>
            Clears the whole Collection, without deleting the object from the storage.
            You can use this function for a full reload, ALL internally managed collections will be cleared as well.
            </summary>
        </member>
        <member name="M:OPF.Collections.Collection.Save">
            <summary>
            Saves all objects in the collection and deletes all objects in the deleted list.
            Use this method for normal (standard) save of the collection. Only objects
            that have been changed will be saved. Each object will save itself, i.e. Save
            results in as many queries to the storages as there are changed objects in the collection.
            </summary>
        </member>
        <member name="M:OPF.Collections.Collection.Save(System.Boolean)">
            <summary>
            Saves all objects in the collection. You can save without deleting the objects in the
            deleted list by setting DeleteDeletedList false.
            </summary>
            <param name="DeleteDeletedList">Deletes all objects in the deleted list, if true.</param>
        </member>
        <member name="M:OPF.Collections.Collection.DeleteAllFromStorage">
            <summary>
            Deletes all objects in the collection from storage. 
            The objects in the collection are not removed, so it would be possible to resave all objects in the
            collection.
            </summary>
        </member>
        <member name="M:OPF.Collections.Collection.DeleteAll">
            <summary>
            Deletes all objects in the collection - Not from the storage... Objects will be deleted from 
            storage when saving the collection.
            </summary>
        </member>
        <member name="M:OPF.Collections.Collection.Delete(System.Int32)">
            <summary>
            Deletes an object by index. The object is deleted from the collection and not from storage.
            </summary>
            <param name="Index">Index of the object in the collection.</param>
        </member>
        <member name="M:OPF.Collections.Collection.Delete(OPF.BaseObject)">
            <summary>
            Deletes an object. The object is deleted from the collection and not from storage.
            </summary>
            <param name="Object">The object to delete. The object must have the same hashvalue as the
            object in the collection. Only the hashvalue of the object is used in finding the object to delete
            from the collection.</param>
        </member>
        <member name="M:OPF.Collections.Collection.Remove(System.Object)">
            <summary>
            Deletes an object (same as Delete). The object is removed from the collection and removed from stoarge.
            </summary>
            <param name="Object">The object to delete. The object must be the same as the
            	object in the collection. Only the hashvalue of the object is taken to delete the object 
            	from the collection.</param>
        </member>
        <member name="M:OPF.Collections.Collection.RemoveAt(System.Int32)">
            <summary>
            Deletes an object by index (same as Delete with index). The object is deleted from the collection 
            and from storage.
            </summary>
            <param name="Index">Index of the object in the collection.</param>
        </member>
        <member name="M:OPF.Collections.Collection.RemoveFromCollection(OPF.BaseObject)">
            <summary>
            Removes an object from the collection. The object is not deleted and not moved to the 
            deleted list, it is only removed from the collection.
            </summary>
            <param name="Object">The object to remove. The object must have the same hashvalue as the
            object in the collection. Only the hashvalue of the object is taken to remove the object 
            from the collection.</param>
        </member>
        <member name="M:OPF.Collections.Collection.RemoveFromCollection(System.Int32)">
            <summary>
            Removes an object from the collection. The object is not deleted and not moved to the
            deleted list, it is only removed from the collection.
            </summary>
            <param name="Index">Index of the object to remove.</param>
        </member>
        <member name="M:OPF.Collections.Collection.Load(System.String,OPF.ParameterCollection)">
            <summary>
            Loads or reloads the collection.
            </summary>
            <param name="CollectionName">Name of the collection to load or reload.</param>
            <param name="ParamCollection">Parameter Collection that contains all parameter 
            required by that collection. If one or more parameters are missing then an 
            exception is thrown.</param>
        </member>
        <member name="M:OPF.Collections.Collection.Load(OPF.ParameterCollection)">
            <summary>
            Loads or reloads the Collection. If no collection is loaded, the default collection 
            (named 'default') is tried to be loaded (If found in the DataManager). If a collection has 
            been loaded before, that collection is reloaded with the parameter collection given.
            </summary>
            <param name="ParamCollection">Parameter Collection that contains all parameter 
            required by that collection. If one or more parameters are missing then an 
            exception is thrown.</param>
        </member>
        <member name="M:OPF.Collections.Collection.Reload">
            <summary>
            Reloads the collection. To use reload the collection must be loaded once before or a 
            collection name and parameter collection must be specified earlier.
            </summary>
        </member>
        <member name="M:OPF.Collections.Collection.IsEmpty">
            <summary>
            Returns true if the collection is empty.
            </summary>
        </member>
        <member name="M:OPF.Collections.Collection.IndexOf(System.Object)">
            <summary>
            Returns the position of the specified object in the collection.
            </summary>
            <param name="Object">The object required, that is compared by the hashvalue.</param>
        </member>
        <member name="M:OPF.Collections.Collection.IndexOf(OPF.ID)">
            <summary>
            Returns the position of a certain object in the collection.
            </summary>
            <param name="ObjectID">ID of the object required.</param>
        </member>
        <member name="M:OPF.Collections.Collection.GetObject(System.Int32)">
            <summary>
            Returns the Object at a certain position.
            </summary>
            <param name="Index">Index of the object.</param>
        </member>
        <member name="M:OPF.Collections.Collection.GetDeletedObject(System.Int32)">
            <summary>
            Returns the Object at a certain position in the deleted list.
            </summary>
            <param name="Index">Index of the object.</param>
        </member>
        <member name="M:OPF.Collections.Collection.GetObjectByHashCode(System.Int32)">
            <summary>
            Returns the Object with a the given hashcode.
            </summary>
            <param name="HashCode">Hashcode of the object you need (converted to a string). Use
            GetHashCode of the object to get the hashcode.</param>
        </member>
        <member name="M:OPF.Collections.Collection.Rollback">
            <summary>
            Rollback used while rolling back transactions. Used internally by the DataManager. Don't use this
            function.
            </summary>
        </member>
        <member name="M:OPF.Collections.Collection.Sort(System.Boolean)">
            <summary>
            Sorts the objects in the collection. You have to override the Compare function of the persistent classes
            managed by this collection. If not overwritten nothing will happen, when you try to sort 
            the collection. Not exception is thrown.
            </summary>
            <param name="Reverse">If reverse is true the collection is sorted in the reversed way.</param>
        </member>
        <member name="M:OPF.Collections.Collection.SortByProperty(System.String,System.Boolean)">
            <summary>
            Sorts by a certain property. This function uses reflection to find the property given in the objects
            and to use that property to sort the objects in the collection.
            </summary>
            <param name="PropertyName">The name of the property used by sort.</param>
            <param name="Reverse">If reverse is true the collection is sorted in the reversed way.</param>
        </member>
        <member name="M:OPF.Collections.Collection.SortByProperty(System.String)">
            <summary>
            Sorts by a certain property. This function uses reflection to find the property given in the objects
            and to use that property to sort the objects in the collection.
            </summary>
            <param name="PropertyName">The name of the property used by sort.</param>
        </member>
        <member name="M:OPF.Collections.Collection.GetObject(OPF.ID)">
            <summary>
            Returns a object with a certain ID. The object must be in the collection and not in the
            deleted list to be returned.
            </summary>
            <param name="ObjectID">ID of the object you need.</param>
        </member>
        <member name="M:OPF.Collections.Collection.GetDeletedObject(OPF.ID)">
            <summary>
            Returns a deleted object with a certain ID. The object must be in the deleted list and not in 
            the collection to be returned.
            </summary>
            <param name="ObjectID">ID of the object you need.</param>
        </member>
        <member name="M:OPF.Collections.Collection.IsLoaded">
            <summary>
            Returns if the collection is loaded or not.
            </summary>
        </member>
        <member name="M:OPF.Collections.Collection.ReloadAllLocalChanged">
            <summary>
            Reloads all objects, that has been changed local. Does not compare the objects in the storage
            with the object loaded, to check if they have been changed by someone else.
            </summary>
        </member>
        <member name="M:OPF.Collections.Collection.CopyTo(System.Array,System.Int32)">
            <summary>
            Copies the collection to an array, beginning with the index given.
            </summary>
            <param name="Array">Array where to copy the collection to.</param>
            <param name="Index">The index where to start with the copy process.</param>
        </member>
        <member name="M:OPF.Collections.Collection.GetEnumerator">
            <summary>
            Returns an enumerator of the collection. The enumerator allows to loop over all
            objects contained in the collection (not in the deleted list).
            </summary>
        </member>
        <member name="M:OPF.Collections.Collection.Contains(System.Object)">
            <summary>
            Returns if the Collection the object given.
            </summary>
            <param name="Object">The object you want to be found.</param>
        </member>
        <member name="M:OPF.Collections.Collection.Contains(System.String,System.Object)">
            <summary>
            Returns true if the collecton contains an object with a given property and value.
            </summary>
            <param name="PropertyName">Name of the property.</param>
            <param name="Value">Value of the property.</param>
        </member>
        <member name="M:OPF.Collections.Collection.Insert(System.Int32,System.Object)">
            <summary>
            Inserts a new object at the given index.
            </summary>
            <param name="Index">Index where to add the new object.</param>
            <param name="Object">Object to insert.</param>
        </member>
        <member name="M:OPF.Collections.Collection.GetRandomObject">
            <summary>
            Returns a random object of the collection.
            </summary>
        </member>
        <member name="M:OPF.Collections.Collection.GetRandomObjects(System.Int32)">
            <summary>
            Returns an with a number of random objects.
            </summary>
            <param name="Amount">Number of objects you need.</param>
        </member>
        <member name="M:OPF.Collections.Collection.ContainsID(OPF.ID)">
            <summary>
            Returns the position of the object if the collection contains an object matching the ID.
            Returns -1 if there is no object matching the ID.
            </summary>
            <param name="SearchedID">The ID you search for.</param>
        </member>
        <member name="M:OPF.Collections.Collection.CheckConstraints">
            <summary>
            Does the check constraints for all objects in the collection.
            </summary>
        </member>
        <member name="M:OPF.Collections.Collection.IsAssigned">
            <summary>
            Returns true if all objects in the collection are assigned.
            </summary>
        </member>
        <member name="M:OPF.Collections.Collection.Search(System.String,System.Object)">
            <summary>
            Searches all properties of all objects in the collection for a certain value.
            </summary>
            <param name="PropertyName">Name of the property you want to be searched in.</param>
            <param name="Value">Value you want to be searched for.</param>
        </member>
        <member name="M:OPF.Collections.Collection.Clone">
            <summary>
            Clones the current object and returns the clone.
            </summary>
        </member>
        <member name="M:OPF.Collections.Collection.AdjustDeletedIndices(System.Int32,System.Boolean)">
            <summary>
            Adjusts the indices of the objects in the deleted indices list.
            </summary>
            <param name="Index">Index to adjust.</param>
            <param name="Remove">True if there has been removed an object. False if there
            has been added one.</param>
        </member>
        <member name="M:OPF.Collections.Collection.FireLongOperationDelegate(System.Int32,System.Int32)">
            <summary>
            Fires the long operation delegate. This method is used by the objectbroker. Don't use it.
            </summary>
            <param name="Value">Value that contains the index of the current object.</param>
            <param name="Maximum">Value that contains the maximum of elements processed in this command.</param>
        </member>
        <member name="P:OPF.Collections.Collection.CollectionFlags">
            <summary>
            Returns and sets the collection flags. Required to manage the access to a collection. With this
            flags you can change the behaviour of the collection, while saving, deleting, loading...
            </summary>
        </member>
        <member name="P:OPF.Collections.Collection.MaxResults">
            <summary>
            Returns and sets the maximum of objects, that will be loaded when the collection 
            is loaded from a storage. If that value is overstepped the collection will throw an exception.
            </summary>
        </member>
        <member name="P:OPF.Collections.Collection.Count">
            <summary>
            Returns the number of objects in the collection. 
            Objects marked as deleted are not counted.
            </summary>
        </member>
        <member name="P:OPF.Collections.Collection.Objects">
            <summary>
            Returns all objects of the collection. 
            INFORMATION: The key is the hashvalue of the object.
            </summary>
        </member>
        <member name="P:OPF.Collections.Collection.CollectionName">
            <summary>
            Sets and returns the name of the actual collection.
            </summary>
        </member>
        <member name="P:OPF.Collections.Collection.DeletedObjects">
            <summary>
            Returns the collection of the deleted objects. Is required by the DataManager to delete the objects
            in the deleted list.
            </summary>
        </member>
        <member name="P:OPF.Collections.Collection.DeletedObjectsCount">
            <summary>
            Returns the number of objects in the deleted list.
            </summary>
        </member>
        <member name="P:OPF.Collections.Collection.CollectionObjects">
            <summary>
            Returns the collection of the objects in the collection (not in the deletedlist).
            </summary>
        </member>
        <member name="P:OPF.Collections.Collection.IsSynchronized">
            <summary>
            Returns if the objects is thread safe. Returns always true, as the object 
            should be thread safe.
            </summary>
        </member>
        <member name="P:OPF.Collections.Collection.SyncRoot">
            <summary>
            Returns the current object. Required for sync locking.
            </summary>
        </member>
        <member name="P:OPF.Collections.Collection.IsFixedSize">
            <summary>
            Returns if the collection is fixed size. Returns always false, as the
            collection is not fixed size.
            </summary>
        </member>
        <member name="P:OPF.Collections.Collection.IsReadOnly">
            <summary>
            Returns if the collection is read only. Returns always false, as the 
            collection is not readonly.
            </summary>
        </member>
        <member name="P:OPF.Collections.Collection.Item(System.Int32)">
            <summary>
            Item property (Indexer). Returns the Item at the index given.
            </summary>
        </member>
        <member name="E:OPF.Collections.Collection.LongOperation">
            <summary>
            Event that is fired on each load and save of a object of the collection.
            </summary>
        </member>
        <member name="P:OPF.Collections.Collection.LongOperationDelegateIsSet">
            <summary>
            Returns true if the long operation delegate is set. This property is used by the
            Collection DataManager to get sure not to fire an event not set.
            </summary>
        </member>
        <member name="P:OPF.Collections.Collection.Constraints">
            <summary>
            Sets and gets the class used in the check constraints method. When setting
            the constraints class, for each object in the collection that class is set.
            </summary>
        </member>
        <member name="T:OPF.Collections.LongOperationDelegate">
            <summary>
            Delegate for long operations. If requested it is possible to register the delegate
            with a collection and the registered method is called while loading and saving. This 
            makes it possible to show a progressbar or something else, that shows the status.
            </summary>
        </member>
        <member name="T:OPF.SupportedTypes">
            <summary>
            Supported types by the OPF.Net. Each of those types are fully supported.
            Each of the types here should (must) implement IComparable - for constraints checking.
            </summary>
        </member>
        <member name="F:OPF.SupportedTypes.ID">
            <summary>OPF.ID. ID of an OPF.BaseObject.</summary>
        </member>
        <member name="F:OPF.SupportedTypes.Blob">
            <summary>OPF.Blob. Blob for the OPF.Net.</summary>
        </member>
        <member name="F:OPF.SupportedTypes.Byte">
            <summary>Sytem.Byte.</summary>
        </member>
        <member name="F:OPF.SupportedTypes.Int16">
            <summary>System.Int16.</summary>
        </member>
        <member name="F:OPF.SupportedTypes.Int32">
            <summary>System.Int32.</summary>
        </member>
        <member name="F:OPF.SupportedTypes.Int64">
            <summary>System.Int64.</summary>
        </member>
        <member name="F:OPF.SupportedTypes.Single">
            <summary>System.Single.</summary>
        </member>
        <member name="F:OPF.SupportedTypes.Double">
            <summary>System.Double.</summary>
        </member>
        <member name="F:OPF.SupportedTypes.Decimal">
            <summary>System.Decimal.</summary>
        </member>
        <member name="F:OPF.SupportedTypes.Boolean">
            <summary>System.Boolean.</summary>
        </member>
        <member name="F:OPF.SupportedTypes.DateTime">
            <summary>System.DateTime.</summary>
        </member>
        <member name="F:OPF.SupportedTypes.String">
            <summary>System.Object.</summary>
        </member>
        <member name="F:OPF.SupportedTypes.Enum">
            <summary>System.Enum.</summary>
        </member>
        <member name="T:OPF.IDGenerator">
            <summary>
            Generates unique ID's for the business objects. The base implementation generates GUUID's as unique ID's.
            Override GetNewID to implement different numbering schemas.
            </summary>
        </member>
        <member name="M:OPF.IDGenerator.#ctor">
            <summary>
            Base Constructor.
            </summary>
        </member>
        <member name="M:OPF.IDGenerator.#ctor(System.Int32)">
            <summary>
            Constructor
            </summary>
            <param name="Length">Specifies the length of the new ID.</param>
        </member>
        <member name="M:OPF.IDGenerator.#ctor(System.Int32,System.Boolean)">
            <summary>
            Constructor
            </summary>
            <param name="Length">Specifies the length of the new ID.</param>
            <param name="OnlyNumbers">If true ID's with all numeric digits will be generated.</param>
        </member>
        <member name="M:OPF.IDGenerator.GetNewID">
            <summary>
            Virtual function that returns an new unique ID
            If length is set to 0 returns a GUID (eg 5a06fc16-db9a-4bae-88c5-66ef9df320b7).
            If lenght has been specified in the constructor gives back a random ID of that lenght.
            </summary>
        </member>
        <member name="M:OPF.IDGenerator.RemoveChars(System.String)">
            <summary>
            Internal function that removes all chars in a string. Returns a string without chars, only numbers.
            </summary>
            <param name="MixedString">A mixed string, which contains chars and numbers.</param>
        </member>
        <member name="T:OPF.ID">
            <summary>
            The ID class for all OPF.BaseObjects. Holds the basic ID functions.
            </summary>
        </member>
        <member name="M:OPF.ID.#ctor">
            <summary>
            Basic constructor. Sets the ID to NullID.
            </summary>
        </member>
        <member name="M:OPF.ID.#ctor(System.String)">
            <summary>
            Constructor. Let's you set the ID when creating the new ID.
            </summary>
            <param name="ID">The ID you want set.</param>
        </member>
        <member name="M:OPF.ID.ClearID">
            <summary>
            Sets the ID back to NullID.
            </summary>
        </member>
        <member name="M:OPF.ID.SetNewID(System.String)">
            <summary>
            Sets a new ID. If the ID is the same as the NullID, then an exception is thrown.
            </summary>
            <param name="NewID">The ID you want set as string.</param>
        </member>
        <member name="M:OPF.ID.SetNewID(OPF.ID)">
            <summary>
            Sets a new ID. If the ID is NullID, then an excpetion is thrown.
            </summary>
            <param name="NewID">The ID to set.</param>
        </member>
        <member name="M:OPF.ID.Equals(OPF.ID)">
            <summary>
            Basic equals method. Returns true if the ID and OtherID are equal
            </summary>
            <param name="OtherID">The Other ID you want compare with this one.</param>
        </member>
        <member name="M:OPF.ID.IsNull">
            <summary>
            Returns true if the current ID is NullID.
            An ID that holds an empty string is considered a NullID.
            </summary>
        </member>
        <member name="M:OPF.ID.Rollback">
            <summary>
            Reverts the ID to its previous value. Used by the OPF in transactions to revert object in memory
            on a rollback.
            </summary>
        </member>
        <member name="M:OPF.ID.Assign(OPF.ID)">
            <summary>
            Assigns another ID to the current ID.
            </summary>
            <param name="OtherID">The ID you want assign.</param>
        </member>
        <member name="M:OPF.ID.CompareTo(System.Object)">
            <summary>
            Compares the actual ID with the other ID given. CompareTo is used to sort collections of
            objects. For different sorting behavior override this method.
            </summary>
            <param name="OtherID">The other ID you want to be compared.</param>
        </member>
        <member name="M:OPF.ID.Clone">
            <summary>
            Clones the actual object and returns the cloned one.
            </summary>
        </member>
        <member name="M:OPF.ID.GenerateNewID">
            <summary>
            Creates a new ID with the IDGenerator specified in the OPF.Main Class.
            </summary>
        </member>
        <member name="M:OPF.ID.op_Equality(OPF.ID,OPF.ID)">
            <summary>
            Operator overloading. Checks the ID values and returns true, if both
            IDs have the same value.
            </summary>
            <param name="FirstID">First ID to check.</param>
            <param name="SecondID">Second ID to check.</param>
        </member>
        <member name="M:OPF.ID.op_Inequality(OPF.ID,OPF.ID)">
            <summary>
            Operator overloading. Checks the ID values and returns true, if both
            IDs have different values.
            </summary>
            <param name="FirstID">First ID to check.</param>
            <param name="SecondID">Second ID to check.</param>
        </member>
        <member name="M:OPF.ID.Equals(System.Object)">
            <summary>
            Returns true if the ID given matches the current ID.
            </summary>
            <param name="ID">ID given to compare with the current one.</param>
        </member>
        <member name="M:OPF.ID.GetHashCode">
            <summary>
            Returns the hashvalue of the current ID.
            </summary>
            <returns></returns>
        </member>
        <member name="M:OPF.ID.op_Implicit(OPF.ID)~System.String">
            <summary>
            Allows to cast a ID to a string and returns it.
            </summary>
            <param name="ID">ID that should be casted.</param>
        </member>
        <member name="M:OPF.ID.ToString">
            <summary>
            Returns the value of the ID.
            </summary>
        </member>
        <member name="P:OPF.ID.NullIDValue">
            <summary>
            Sets and returns the NullID value.
            </summary>
        </member>
        <member name="P:OPF.ID.Value">
            <summary>
            Returns the actual ID or sets a new ID.
            Setting a new ID works exactly in the same way as SetNewID.
            </summary>
        </member>
        <member name="T:OPF.Blob">
            <summary>
            The Blob class for all OPF.Net Blobs. Holds the basic Blob functions.
            </summary>
        </member>
        <member name="M:OPF.Blob.#ctor">
            <summary>
            Constructor.
            </summary>
        </member>
        <member name="M:OPF.Blob.#ctor(System.Byte[])">
            <summary>
            Constructor. Allows to set the byte array.
            </summary>
            <param name="Bytes">Byte array managed by this Blob.</param>
        </member>
        <member name="M:OPF.Blob.GetStreamWriter">
            <summary>
            Returns the stream writer for the blob. The blob can be saved to a file using the returned stream writer.
            </summary>
        </member>
        <member name="M:OPF.Blob.AssignBlob(System.IO.StreamReader)">
            <summary>
            Assigns all bytes of the reader to the blob.
            </summary>
            <param name="Reader">Reader that contains the blob.</param>
        </member>
        <member name="M:OPF.Blob.CompareTo(System.Object)">
            <summary>
            Compares the actual Blob with the other Blob given byte by byte.
            </summary>
            <param name="OtherBlob">The other Blob you want to be compared.</param>
        </member>
        <member name="M:OPF.Blob.Assign(OPF.Blob)">
            <summary>
            Assigns the data of another Blob to the actual Blob.
            </summary>
            <param name="OtherBlob">Other Blob to assign with the actual Blob.</param>
        </member>
        <member name="M:OPF.Blob.Equals(OPF.Blob)">
            <summary>
            Returns true if the data of the actual Blob matches with the Blob given.
            </summary>
            <param name="OtherBlob">Other Blob to compare with this one.</param>
        </member>
        <member name="M:OPF.Blob.SetNotChanged">
            <summary>
            Sets the Blob to not changed - Used internally by the DataManager - Do NOT use it!
            </summary>
        </member>
        <member name="M:OPF.Blob.Clone">
            <summary>
            Clones the actual object and returns the cloned one.
            </summary>
        </member>
        <member name="M:OPF.Blob.ToString">
            <summary>
            Returns the actual content of the Blob as string.
            </summary>
        </member>
        <member name="P:OPF.Blob.Bytes">
            <summary>
            Sets and returns the bytes contained by the Blob.
            </summary>
        </member>
        <member name="P:OPF.Blob.MemoryStream">
            <summary>
            Returns and sets the memorystream for this blob.
            </summary>
        </member>
        <member name="P:OPF.Blob.Changed">
            <summary>
            Returns true if the Blob has been changed since the last load from storage.
            </summary>
        </member>
        <member name="P:OPF.Blob.Length">
            <summary>
            Returns the length of the blob.
            </summary>
        </member>
        <member name="T:OPF.PersistentFlags">
            <summary>
            Flags to change the behaviour of the persistent class. If the flag eg. NotLoadable is set then it
            is not possible to use the load method in that instance of the persistent class. In that case the 
            persistent class will throw an exception if someone tries to call the load function.
            </summary>
        </member>
        <member name="F:OPF.PersistentFlags.NotLoadable">
            <summary>If this flags is set load is not supported by the persistent.</summary>
        </member>
        <member name="F:OPF.PersistentFlags.NotSaveable">
            <summary>If this flags is set save is not supported by the persistent.</summary>
        </member>
        <member name="F:OPF.PersistentFlags.NotDeletable">
            <summary>If this flags is set delete is not supported by the persistent.</summary>
        </member>
        <member name="F:OPF.PersistentFlags.AllowAll">
            <summary>If this flags is set all operations are supported by the persistent.</summary>
        </member>
        <member name="T:OPF.RelationDirection">
            <summary>
            Contains the direction of the relation between the nested object and its owner.
            </summary>
        </member>
        <member name="F:OPF.RelationDirection.FromNested">
            <summary>Direction from nested to the owner. Means that the nested object holds a foreign key to the owner object</summary>
        </member>
        <member name="F:OPF.RelationDirection.ToNested">
            <summary>Direction to the nested. Means the owner object holds a foreign key to the nested object</summary>
        </member>
        <member name="T:OPF.Persistent">
            <summary>
            Base class for persistent objects. A persistent normally holds one tupel of the storage (e.g. one database table).
            However by overriding specific methods a persistent class can map to any storage object
            </summary>
        </member>
        <member name="M:OPF.Persistent.#ctor">
            <summary>
            Base Constructor.
            </summary>
        </member>
        <member name="M:OPF.Persistent.#ctor(OPF.PersistentFlags)">
            <summary>
            Constructor. Calls the base constructor and sets the persistent flags.
            </summary>
            <param name="PersistentFlags">Set a PersistentFlags such as Load, Write etc to change the 
            	behaviour of this class.</param>
        </member>
        <member name="M:OPF.Persistent.#ctor(OPF.PersistentFlags,System.String)">
            <summary>
            Constructor. Calls the base constructor and generates a definition for the 
            dynamic properties. More dynamic properties can be added or removeed anytime
            Also sets the persistent flags.
            </summary>
            <param name="PersistentFlags">Set a PersistentFlags such as Load, Write etc to change the 
            behaviour of this class.</param>
            <param name="XmlDefinition">String that describes the dynamic properties and types.</param>
        </member>
        <member name="M:OPF.Persistent.#ctor(System.String)">
            <summary>
            Constructor. Calls the base constructor and generates a definition for the 
            dynamic properties. Dynamic properties can be added or removed anytime
            </summary>
            <param name="XmlDefinition">String that describes the dynamic properties and types.</param>
        </member>
        <member name="M:OPF.Persistent.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Constructor required for deserialization.
            </summary>
            <param name="SerialInfo">Contains the data to serialize and deserialize the object.</param>
            <param name="StreamContext">Contains the information about the source or target of the 
            serialization process.</param>
        </member>
        <member name="M:OPF.Persistent.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Serializes the current object.
            </summary>
            <param name="SerialInfo">Contains the data to serialize and deserialize the object.</param>
            <param name="StreamContext">Contains the information about the source or target of the 
            serialization process.</param>
        </member>
        <member name="M:OPF.Persistent.CheckSupportedAction(OPF.PersistentFlags)">
            <summary>
            Throws an exception if the functionality to check has been disabled by a flag set in the constructor.
            </summary>
            <param name="PersistentFlags">The PersistentFlags enumeration to check.</param>
        </member>
        <member name="M:OPF.Persistent.Load(OPF.ID)">
            <summary>
            Loads an object, with a certain ID from the storage.
            </summary>
            <param name="OPFObjectID">ID of the object that should be loaded.</param>
        </member>
        <member name="M:OPF.Persistent.Load">
            <summary>
            Load or reloads an object where the ID is already set.
            </summary>
        </member>
        <member name="M:OPF.Persistent.ReLoad">
            <summary>
            Reloads the current object.
            </summary>
        </member>
        <member name="M:OPF.Persistent.SaveWithNewID">
            <summary>
            Saves the object assigning a new ID. Internally sets a local variable (to inform Save() 
            that it was called by this method) to true and calls Save().
            </summary>
        </member>
        <member name="M:OPF.Persistent.SaveWithNewID(OPF.ID)">
            <summary>
            Saves the object with the given ID.
            </summary>
            <param name="OPFObjectID">ID of the object to be assigned. If OPFObjectIT is the ID.NullIDValuea new ID
            will be generated automatically.</param>
        </member>
        <member name="M:OPF.Persistent.Save">
            <summary>
            Save the persistent object to the storage. If the objects ID is set then the object is updated in the
            storage, else a new ID is generated and a new object is saved the object to the storage.
            </summary>
        </member>
        <member name="M:OPF.Persistent.Delete">
            <summary>
            Deletes the object from storage.
            </summary>
        </member>
        <member name="M:OPF.Persistent.IsChanged">
            <summary>
            Checks if the object is changed since the last save or load.
            </summary>
        </member>
        <member name="M:OPF.Persistent.IsChanged(System.Int64@)">
            <summary>
            Checks if the object is changed since the last save or load.
            </summary>
            <param name="CalculatedCRC">Holds the new CRC for the object, that has been created while
            	checking if the object has changed.</param>
        </member>
        <member name="M:OPF.Persistent.EqualsByID(OPF.BaseObject)">
            <summary>
            Compares the current object with another object by comparing only the ID's (very fast).
            </summary>
            <param name="OtherPersistentObject">Other object to compare with.</param>
        </member>
        <member name="M:OPF.Persistent.Equals(System.Object)">
            <summary>
            Compares the current object with another object property by property. Use the custom attribute
            [DoNotCompare] to exclude a property from the comparison.
            </summary>
            <param name="OtherPersistent">Other object to compare with.</param>
            <returns>Gives back true, if the two objects have the same type, same fields and all fields 
            	     have the same content.</returns>
        </member>
        <member name="M:OPF.Persistent.IsSameInStorage(OPF.Persistent)">
            <summary>
            Checks if two objects are totally identically. If one of the objects has an ID which
            is a nullstring then this function will return false. 
            </summary>
            <param name="OtherPersistentObject">Other object.</param>
        </member>
        <member name="M:OPF.Persistent.GetHashCode">
            <summary>
            Returns the hashcode. Has to be overwritten for assign.
            </summary>
        </member>
        <member name="M:OPF.Persistent.Assign(OPF.BaseObject)">
            <summary>
            Assigns all fields of the current persistent object to another persistent object.
            </summary>
            <param name="OtherObject">Other object to be assigned to this object.</param>
        </member>
        <member name="M:OPF.Persistent.DeepAssign(OPF.Persistent)">
            <summary>
            Assigns all fields of the current persistent object to another persistent object. Also assigns
            the nested objects and collecions of the first nesting level. Does not assign beyond the first nesting level.
            </summary>
            <param name="OtherPersistent">Other persistent object</param>
        </member>
        <member name="M:OPF.Persistent.RegisterNestedPersistent(System.String,OPF.Persistent,System.String,OPF.RelationDirection)">
            <summary>
            Registers a persistent as nested persistent.
            </summary>
            <param name="Name">Identifier of the nested persistent. Must be unique.</param>
            <param name="Persistent">Persistent to add.</param>
            <param name="ForeignKeyProperty">The property that holds the foreign key. Means that that property
            	must be the same as the ID of this persistent object.</param>
            <param name="RelationDirection">Direction of the relation between the object and the nested object.</param>
        </member>
        <member name="M:OPF.Persistent.RegisterNestedPersistent(System.String,OPF.Persistent,OPF.RelationDirection)">
            <summary>
            Registers a persistent as nested persistent.
            </summary>
            <param name="Name">Identifier of the nested persistent. Must be unique.</param>
            <param name="Persistent">Persistent to add.</param>
            <param name="RelationDirection">Direction of the relation between the object and the nested object.</param>
        </member>
        <member name="M:OPF.Persistent.RegisterNestedCollection(System.String,OPF.Collections.Collection,System.String)">
            <summary>
            Registers a collection as nested collection.
            </summary>
            <param name="Name">Identifier of the nested collection. Must be unique.</param>
            <param name="Collection">Collection to add.</param>
            <param name="ForeignKeyProperty">The property that holds the foreing key. Means that that property
            	must be the same as the ID of the persistent object.</param>
        </member>
        <member name="M:OPF.Persistent.RegisterNestedCollection(System.String,OPF.Collections.Collection)">
            <summary>
            Registers a collection as nested collection.
            </summary>
            <param name="Name">Identifier of the nested collection. Must be unique.</param>
            <param name="Collection">Collection to add.</param>
        </member>
        <member name="M:OPF.Persistent.UnRegisterNestedPersistent(System.String)">
            <summary>
            Removes a persistent as nested persistent.
            </summary>
            <param name="Name">Name of the nested persistent.</param>
        </member>
        <member name="M:OPF.Persistent.UnRegisterNestedCollection(System.String)">
            <summary>
            Removes a collection as nested collection.
            </summary>
            <param name="Name">Name of the nested collection.</param>
        </member>
        <member name="M:OPF.Persistent.GetNestedPersistent(System.String)">
            <summary>
            Returns the nested persistent matching the name.
            </summary>
            <param name="Name">Identifier of the nested persistent. Must be unique.</param>
        </member>
        <member name="M:OPF.Persistent.GetNestedCollection(System.String)">
            <summary>
            Returns the nested collection matching the name.
            </summary>
            <param name="Name">Identifier of the nested collection. Must be unique.</param>
        </member>
        <member name="M:OPF.Persistent.IsLoaded">
            <summary>
            Returns if the object is loaded or not.
            </summary>
        </member>
        <member name="M:OPF.Persistent.AddDynamicPropertiesAndTypes(System.String)">
            <summary>
            Adds one or more definitions for dynamic properties.
            </summary>
            <param name="XmlDefinition">String (Xml) that contains the definitions.</param>
        </member>
        <member name="M:OPF.Persistent.AddDynamicProperty(System.String,OPF.SupportedTypes)">
            <summary>
            Adds a new dynamic property to the properties of the persistent.
            </summary>
            <param name="PropertyName">Name of the property.</param>
            <param name="PropertyType">Type of the property.</param>
        </member>
        <member name="M:OPF.Persistent.AddDynamicProperty(System.String,OPF.SupportedTypes,System.Boolean)">
            <summary>
            Adds a new dynamic property to the properties of the persistent.
            </summary>
            <param name="PropertyName">Name of the property.</param>
            <param name="PropertyType">Type of the property.</param>
            <param name="Mandatory">If true the property is check while check constraints.</param>
        </member>
        <member name="M:OPF.Persistent.AddDynamicProperty(System.String,System.Object,OPF.SupportedTypes)">
            <summary>
            Adds a new dynamic property to the properties of the persistent.
            </summary>
            <param name="PropertyName">Name of the property.</param>
            <param name="Value">Value of the property.</param>
            <param name="PropertyType">Type of the property.</param>
        </member>
        <member name="M:OPF.Persistent.AddDynamicProperty(System.String,System.Object,OPF.SupportedTypes,System.Boolean)">
            <summary>
            Adds a new dynamic property to the properties of the persistent.
            </summary>
            <param name="PropertyName">Name of the property.</param>
            <param name="Value">Value of the property.</param>
            <param name="PropertyType">Type of the property.</param>
            <param name="Mandatory">If true, the property is checked during check constraints.</param>
        </member>
        <member name="M:OPF.Persistent.AddDynamicProperty(System.String,OPF.DynamicType)">
            <summary>
            Adds a new dynamic property to the properties of the persistent.
            </summary>
            <param name="PropertyName">Name of the property.</param>
            <param name="PropertyType">Type of the property.</param>
        </member>
        <member name="M:OPF.Persistent.AddDynamicProperty(System.String,OPF.DynamicType,System.Boolean)">
            <summary>
            Adds a new dynamic property to the properties of the persistent.
            </summary>
            <param name="PropertyName">Name of the property.</param>
            <param name="PropertyType">Type of the property.</param>
            <param name="Mandatory">If true, the property is checked during check constraints.</param>
        </member>
        <member name="M:OPF.Persistent.AddDynamicProperty(System.String,System.Object,OPF.DynamicType)">
            <summary>
            Adds a new dynamic property to the properties of the persistent.
            </summary>
            <param name="PropertyName">Name of the property.</param>
            <param name="Value">Value of the property.</param>
            <param name="PropertyType">Type of the property.</param>
        </member>
        <member name="M:OPF.Persistent.AddDynamicProperty(System.String,System.Object,OPF.DynamicType,System.Boolean)">
            <summary>
            Adds a new dynamic property to the properties of the persistent.
            </summary>
            <param name="PropertyName">Name of the property.</param>
            <param name="Value">Value of the property.</param>
            <param name="PropertyType">Type of the property.</param>
            <param name="Mandatory">If true the property is checked during check constraints.</param>
        </member>
        <member name="M:OPF.Persistent.AddDynamicProperty(OPF.DynamicProperty)">
            <summary>
            Adds a new dynamic property to the properties of the persistent.
            </summary>
            <param name="DynamicProperty">The dynamic property to add.</param>
        </member>
        <member name="M:OPF.Persistent.RemoveDynamicProperty(System.String)">
            <summary>
            Removes a dynamic property from the persistent.
            </summary>
            <param name="PropertyName">Name of the property to remove.</param>
        </member>
        <member name="M:OPF.Persistent.RemoveDynamicType(System.String)">
            <summary>
            Removes a dynamic type from the persistent.
            </summary>
            <param name="TypeName">Name of the dynamic type to remove.</param>
        </member>
        <member name="M:OPF.Persistent.GetDynamicProperty(System.String)">
            <summary>
            Returns the requested dynamic property.
            </summary>
            <param name="PropertyName">Name of the property.</param>
        </member>
        <member name="M:OPF.Persistent.GetDynamicProperties">
            <summary>
            Returns all dynamic properties.
            </summary>
        </member>
        <member name="M:OPF.Persistent.ClearDynamicProperties">
            <summary>
            Clears the dynamic properties without parsing them (if they haven't been parsed yet).
            </summary>
        </member>
        <member name="M:OPF.Persistent.MarkChanged">
            <summary>
            Marks the object as changed. If an objects is set to changed, the object is always saved, when
            trying to save it the next time.
            </summary>
        </member>
        <member name="M:OPF.Persistent.CheckConstraints">
            <summary>
            Checks if all mandatory fields have been compiled. Dynamic properties are also checked.
            Uses the checkconstraints class to perform the check.
            </summary>
        </member>
        <member name="M:OPF.Persistent.CheckConstraintsForDynamicProps">
            <summary>
            Checks if all mandatory dynamic properties have been compiled. Uses the checkconstraints class to check.
            </summary>
        </member>
        <member name="M:OPF.Persistent.GetDynamicTypes">
            <summary>
            Returns all dynamic types.
            </summary>
        </member>
        <member name="M:OPF.Persistent.AddDynamicType(OPF.DynamicType)">
            <summary>
            Adds a dynamic type to the persistent.
            </summary>
            <param name="DynamicType">The Dynamic Type to add to the persistent.</param>
        </member>
        <member name="M:OPF.Persistent.AddDynamicType(System.String)">
            <summary>
            Adds a dynamic type to the persistent.
            </summary>
            <param name="TypeName">Name of the new type.</param>
        </member>
        <member name="M:OPF.Persistent.AddDynamicType(System.String,System.String[],System.String[])">
            <summary>
            Adds a dynamic type to the persistent.
            </summary>
            <param name="TypeName">Name of the new type.</param>
            <param name="Keys">Array of keys. Must match with array length of values.</param>
            <param name="Values">Array of values. Must match with the array length of keys.</param>
        </member>
        <member name="M:OPF.Persistent.AddDynamicType(System.String,System.String,System.String)">
            <summary>
            Adds a dynamic type to the persistent.
            </summary>
            <param name="TypeName">Name of the type.</param>
            <param name="Keys">Keys string seperated by | - example: Key1|Key2|Key3</param>
            <param name="Values">Values string seperated by | - example: Value1|Value2|Value3</param>
        </member>
        <member name="M:OPF.Persistent.GetDynamicType(System.String)">
            <summary>
            Returns the requested dynamic type.
            </summary>
            <param name="TypeName">Name of the type.</param>
        </member>
        <member name="M:OPF.Persistent.CalculateCrc">
            <summary>
            Returns the CRC32 for this persistent. Does not set the calculated CRC!
            </summary>
        </member>
        <member name="M:OPF.Persistent.Clone">
            <summary>
            Clones the actual object and returns the cloned one.
            </summary>
        </member>
        <member name="M:OPF.Persistent.DeepClone">
            <summary>
            Clones the actual object and returns the cloned one. Nested objects and collection of the
            first nesting level are cloned as well.
            </summary>
            <returns></returns>
        </member>
        <member name="P:OPF.Persistent.NestedPersistents">
            <summary>
            Lists all nested objects, that belong to this persistent class.
            </summary>
        </member>
        <member name="P:OPF.Persistent.NestedCollections">
            <summary>
            Lists all nested collections, that belong to this persistent class.
            </summary>
        </member>
        <member name="P:OPF.Persistent.PersistentFlags">
            <summary>
            Sets and returns the flags, that manage if a class can be saved, loaded etc.
            </summary>
        </member>
        <member name="P:OPF.Persistent.BehaviourOnDynamicPropertyNotFound">
            <summary>
            Sets and returns the behaviour of the dynamic property, when not found.
            </summary>
        </member>
        <member name="P:OPF.Persistent.ForceSave">
            <summary>
            Sets and returns the behaviour for the concurrency test while saving. If true
            the concurrency test is skipped.
            </summary>
        </member>
        <member name="P:OPF.Persistent.DynamicPropertiesManager">
            <summary>
            Returns and sets the dynamic properties manager.
            </summary>
        </member>
        <member name="T:OPF.DynamicProperty">
            <summary>
            Class that holds a dynamic property.
            </summary>
        </member>
        <member name="M:OPF.DynamicProperty.#ctor(System.String,OPF.DynamicType)">
            <summary>
            Constructor. Creates a new dynamic property.
            </summary>
            <param name="PropertyName">The name of the property</param>
            <param name="PropertyType">The type of the property.</param>
        </member>
        <member name="M:OPF.DynamicProperty.#ctor(System.String,OPF.SupportedTypes)">
            <summary>
            Constructor. Creates a new dynamic property.
            </summary>
            <param name="PropertyName">The name of the property</param>
            <param name="PropertyType">The type of the property.</param>
        </member>
        <member name="M:OPF.DynamicProperty.SetDynamicPropertyType(System.Object)">
            <summary>
            Sets the dynamic type of the dynamic property.
            </summary>
            <param name="Type">Type to set.</param>
        </member>
        <member name="M:OPF.DynamicProperty.SetInitialValue">
            <summary>
            Sets the initial value for the defined type.
            </summary>
        </member>
        <member name="M:OPF.DynamicProperty.GetDynamicTypeValue">
            <summary>
            Returns the value of the property if the dynamic property is associated to a dynamic type.
            </summary>
        </member>
        <member name="M:OPF.DynamicProperty.PropertyValueAsString">
            <summary>
            Converts the property value to a string.
            </summary>
        </member>
        <member name="M:OPF.DynamicProperty.PropertyValueAsInt32">
            <summary>
            Converts the property to a Integer.
            </summary>
        </member>
        <member name="M:OPF.DynamicProperty.PropertyValueAsBoolean">
            <summary>
            Converts the property to a Boolean.
            </summary>
        </member>
        <member name="M:OPF.DynamicProperty.PropertyValueAsDateTime">
            <summary>
            Converts the property to a DateTime.
            </summary>
        </member>
        <member name="M:OPF.DynamicProperty.PropertyValueAsFloat">
            <summary>
            Converts the property to a float.
            </summary>
        </member>
        <member name="M:OPF.DynamicProperty.Assign(OPF.DynamicProperty)">
            <summary>
            Assign a dynamic property to another.
            </summary>
            <param name="OtherDynProperty">Other dynamic property to assign.</param>
        </member>
        <member name="M:OPF.DynamicProperty.Equals(OPF.DynamicProperty)">
            <summary>
            Compares two dynamic properties.
            </summary>
            <param name="OtherDynProperty">Property to compare with.</param>
        </member>
        <member name="M:OPF.DynamicProperty.TypeIsDynamicType">
            <summary>
            Returns true if the type of the dynamic property is a dynamic type.
            </summary>
        </member>
        <member name="M:OPF.DynamicProperty.Clone">
            <summary>
            Clones the actual object and returns the cloned one.
            </summary>
        </member>
        <member name="P:OPF.DynamicProperty.PropertyName">
            <summary>
            Returns ans sets the name of the property.
            </summary>
        </member>
        <member name="P:OPF.DynamicProperty.Mandatory">
            <summary>
            Returns and sets the Mandatory attribute for a dynamic property. If true, the property
            is checked for beeing set during checkconstraints.
            </summary>
        </member>
        <member name="P:OPF.DynamicProperty.PropertyValue">
            <summary>
            Returns and sets the value of the property. If the property is associated to a dynamic type,
            the property value must be the key of the dynamic type. Other values will not be accepted.
            To get the value of the property, in that case, you can use the GetDynamicTypeValue() function.
            </summary>
        </member>
        <member name="P:OPF.DynamicProperty.PropertyType">
            <summary>
            Returns and sets the type of the property.  
            If the type is set the value of the dynamic property is set to zero.
            It is only possible to set a dynamic type or a supported type.
            </summary>
        </member>
        <member name="T:OPF.DynamicType">
            <summary>
            This class holds the information for a dynamic property type.
            </summary>
        </member>
        <member name="M:OPF.DynamicType.#ctor(System.String)">
            <summary>
            Constructor. Creates a new type with a certain name.
            </summary>
            <param name="TypeName">Name of the new type.</param>
        </member>
        <member name="M:OPF.DynamicType.AddTypeValue(System.String,System.String)">
            <summary>
            Adds a new type value to the dynamic property type.
            </summary>
            <param name="Key">Key of the type value to add.</param>
            <param name="Value">Value of the type value.</param>
        </member>
        <member name="M:OPF.DynamicType.RemoveTypeValue(System.String)">
            <summary>
            Removes a type value from a dynamic property type.
            </summary>
            <param name="Key">Key of the type value to remove.</param>
        </member>
        <member name="M:OPF.DynamicType.Equals(OPF.DynamicType)">
            <summary>
            Compares two instances of the dynamic types to check if they have the same values or not.
            </summary>
            <param name="OtherType">Other type to compare with the current instance.</param>
        </member>
        <member name="M:OPF.DynamicType.Assign(OPF.DynamicType)">
            <summary>
            Assigns all values of another instance of a dynamic type this ones values.
            </summary>
            <param name="OtherType">The other type to assign with this one.</param>
        </member>
        <member name="M:OPF.DynamicType.GetEnumerator">
            <summary>
            Returns the enumerator that contains all values of the type.
            </summary>
        </member>
        <member name="M:OPF.DynamicType.GetTypeValue(System.String)">
            <summary>
            Returns the value of a certain key.
            </summary>
            <param name="Key">Key of the value to return.</param>
        </member>
        <member name="M:OPF.DynamicType.GetTypeKey(System.String)">
            <summary>
            Returns the key of a certain value.
            </summary>
            <param name="Value">Value whose key to return.</param>
        </member>
        <member name="M:OPF.DynamicType.Clone">
            <summary>
            Clones the actual object and returns the cloned one.
            </summary>
        </member>
        <member name="P:OPF.DynamicType.TypeName">
            <summary>
            Returns the name of the type.
            </summary>
        </member>
        <member name="T:OPF.DynamicPropertiesBehaviour">
            <summary>
            Specifies the behaviour if a dynamic property hasn't been found
            </summary>
        </member>
        <member name="F:OPF.DynamicPropertiesBehaviour.EmptyString">
            <summary>An empty string is returned when the property isn't found.</summary>
        </member>
        <member name="F:OPF.DynamicPropertiesBehaviour.ThrowException">
            <summary>An exception is thrown when the property isn't found.</summary>
        </member>
        <member name="T:OPF.DynamicPropertiesManager">
            <summary>
            Manager that works with dynamic properties and types definitions. 
            Writes and reads the dynamic properties definition as Xml to and from a string
            </summary>
        </member>
        <member name="M:OPF.DynamicPropertiesManager.SetXml(System.String)">
            <summary>
            Sets the Xml that is parsed when requesting the first dynamic property or dynamic type
            (Lazy loading). Use ParseXml instead to parse the properties immediately.	
            </summary>
            <param name="Xml">Xml string that contains the dynamic properties definition.</param>
        </member>
        <member name="M:OPF.DynamicPropertiesManager.ParseXml(System.String)">
            <summary>
            Reads the Xml that contains all informations of dynamic properties and types
            and converts (parses) them to dynamic properties and types. Existing dynamic properties
            and types will be cleared.
            </summary>
            <param name="Xml">Xml string that contains the dynamic properties and types definition.</param>
        </member>
        <member name="M:OPF.DynamicPropertiesManager.Clear">
            <summary>
            Clears all dynamic properties and types.
            </summary>
        </member>
        <member name="M:OPF.DynamicPropertiesManager.ParseXml(System.String,System.Boolean)">
            <summary>
            Reads the Xml that contains all informations of dynamic properties and types
            and converts (parses) them to dynamic properties and types.
            </summary>
            <param name="Xml">Xml string that contains the dynamic properties and types.</param>
            <param name="ClearExisting">If true existing dynamic properties and types will be cleared.</param>
        </member>
        <member name="M:OPF.DynamicPropertiesManager.ParseDynamicTypesXml(System.Xml.XmlNode)">
            <summary>
            Parses the dynamic types xml and generates dynamic types.
            </summary>
            <param name="Node">Node that contains the dynamic types.</param>
        </member>
        <member name="M:OPF.DynamicPropertiesManager.ParseDynamicPropertiesXml(System.Xml.XmlNode)">
            <summary>
            Parses the dynamic properties xml and generates dynamic types.
            </summary>
            <param name="Node">Node that contains the dynamic properties.</param>
        </member>
        <member name="M:OPF.DynamicPropertiesManager.GenerateXml">
            <summary>
            Generates the Xml definition for the dynamic properties and types managed by this class.
            </summary>
        </member>
        <member name="M:OPF.DynamicPropertiesManager.ToDynamicPropertiesDateFormat(System.DateTime)">
            <summary>
            Converts the datetime given to a standardized format used by the OPF.Net.
            </summary>
            <param name="DateValue">Value to convert.</param>
        </member>
        <member name="M:OPF.DynamicPropertiesManager.FromDynamicPropertiesDateFormat(System.String)">
            <summary>
            Converts the standardized datetime in the storage to a datetime object.
            </summary>
            <param name="DateValue">String that contains the datetime in the storage. Must
            be american standard style.</param>
        </member>
        <member name="M:OPF.DynamicPropertiesManager.AddDynamicProperty(OPF.DynamicProperty)">
            <summary>
            Adds a dynamic property to the class.
            </summary>
            <param name="DynamicProperty">Dynamic property to add.</param>
        </member>
        <member name="M:OPF.DynamicPropertiesManager.AddDynamicProperty(System.String,OPF.SupportedTypes,System.Object)">
            <summary>
            Adds a dynamic property to the class.
            </summary>
            <param name="PropertyName">Name of the property.</param>
            <param name="PropertyType">Type of the property.</param>
            <param name="PropertyValue">Value of the property.</param>
        </member>
        <member name="M:OPF.DynamicPropertiesManager.AddDynamicProperty(System.String,OPF.DynamicType,System.Object)">
            <summary>
            Adds a dynamic property to the class.
            </summary>
            <param name="PropertyName">Name of the property.</param>
            <param name="PropertyType">Type of the property.</param>
            <param name="PropertyValue">Value of the property.</param>
        </member>
        <member name="M:OPF.DynamicPropertiesManager.AddDynamicType(OPF.DynamicType)">
            <summary>
            Adds a dynamic type to the class.
            </summary>
            <param name="DynamicType">Dynamic type to add.</param>
        </member>
        <member name="M:OPF.DynamicPropertiesManager.AddDynamicType(System.String)">
            <summary>
            Adds a dynamic type to the class.
            </summary>
            <param name="TypeName">Name of the dynamic type to add.</param>
        </member>
        <member name="M:OPF.DynamicPropertiesManager.RemoveDynamicProperty(System.String)">
            <summary>
            Removes a dynamic property.
            </summary>
            <param name="PropertyName">Name of the dynamic property.</param>
        </member>
        <member name="M:OPF.DynamicPropertiesManager.RemoveDynamicType(System.String)">
            <summary>
            Removes a dynamic type.
            </summary>
            <param name="TypeName">Name of the dynamic type to remove.</param>
        </member>
        <member name="M:OPF.DynamicPropertiesManager.TypeConnectedWithProperty(System.String)">
            <summary>
            Checks if a dynamic type is associated to a dynamic property.
            </summary>
            <param name="TypeName">Name of the type to check.</param>
        </member>
        <member name="M:OPF.DynamicPropertiesManager.RemoveDynamicType(OPF.DynamicType)">
            <summary>
            Removes a dynamic type.
            </summary>
            <param name="DynamicType">The dynamic type to remove.</param>
        </member>
        <member name="M:OPF.DynamicPropertiesManager.Equals(OPF.DynamicPropertiesManager)">
            <summary>
            Compares two instances of the DynamicPropertiesManager.
            </summary>
            <param name="DynMan">The other instance to compare with this instance.</param>
        </member>
        <member name="M:OPF.DynamicPropertiesManager.Assign(OPF.DynamicPropertiesManager)">
            <summary>
            Assigns all values of another instance of the DynamicPropertiesManager to this ones values.
            </summary>
            <param name="DynMan">The other DynamicPropertiesManager to assign to this one.</param>
        </member>
        <member name="M:OPF.DynamicPropertiesManager.LazyLoad">
            <summary>
            Parses the Xml if not yet parsed. Lazy loading of dynamic properties and types. Parsing will occur on first
            request of a dynamic property or type.
            </summary>
        </member>
        <member name="M:OPF.DynamicPropertiesManager.Contains(OPF.DynamicProperty)">
            <summary>
            Checks and returns if the manager contains the dynamic property.
            </summary>
            <param name="DynamicProperty">Property to add.</param>
        </member>
        <member name="M:OPF.DynamicPropertiesManager.Contains(OPF.DynamicType)">
            <summary>
            Checks and returns if the manager contains the dynamic type.
            </summary>
            <param name="DynamicType">DynamicType to add.</param>
        </member>
        <member name="M:OPF.DynamicPropertiesManager.GetDynamicProperty(System.String)">
            <summary>
            Returns a dynamic property.
            </summary>
            <param name="PropertyName">Name of the requested dynamic property.</param>
        </member>
        <member name="M:OPF.DynamicPropertiesManager.GetDynamicProperty(System.Int32)">
            <summary>
            Returns the dynamic property at the index given.
            </summary>
            <param name="Index">Index of the dynamic property to return.</param>
        </member>
        <member name="M:OPF.DynamicPropertiesManager.GetDynamicType(System.String)">
            <summary>
            Returns a dynamic type.
            </summary>
            <param name="TypeName">Name of the requested dynamic type.</param>
        </member>
        <member name="M:OPF.DynamicPropertiesManager.GetDynamicType(System.Int32)">
            <summary>
            Returns the dynamic type at the index given.
            </summary>
            <param name="Index">Index of the dynamic type to return.</param>
        </member>
        <member name="M:OPF.DynamicPropertiesManager.GetDynamicProperties">
            <summary>
            Returns all dynamic properties.
            </summary>
        </member>
        <member name="M:OPF.DynamicPropertiesManager.GetDynamicTypes">
            <summary>
            Returns all dynamic types.
            </summary>
        </member>
        <member name="M:OPF.DynamicPropertiesManager.Rollback">
            <summary>
            Rollback the dynamic types and properties.
            </summary>
        </member>
        <member name="M:OPF.DynamicPropertiesManager.Clone">
            <summary>
            Clones the actual object and returns the cloned one.
            </summary>
        </member>
        <member name="P:OPF.DynamicPropertiesManager.BehaviourOnDynamicPropertyNotFound">
            <summary>
            Behaviour on dynamic property not found.
            </summary>
        </member>
        <member name="P:OPF.DynamicPropertiesManager.DynamicPropertiesCount">
            <summary>
            Returns the amount of dynamic properties managed by this class.
            </summary>
        </member>
        <member name="P:OPF.DynamicPropertiesManager.DynamicTypesCount">
            <summary>
            Returns the amount of dynamic types managed by this class.
            </summary>
        </member>
        <member name="T:OPF.NestedObject">
            <summary>
            NestedObject - Information for a nested object.
            </summary>
        </member>
        <member name="M:OPF.NestedObject.Equals(OPF.NestedObject)">
            <summary>
            Returns true if the two nested objects are the same.
            </summary>
            <param name="OtherNestedObject">The nested object to compare with.</param>
        </member>
        <member name="P:OPF.NestedObject.Object">
            <summary>
            The nested object itself.
            </summary>
        </member>
        <member name="P:OPF.NestedObject.ForeignKeyProperty">
            <summary>
            Returns and sets the property, that is the connection between this object
            and his owner. 
            Example: this._Object.ForeignKey == "owner".ID => set this as ForeignKeyProperty = "ForeignKey".
            </summary>
        </member>
        <member name="P:OPF.NestedObject.RelationDirection">
            <summary>
            Sets and returns the direction of the relation between object and nested object.
            </summary>
        </member>
        <member name="T:OPF.Constraints">
            <summary>
            Can be connected with a OPF.BaseObject. Contains the constraint information for 
            the object.
            </summary>
        </member>
        <member name="M:OPF.Constraints.#ctor">
            <summary>
            Constructor. Sets the standard constraints.
            </summary>
        </member>
        <member name="M:OPF.Constraints.SetTypeConstraint(OPF.SupportedTypes,System.Object)">
            <summary>
            Changes a constraint for a certain type (one of the SupportedTypes).
            </summary>
            <param name="Type">Type for which the constraint should be changed.</param>
            <param name="Value">Value that that type can't have.</param>
        </member>
        <member name="M:OPF.Constraints.SetCustomConstraint(System.String,System.Object)">
            <summary>
            Sets a custom constraint for a certain property.
            </summary>
            <param name="PropertyName">Name of the property for which to set the constraint.</param>
            <param name="Value">Value that that property can't have.</param>
        </member>
        <member name="M:OPF.Constraints.RemoveConstraint(System.String)">
            <summary>
            Removes a constraint from the constraint class.
            </summary>
            <param name="ConstraintKey">Key of the constraint. Can be a propertyname or a 
            	type covered by the constraint.</param>
        </member>
        <member name="M:OPF.Constraints.Assign(OPF.Constraints)">
            <summary>
            Assigns another constraints to this constraints.
            </summary>
            <param name="OtherConstraints">OtherConstraints</param>
        </member>
        <member name="M:OPF.Constraints.Clone">
            <summary>
            Clones the actual object and returns the cloned one.
            </summary>
        </member>
        <member name="P:OPF.Constraints.GetConstraints">
            <summary>
            Returns the hashtable with all constraints.
            </summary>
        </member>
        <member name="T:OPF.ISessionRetriever">
            <summary>
            Used only for multi-session applications.
            In a multi-session application (e.g. Asp.Net application) SessionRetriever has to
            be inherited and the GetSession method defined so that it returns the current 
            session ID. 
            A new ObjectBroker has to be instantiated and assigned to OPF.Main for every session.
            OPF.Main will store all ObjectsBrokers tagged with their SessionID and automatically
            return the correct ObjectBroker for each session. ...I hate writing these blown up
            comments but I felt it was necessary
            </summary>
        </member>
        <member name="M:OPF.ISessionRetriever.GetSessionID">
            <summary>
            Function, that retrieves the session ID.
            </summary>
        </member>
        <member name="T:OPF.ParameterCollection">
            <summary>
            The ParameterCollection - for the Database Parameter.
            </summary>
        </member>
        <member name="M:OPF.ParameterCollection.#ctor">
            <summary>
            Constructor.
            </summary>
        </member>
        <member name="M:OPF.ParameterCollection.#ctor(System.String,System.Object)">
            <summary>
            Constructor. Creates a new parametercollection and adds a new Parameter to the collection.
            </summary>
            <param name="ParameterName">Name of the Parameter.</param>
            <param name="Value">Value of the parameter.</param>
        </member>
        <member name="M:OPF.ParameterCollection.Add(System.String,System.Object)">
            <summary>
            Add a new Parameter to the collection
            </summary>
            <param name="ParameterName">Name of the Parameter.</param>
            <param name="Value">Value of the parameter.</param>
        </member>
        <member name="M:OPF.ParameterCollection.Remove(System.String)">
            <summary>
            Removes a Parameter from the collection.
            </summary>
            <param name="ParameterName">Parameter name to remove.</param>
        </member>
        <member name="M:OPF.ParameterCollection.GetEnumerator">
            <summary>
            Returns the Enumerator for the Parametercollection.
            The Key is the name of the parameter and the value is the OleDbParameter.
            </summary>
            <returns></returns>
        </member>
        <member name="M:OPF.ParameterCollection.ContainsParameter(System.String)">
            <summary>
            Returns true if the parameter is in the collection and false if not.
            </summary>
            <param name="ParameterName">Name of the parameter.</param>
        </member>
        <member name="M:OPF.ParameterCollection.Assign(OPF.ParameterCollection)">
            <summary>
            Assigns all fields of the current parametercollection to the other parametercollection.
            </summary>
            <param name="OtherParamCollection">Parametercollection to be assigned.</param>
        </member>
        <member name="M:OPF.ParameterCollection.Clear">
            <summary>
            Clears the parametercollection.
            </summary>
        </member>
        <member name="M:OPF.ParameterCollection.GetParameter(System.String)">
            <summary>
            Returns the value of the parameter with the given name
            </summary>
            <param name="ParameterName">Name of the parameter.</param>
        </member>
        <member name="M:OPF.ParameterCollection.Clone">
            <summary>
            Clones the actual object and returns the cloned one.
            </summary>
        </member>
        <member name="M:OPF.ParameterCollection.SetParameterValue(System.String,System.Object)">
            <summary>
            Allows to change the value of a parameter in the parameter collection.
            </summary>
            <param name="ParameterName">Name of the parameter.</param>
            <param name="Value">Value you want to replace.</param>
        </member>
        <member name="P:OPF.ParameterCollection.Count">
            <summary>
            Returns the length of the Collection.
            </summary>
        </member>
        <member name="T:OPF.Main">
            <summary>
            Static class with general information such as IDGenerator, Objectbroker ...
            Main is basically a way to avoid passing each Persistent on creation a reference to the ObjectBroker.
            The Persistent uses Main to access the ObjectBroker and some other commonly used classes.
            </summary>
        </member>
        <member name="M:OPF.Main.GetSessionID">
            <summary>
            Returns a standard session ID if no SessionRetriever class is set, else
            uses SessionRetriever to get the current session ID.
            </summary>
            <returns></returns>
        </member>
        <member name="P:OPF.Main.SessionRetriever">
            <summary>
            Returns and gets the SessionRetriever for the Main class.
            </summary>
        </member>
        <member name="P:OPF.Main.ObjectBroker">
            <summary>
            Returns and sets the Objectbroker.
            The _SessionRetriever property is used to determine the current session in
            multisession applications.
            GetSessionID is called to get and set the correct ObjectBroker.
            In a single session application GetSessionID
            will always return the same ID and only one ObjectBroker will be instantiated.
            </summary>
        </member>
        <member name="P:OPF.Main.IDGenerator">
            <summary>
            Returns and sets the IDGenerator.
            </summary>
        </member>
        <member name="P:OPF.Main.ObjectNullIDValue">
            <summary>
            Sets and gets the global NullIDValue for all object IDs.
            </summary>
        </member>
        <member name="P:OPF.Main.DynPropsAndTypesFieldName">
            <summary>
            Sets and gets the global column for dynamic properties and dynamic types. 
            Standard is no name. If no name is set, the OPF searches for the right column.
            </summary>
        </member>
        <member name="P:OPF.Main.MinDateValue">
            <summary>
            Sets and gets the global minimum value for a date.
            </summary>
        </member>
        <member name="P:OPF.Main.Constraints">
            <summary>
            Sets and gets the global constraints class. Each Object will take
            this class as default.
            </summary>
        </member>
        <member name="P:OPF.Main.IDFieldName">
            <summary>
            Sets and gets the name of the ID field in the storage.
            Standard is set to "ID".
            </summary>
        </member>
        <member name="P:OPF.Main.EncryptionKey">
            <summary>
            Returns and sets the encryption key for the encrypted OPF.net properties.
            </summary>
        </member>
        <member name="P:OPF.Main.SessionTimeOutMin">
            <summary>
            Returns and sets the session timeout in minutes.
            </summary>
        </member>
        <member name="P:OPF.Main.CompressionLevel">
            <summary>
            Sets and returns the compression level used.
            </summary>
        </member>
        <member name="P:OPF.Main.ParameterRecognitionString">
            <summary>
            Returns and sets the parameter recognition string. Parameters names
            of the commands start with this string. Normally it is set to :. eg. :Parameter1
            </summary>
        </member>
        <member name="T:OPF.DataManager.DMOperations">
            <summary>
            OPF command enumeration that is used to mark a command as load, save, insert or delete.
            </summary>
        </member>
        <member name="F:OPF.DataManager.DMOperations.Load">
            <summary>Loads a persistent.</summary>
        </member>
        <member name="F:OPF.DataManager.DMOperations.Save">
            <summary>Saves a persistent.</summary>
        </member>
        <member name="F:OPF.DataManager.DMOperations.Insert">
            <summary>Inserts a persistent.</summary>
        </member>
        <member name="F:OPF.DataManager.DMOperations.Delete">
            <summary>Deletes a persistent.</summary>
        </member>
        <member name="T:OPF.DataManager.PersistentDataManager">
            <summary>
            OPF's abstract base DataManager. 
            The DataManager defines an interface to save and retrieve persistents to and from storage.
            </summary>
        </member>
        <member name="M:OPF.DataManager.PersistentDataManager.#ctor(System.Type)">
            <summary>
            Basic constructor. Used internally by the Objectbroker.
            </summary>
            <param name="ConnectedObjectType">Type of the Object that is associated to the DataManager.</param>
        </member>
        <member name="M:OPF.DataManager.PersistentDataManager.Load(OPF.Persistent,OPF.Storages.Storage)">
            <summary>
            Loads a Persistent from the storage.
            </summary>
            <param name="Persistent">Persistent to load from the storage.</param>
            <param name="Storage">Storage where to load the persistent from.</param>
        </member>
        <member name="M:OPF.DataManager.PersistentDataManager.Save(OPF.Persistent,OPF.Storages.Storage)">
            <summary>
            Saves a Persistent to the storage.
            </summary>
            <param name="Persistent">Persistent to save to the storage.</param>
            <param name="Storage">Storage where to save the persistent to.</param>
        </member>
        <member name="M:OPF.DataManager.PersistentDataManager.Insert(OPF.Persistent,OPF.Storages.Storage)">
            <summary>
            Inserts a new Persistent into the storage.
            </summary>
            <param name="Persistent">Persistent to insert into the storage.</param>
            <param name="Storage">Storage where to insert the persistent.</param>
        </member>
        <member name="M:OPF.DataManager.PersistentDataManager.Delete(OPF.Persistent,OPF.Storages.Storage)">
            <summary>
            Deletes a Persistent from storage.
            </summary>
            <param name="Persistent">Persistent to delete from the storage.</param>
            <param name="Storage">Storage where to delete the persistent from.</param>
        </member>
        <member name="M:OPF.DataManager.PersistentDataManager.PopulateProperties(OPF.Persistent,System.Data.DataSet)">
            <summary>
            Populates the properties of a given object.
            </summary>
            <param name="Persistent">Persistent to populate.</param>
            <param name="DataSet">DataSet where to take the data from.</param>
        </member>
        <member name="M:OPF.DataManager.PersistentDataManager.PopulateDynamicProperties(OPF.Persistent,System.String,System.String)">
            <summary>
            Populates the properties of a given object.
            </summary>
            <param name="Persistent">Persistent to populate.</param>
            <param name="FieldName">The name of the possible dynamic property field.</param>
            <param name="FieldContent">The content of the possible dynamic properties field.</param>
        </member>
        <member name="M:OPF.DataManager.PersistentDataManager.PopulateParams(OPF.Persistent,OPF.ParameterCollection)">
            <summary>
            Populates a ParameterCollection getting all properties of an object (persistent).
            </summary>
            <param name="Persistent">The persistent to be used to populate the Parameter Collection.</param>
            <param name="ParamColl">The Parameter Collection to be filled.</param>
        </member>
        <member name="M:OPF.DataManager.PersistentDataManager.PopulateDynamicParams(OPF.Persistent,OPF.ParameterCollection)">
            <summary>
            Populates a ParameterCollection getting all dynamic properties of a persistent.
            </summary>
            <param name="Persistent">The persistent to be used to populate the Parameter Collection.</param>
            <param name="ParamCollection">The Parameter Collection to be filled.</param>
        </member>
        <member name="M:OPF.DataManager.PersistentDataManager.HandleStorageNULLs(System.Data.DataSet)">
            <summary>
            Handles null values for storages.
            </summary>
            <param name="DataSet">Dataset from which to eliminate the NULL values.</param>
        </member>
        <member name="M:OPF.DataManager.PersistentDataManager.SetCommand(OPF.DataManager.DMOperations,System.String)">
            <summary>
            Sets the commands for save, load, insert and delete.
            </summary>
            <param name="DMOperation">Operation for that you want set the command.</param>
            <param name="Command">Command string to set.</param>
        </member>
        <member name="M:OPF.DataManager.PersistentDataManager.SetCommands">
            <summary>
            Overwrite this function in your application and set the commands for insert, save, update and delete.
            </summary>
        </member>
        <member name="P:OPF.DataManager.PersistentDataManager.PersistentType">
            <summary>
            Returns the type of persistent that is associated to the datamanager.
            </summary>
        </member>
        <member name="P:OPF.DataManager.PersistentDataManager.DynPropsAndTypesFieldName">
            <summary>
            Name of the field (in the table or xml-file or something else), that contains 
            the dynamic properties and dynamic types.
            </summary>
        </member>
        <member name="P:OPF.DataManager.PersistentDataManager.IDFieldName">
            <summary>
            Sets and returns the name of the field that contains the ID in the storage.
            </summary>
        </member>
        <member name="P:OPF.DataManager.PersistentDataManager.NeededStorage">
            <summary>
            Returns the required storage for the current DataManager.
            </summary>
        </member>
        <member name="P:OPF.DataManager.PersistentDataManager.NeededPersistent">
            <summary>
            Returns the required persistent for the current DataManager.
            </summary>
        </member>
        <member name="P:OPF.DataManager.PersistentDataManager.ParseProperties">
            <summary>
            Defines if params and properties should be parsed while populating.
            </summary>
        </member>
        <member name="P:OPF.DataManager.PersistentDataManager.ParameterRecognitionString">
            <summary>
            Sets and returns the parameter recognition string which the OPF.Net uses to recognizes a parameter
            in a command.
            </summary>
        </member>
        <member name="T:OPF.DataManager.PersistentSqlDataManager">
            <summary>
            DataManager for all Persistent that work with Microsoft SQL 
            (should also work with ORACLE and other standard SQL supporting databases).
            </summary>
        </member>
        <member name="M:OPF.DataManager.PersistentSqlDataManager.#ctor(System.Type)">
            <summary>
            Constructor. Same as in the base class.
            </summary>
            <param name="ConnectedObjectType"></param>
        </member>
        <member name="M:OPF.DataManager.PersistentSqlDataManager.SetCommand(OPF.DataManager.DMOperations,System.String)">
            <summary>
            Sets the command for save, load, insert and delete.
            </summary>
            <param name="DMOperation">Operation for which to set the SQL statement.</param>
            <param name="SQL">SQL string of the operation to set.</param>
        </member>
        <member name="M:OPF.DataManager.PersistentSqlDataManager.SetPersistentIDParameter(System.String,System.String)">
            <summary>
            Sets the ID Parameter. Replaces ID (in the SQLStatement) with the ID value.
            </summary>
            <param name="SQL">The SQL string containing the ID parameter.</param>
            <param name="IDValue">The value for ID.</param>
        </member>
        <member name="M:OPF.DataManager.PersistentSqlDataManager.CreateMappings(OPF.Persistent)">
            <summary>
            Creates the mappings between the properties of the object and the
            fields in the storage.
            </summary>
        </member>
        <member name="M:OPF.DataManager.PersistentSqlDataManager.RestoreFieldName(System.String)">
            <summary>
            Converts the property name to the field name in the storage.
            	<examples>
            	ForeignKey_ID is converted to FOREIGN_KEY_ID 
            	Lastname is converted to LASTNAME
            	StreetNr is converted to STREET_NR 
            	ID is converted to ID
            	</examples>
            </summary>
            <param name="PropertyName">Property name to convert.</param>
        </member>
        <member name="M:OPF.DataManager.PersistentSqlDataManager.PopulateProperties(OPF.Persistent,System.Data.DataSet)">
            <summary>
            Populates the properties of a given object.
            </summary>
            <param name="Persistent">Persistent to populate.</param>
            <param name="DS">DataSet to take the data from.</param>
        </member>
        <member name="M:OPF.DataManager.PersistentSqlDataManager.PopulateDynamicProperties(OPF.Persistent,System.String,System.String)">
            <summary>
            Populates the properties of a given object.
            </summary>
            <param name="Persistent">Persistent to populate.</param>
            <param name="FieldName">The name of the possible dynamic property field.</param>
            <param name="FieldContent">The content of the possible dynamic properties field.</param>
        </member>
        <member name="M:OPF.DataManager.PersistentSqlDataManager.PopulateBlob(System.Object,System.Reflection.PropertyInfo)">
            <summary>
            Generates from the data from the storage a new OPF.Blob and returns it.
            </summary>
            <param name="ColumnContent">Content of the column in the storage.</param>
            <param name="Property">Property. Used to check if ZIP compressed is enabled.</param>
        </member>
        <member name="M:OPF.DataManager.PersistentSqlDataManager.PopulateParams(OPF.Persistent,OPF.ParameterCollection)">
            <summary>
            Populates a ParameterCollection getting all properties of a persistent.
            </summary>
            <param name="Persistent">The persistent to be used to populate the Parameter Collection.</param>
            <param name="ParamCollection">The Parameter Collection to be filled.</param>
        </member>
        <member name="M:OPF.DataManager.PersistentSqlDataManager.PopulateDynamicParams(OPF.Persistent,OPF.ParameterCollection)">
            <summary>
            Populates a ParameterCollection getting all dynamic properties of a persistent.
            </summary>
            <param name="Persistent">The persistent to be used to populate the Parameter Collection.</param>
            <param name="ParamCollection">The Parameter Collection to be filled.</param>
        </member>
        <member name="M:OPF.DataManager.PersistentSqlDataManager.HandleStorageNULLs(System.Data.DataSet)">
            <summary>
            Handles the null values for SQL storages.
            </summary>
            <param name="DataSet">The dataset where you want to eliminate the NULL values.</param>
        </member>
        <member name="M:OPF.DataManager.PersistentSqlDataManager.Load(OPF.Persistent,OPF.Storages.Storage)">
            <summary>
            Load. Compiles the SQL. Loads and populates a new persistent.
            </summary>
            <param name="Persistent">Persistent to populate.</param>
            <param name="Storage">Storage where to load the data from.</param>
        </member>
        <member name="M:OPF.DataManager.PersistentSqlDataManager.Save(OPF.Persistent,OPF.Storages.Storage)">
            <summary>
            Save (Update). Compiles the SQL and starts the update (save) of an object in the storage.
            </summary>
            <param name="Persistent">The persistent that is going to be saved.</param>
            <param name="Storage">The storage where the persistent is saved.</param>
        </member>
        <member name="M:OPF.DataManager.PersistentSqlDataManager.Insert(OPF.Persistent,OPF.Storages.Storage)">
            <summary>
            Insert. Compiles the SQL and starts the insert of a item from the storage.
            </summary>
            <param name="Persistent">Persistent to save.</param>
            <param name="Storage">Storage where to save.</param>
        </member>
        <member name="M:OPF.DataManager.PersistentSqlDataManager.Delete(OPF.Persistent,OPF.Storages.Storage)">
            <summary>
            Delete. Compiles the SQL and starts the delete to delete an item from the storage.
            </summary>
            <param name="Persistent">Persistent to delete.</param>
            <param name="Storage">Storage where to delete.</param>
        </member>
        <member name="P:OPF.DataManager.PersistentSqlDataManager.NeededStorage">
            <summary>
            Returns the required storage by the DM object. It is not possible to connect a DM with
            a storage that is not build for that DM.
            </summary>
        </member>
        <member name="T:OPF.DataManager.PersistentSqlDataManager.PropertyMappings">
            <summary>
            Class contains the property mappings. A property mapping is the connection
            between the property of the object and the field in the storage.
            </summary>
        </member>
        <member name="M:OPF.DataManager.PersistentSqlDataManager.PropertyMappings.AddMapping(System.Reflection.PropertyInfo,System.String)">
            <summary>
            Adds a new mapping to the property mappings.
            </summary>
            <param name="Property">Property to add.</param>
            <param name="FieldName">Name of the field in the storage to add.</param>
        </member>
        <member name="M:OPF.DataManager.PersistentSqlDataManager.PropertyMappings.GetFieldName(System.Reflection.PropertyInfo)">
            <summary>
            Returns the name of the field connected with the property.
            </summary>
            <param name="Property">Property where the field is required.</param>
        </member>
        <member name="M:OPF.DataManager.PersistentSqlDataManager.PropertyMappings.GetProperty(System.String)">
            <summary>
            Returns the property connected with the field given.
            </summary>
            <param name="FieldName">Name of the field in the storage.</param>
        </member>
        <member name="P:OPF.DataManager.PersistentSqlDataManager.PropertyMappings.Count">
            <summary>
            Returns the amount of mappings.
            </summary>
        </member>
        <member name="P:OPF.DataManager.PersistentSqlDataManager.PropertyMappings.Properties">
            <summary>
            Returns the properties of the persistent.
            </summary>
        </member>
        <member name="T:OPF.DataManager.DynamicCommandDelegate">
            <summary>
            Delegate to define dynamic load commands for collections. Use this one when you need
            a command compiled dynamically while the OPF is running.
            </summary>
            <param name="ActualParameterCollection">Contains the actual parameter collection that
            contains all parameter used by the command.</param>
        </member>
        <member name="T:OPF.DataManager.CollectionDataManager">
            <summary>
            OPF's Collection Data Manager.
            </summary>
        </member>
        <member name="M:OPF.DataManager.CollectionDataManager.#ctor">
            <summary>
            Constructor. Calls RegisterCollections, to register all collections.
            </summary>
        </member>
        <member name="M:OPF.DataManager.CollectionDataManager.DefineCollections">
            <summary>
            All collections should be defined within this method by overriding it
            Example: RegisterCollection("TestPersistent.CollectionName", 
            							"select * from TestPersistent where foo = :foo");
            </summary>
        </member>
        <member name="M:OPF.DataManager.CollectionDataManager.DefineCollection(System.String,System.String)">
            <summary>
            Registers a new collection.
            </summary>
            <param name="CollectionName">Name of the collection.</param>
            <param name="LoadCommand">Command to load the collection.</param>
        </member>
        <member name="M:OPF.DataManager.CollectionDataManager.DefineCollection(System.String,OPF.DataManager.DynamicCommandDelegate)">
            <summary>
            Registers a new collection.
            </summary>
            <param name="CollectionName">Name of the collection.</param>
            <param name="Delegate">Delegate that contains a method, that is invoked when the load process started.</param>
        </member>
        <member name="M:OPF.DataManager.CollectionDataManager.FindCollectionMapping(System.String,OPF.ParameterCollection,System.Boolean@)">
            <summary>
            Finds the corresponding collection mapping. Returns the command.
            </summary>
            <param name="CollectionName">Name of the collection.</param>
            <param name="ParamCollection">Parametercollection that contains the parameter for the collection.</param>
            <param name="Delegate">True if command has been compiled by a delegate.</param>
        </member>
        <member name="M:OPF.DataManager.CollectionDataManager.Load(OPF.Collections.Collection,OPF.Storages.Storage,OPF.ParameterCollection,System.Type)">
            <summary>
            Loads a collection.
            </summary>
            <param name="Collection">Name of the Collection.</param>
            <param name="Storage">Storage, where to load the collection.</param>
            <param name="ParamCollection">Parameter collection for this collection.</param>
            <param name="PersistentType">The persistent type the collection contains.</param>
        </member>
        <member name="M:OPF.DataManager.CollectionDataManager.Save(OPF.Collections.Collection,OPF.Storages.Storage)">
            <summary>
            Saves the whole collection.
            </summary>
            <param name="Collection">Collection to save.</param>
            <param name="Storage">Storage, where to register the collection as changed.</param>
        </member>
        <member name="M:OPF.DataManager.CollectionDataManager.Delete(OPF.Collections.Collection,OPF.Storages.Storage)">
            <summary>
            Deletes the whole collection.
            </summary>
            <param name="Collection">Collection to delete.</param>
            <param name="Storage">Storage, where to register the collection as changed.</param>
        </member>
        <member name="T:OPF.DataManager.CollectionSqlDataManager">
            <summary>
            Collection DataManager for collections that work with Sql storages.
            </summary>
        </member>
        <member name="M:OPF.DataManager.CollectionSqlDataManager.Load(OPF.Collections.Collection,OPF.Storages.Storage,OPF.ParameterCollection,System.Type)">
            <summary>
            Loads a collection and checks the maxresults (creating a count query) if maxresults is set.
            </summary>
            <param name="Collection">Name of the Collection.</param>
            <param name="Storage">Storage, where to load the collection.</param>
            <param name="ParamCollection">Parameter collection for this collection.</param>
            <param name="PersistentType">The persistent type the collection contains.</param>
        </member>
        <member name="T:OPF.Exceptions.OPFException">
            <summary>
            Base exception for all OPF Exceptions.
            </summary>
        </member>
        <member name="M:OPF.Exceptions.OPFException.#ctor">
            <summary>Base OPF exception. All OPF exception inherit from this exception.</summary>
        </member>
        <member name="M:OPF.Exceptions.OPFException.#ctor(System.String)">
            <summary>Base OPF exception. All OPF exception inherit from this exception.</summary>
        </member>
        <member name="M:OPF.Exceptions.OPFException.#ctor(System.String,System.Exception)">
            <summary>Base OPF exception. All OPF exception inherit from this exception.</summary>
        </member>
        <member name="T:OPF.Exceptions.CriticalException">
            <summary>
            This is a internal critical exception to signal internal problems.
            Exception is thrown when the OPF.Net does not know how to handle an exception.
            </summary>
        </member>
        <member name="M:OPF.Exceptions.CriticalException.#ctor">
            <summary>This is a internal critical exception.</summary>
        </member>
        <member name="T:OPF.Exceptions.FileNotFoundException">
            <summary>
            Exception is thrown if the storage - or a file requested - hasn't been found.
            </summary>
        </member>
        <member name="M:OPF.Exceptions.FileNotFoundException.#ctor(System.String)">
            <summary>Exception class for storages that can't be found.</summary>
        </member>
        <member name="M:OPF.Exceptions.FileNotFoundException.#ctor(System.String,System.Exception)">
            <summary>Exception class for storages that can't be found.</summary>
        </member>
        <member name="T:OPF.Exceptions.IDException">
            <summary>
            Exception is thrown on problems with the ID of an Object.
            </summary>
        </member>
        <member name="M:OPF.Exceptions.IDException.#ctor(System.String)">
            <summary>Is thrown,on problems with the ID of an Object.</summary>
        </member>
        <member name="M:OPF.Exceptions.IDException.#ctor(System.String,System.Exception)">
            <summary>Is thrown, on problems with the ID of an Object.</summary>
        </member>
        <member name="T:OPF.Exceptions.InputOutputException">
            <summary>
            Exception is thrown on problems while reading, writing or compiling of query strings etc.
            </summary>
        </member>
        <member name="M:OPF.Exceptions.InputOutputException.#ctor(System.String)">
            <summary>Is thrown on problems while reading or writing or compiling of query string etc.</summary>
        </member>
        <member name="M:OPF.Exceptions.InputOutputException.#ctor(System.String,System.Exception)">
            <summary>Is thrown on problems while reading or writing or compiling of query string etc.</summary>
        </member>
        <member name="M:OPF.Exceptions.InputOutputException.#ctor(System.String,OPF.Persistent)">
            <summary>Is thrown on problems while reading or writing or compiling of query string etc.</summary>
        </member>
        <member name="P:OPF.Exceptions.InputOutputException.Persistent">
            <summary>Persistent that has thrown the exception.</summary>
        </member>
        <member name="T:OPF.Exceptions.ConcurrencyException">
            <summary>
            Exception is thrown when an object has been changed by someone else
            </summary>
        </member>
        <member name="M:OPF.Exceptions.ConcurrencyException.#ctor(System.String)">
            <summary>Is thrown on problems while reading or writing or compiling of query string etc.</summary>
        </member>
        <member name="M:OPF.Exceptions.ConcurrencyException.#ctor(System.String,System.Exception)">
            <summary>Is thrown on problems while reading or writing or compiling of query string etc.</summary>
        </member>
        <member name="M:OPF.Exceptions.ConcurrencyException.#ctor(System.String,OPF.Persistent)">
            <summary>Is thrown on problems while reading or writing or compiling of query string etc.</summary>
        </member>
        <member name="P:OPF.Exceptions.ConcurrencyException.Persistent">
            <summary>Persistent that has thrown the exception.</summary>
        </member>
        <member name="T:OPF.Exceptions.ObjectNotFoundException">
            <summary>
            Exception is thrown when an object cannot be found in storage
            </summary>
        </member>
        <member name="M:OPF.Exceptions.ObjectNotFoundException.#ctor(System.String)">
            <summary>Is thrown on problems while reading or writing or compiling of query string etc.</summary>
        </member>
        <member name="M:OPF.Exceptions.ObjectNotFoundException.#ctor(System.String,OPF.Persistent)">
            <summary>Is thrown when there is a problem while reading or writing or compiling of query string etc.</summary>
        </member>
        <member name="P:OPF.Exceptions.ObjectNotFoundException.Persistent">
            <summary>Persistent that has thrown the exception.</summary>
        </member>
        <member name="T:OPF.Exceptions.ObjectException">
            <summary>
            Exception is thrown when there is an exception with or in an object.
            </summary>
        </member>
        <member name="M:OPF.Exceptions.ObjectException.#ctor(System.String)">
            <summary>Is thrown when there is an exception with or in an object.</summary>
        </member>
        <member name="M:OPF.Exceptions.ObjectException.#ctor(System.String,System.Exception)">
            <summary>Is thrown when there is an exception with or in an object.</summary>
        </member>
        <member name="T:OPF.Exceptions.ConstraintsExceptionType">
            <summary>
            Enumeration that contains all types of constraints exceptions the ConstraintException signals.
            </summary>
        </member>
        <member name="F:OPF.Exceptions.ConstraintsExceptionType.TypeNotInConstraints">
            <summary>Type is not defined in Constraints class.</summary>
        </member>
        <member name="F:OPF.Exceptions.ConstraintsExceptionType.ValueNotSet">
            <summary>Value of the Property is null.</summary>
        </member>
        <member name="F:OPF.Exceptions.ConstraintsExceptionType.ValueNotValid">
            <summary>Value of the Property is not valid.</summary>
        </member>
        <member name="F:OPF.Exceptions.ConstraintsExceptionType.TypeNotSupported">
            <summary>Type is not supported by dynamic properties check constraints.</summary>
        </member>
        <member name="F:OPF.Exceptions.ConstraintsExceptionType.ValueOutOfValidBounds">
            <summary>Value is not in valid range (eg. value between 200 and 300 is not allowed.
            The actual value is between 200 and 300).</summary>
        </member>
        <member name="T:OPF.Exceptions.ConstraintsException">
            <summary>
            Exception is thrown on an exception while checking the constraints.
            </summary>
        </member>
        <member name="M:OPF.Exceptions.ConstraintsException.#ctor(System.String,OPF.Exceptions.ConstraintsExceptionType)">
            <summary>Is thrown when on an exception while checking the constraints.</summary>
            <param name="ConstraintsExceptionType">Type of the constraints exception.</param>
            <param name="Message">Message of the Exception.</param>
        </member>
        <member name="M:OPF.Exceptions.ConstraintsException.#ctor(System.String,System.Exception,OPF.Exceptions.ConstraintsExceptionType)">
            <summary>Is thrown on an exception while checking the constraints.</summary>
            <param name="ConstraintsExceptionType">Type of the constraints exception.</param>
            <param name="InnerException">Original exception that has been catched.</param>
            <param name="Message">Message of the Exception.</param>
        </member>
        <member name="M:OPF.Exceptions.ConstraintsException.#ctor(System.String,System.String,OPF.Exceptions.ConstraintsExceptionType)">
            <summary>Is thrown on an exception while checking the constraints.</summary>
            <param name="PropertyName">Name of the Property that caused the exception.</param>
            <param name="ConstraintsExceptionType">Type of the constraints exception.</param>
            <param name="Message">Message of the exception.</param>
        </member>
        <member name="M:OPF.Exceptions.ConstraintsException.#ctor(System.String)">
            <summary>Is thrown on an exception while checking the constraints.</summary>
        </member>
        <member name="M:OPF.Exceptions.ConstraintsException.#ctor(System.String,System.Exception)">
            <summary>Is thrown on an exception while checking the constraints.</summary>
        </member>
        <member name="M:OPF.Exceptions.ConstraintsException.#ctor(System.String,System.String)">
            <summary>Is thrown on an exception while checking the constraints.</summary>
        </member>
        <member name="P:OPF.Exceptions.ConstraintsException.PropertyName">
            <summary>
            Name of the Property that has thrown the exception.
            </summary>
        </member>
        <member name="P:OPF.Exceptions.ConstraintsException.ConstraintsExceptionType">
            <summary>
            Returns the type of the constraints exception.
            </summary>
        </member>
        <member name="T:OPF.Exceptions.ObjectBrokerException">
            <summary>
            Exception is thrown on a problem with the ObjectBroker.
            </summary>
        </member>
        <member name="M:OPF.Exceptions.ObjectBrokerException.#ctor(System.String)">
            <summary>Is thrown on problems with the ObjectBroker.</summary>
        </member>
        <member name="M:OPF.Exceptions.ObjectBrokerException.#ctor(System.String,System.Exception)">
            <summary>Is thrown on problems with the ObjectBroker.</summary>
        </member>
        <member name="T:OPF.Exceptions.TransactionException">
            <summary>
            Exception is thrown on problems with the transaction.
            </summary>
        </member>
        <member name="M:OPF.Exceptions.TransactionException.#ctor(System.String)">
            <summary>Is thrown on problems with the transaction.</summary>
        </member>
        <member name="M:OPF.Exceptions.TransactionException.#ctor(System.String,System.Exception)">
            <summary>Is thrown on problems with the transaction.</summary>
        </member>
        <member name="T:OPF.Exceptions.DynamicPropertyAndTypeException">
            <summary>
            Exception is thrown on problems with a dynamic property or dynamic type.
            </summary>
        </member>
        <member name="M:OPF.Exceptions.DynamicPropertyAndTypeException.#ctor(System.String)">
            <summary>Is thrown on problems with a dynamic property.</summary>
        </member>
        <member name="M:OPF.Exceptions.DynamicPropertyAndTypeException.#ctor(System.String,System.Exception)">
            <summary>Is thrown on problems with a dynamic property.</summary>
        </member>
        <member name="M:OPF.Exceptions.DynamicPropertyAndTypeException.#ctor(System.String,System.String)">
            <summary>Is thrown on problems with a dynamic property.</summary>
        </member>
        <member name="P:OPF.Exceptions.DynamicPropertyAndTypeException.PropertyName">
            <summary>
            Name of the Property that has thrown the exception.
            </summary>
        </member>
        <member name="T:OPF.Exceptions.StorageExceptionType">
            <summary>
            Enumeration that contains all types of storage exceptions the Storage will throw.
            </summary>
        </member>
        <member name="F:OPF.Exceptions.StorageExceptionType.Constraint">
            <summary>Violation of a constraint in the storage.</summary>
        </member>
        <member name="F:OPF.Exceptions.StorageExceptionType.ForeignKeyViolation">
            <summary>Violation of the foreign key.</summary>
        </member>
        <member name="F:OPF.Exceptions.StorageExceptionType.PrimaryKeyViolation">
            <summary>Violation of a primary key.</summary>
        </member>
        <member name="F:OPF.Exceptions.StorageExceptionType.IndexViolation">
            <summary>Violation of an index in the storage.</summary>
        </member>
        <member name="F:OPF.Exceptions.StorageExceptionType.WrongCommand">
            <summary>The command given to the storage is incorrect.</summary>
        </member>
        <member name="F:OPF.Exceptions.StorageExceptionType.Other">
            <summary>All other, not defined exceptions in the storage..</summary>
        </member>
        <member name="T:OPF.Exceptions.StorageException">
            <summary>
            Exception is thrown on problems with the constraints, primary keys or foreign keys (or other
            things) in the storage.
            </summary>
        </member>
        <member name="M:OPF.Exceptions.StorageException.#ctor(System.String)">
            <summary>Is thrown on problems in the storage.</summary>
        </member>
        <member name="M:OPF.Exceptions.StorageException.#ctor(System.String,System.Exception)">
            <summary>Is thrown on problems in the storage.</summary>
        </member>
        <member name="M:OPF.Exceptions.StorageException.#ctor(System.String,OPF.Exceptions.StorageExceptionType)">
            <summary>Is thrown on problems in the storage.</summary>
        </member>
        <member name="M:OPF.Exceptions.StorageException.#ctor(System.String,System.Exception,OPF.Exceptions.StorageExceptionType)">
            <summary>Is thrown on problems in the storage.</summary>
        </member>
        <member name="P:OPF.Exceptions.StorageException.StorageExceptionType">
            <summary>
            Type of exception that has been thrown in the storage.
            </summary>
        </member>
        <member name="T:OPF.Exceptions.ZipException">
            <summary>
            Exception is thrown on exceptions while zipping or unzipping. 
            </summary>
        </member>
        <member name="M:OPF.Exceptions.ZipException.#ctor(System.String)">
            <summary>Exception class for problems while zipping and unzipping.</summary>
        </member>
        <member name="M:OPF.Exceptions.ZipException.#ctor(System.String,System.Exception)">
            <summary>Exception class for problems while zipping and unzipping.</summary>
        </member>
        <member name="T:OPF.ObjectBroker.PersistentMapping">
            <summary>
            Holds one Objectbroker mapping for persistent objects. An array of this classes is used by the Objectbroker to
            hold the mappings between DataManager, Persistent and Storage.
            </summary>
        </member>
        <member name="P:OPF.ObjectBroker.PersistentMapping.Persistent">
            <summary>
            Object (Persistent) that is associated to a DM.
            </summary>
        </member>
        <member name="P:OPF.ObjectBroker.PersistentMapping.DataManager">
            <summary>
            Datamanager that is associated to an object.
            </summary>
        </member>
        <member name="P:OPF.ObjectBroker.PersistentMapping.Storage">
            <summary>
            Store where the objectbroker has to search for the object.
            </summary>
        </member>
        <member name="T:OPF.ObjectBroker.CollectionMapping">
            <summary>
            Holds one Objectbroker mapping for collections. An array of this classes is used by the Objectbroker to
            hold the mappings between DataManager and Collection.
            </summary>
        </member>
        <member name="P:OPF.ObjectBroker.CollectionMapping.Collection">
            <summary>
            Collection that is associated to one DM.
            </summary>
        </member>
        <member name="P:OPF.ObjectBroker.CollectionMapping.DataManager">
            <summary>
            Datamanager that is associated to a collection.
            </summary>
        </member>
        <member name="P:OPF.ObjectBroker.CollectionMapping.Storage">
            <summary>
            Store where the objectbroker has to search for the object.
            </summary>
        </member>
        <member name="P:OPF.ObjectBroker.CollectionMapping.PersistentType">
            <summary>
            Type of the persistents managed by the collection.
            </summary>
        </member>
        <member name="T:OPF.ObjectBroker.ObjectBroker">
            <summary>
            Abstract (base) Objectbroker class.
            The OPF ObjectBroker. Holds the mappings between the problem domain classes, the
            corresponding data management classes and the store alias. The ObjectBroker is the 
            only connection between the problem domain and the data management classes and the store. 
            Persistence operations on problem domain classes are passed on the ObjectBroker 
            which in turn relays on the data management class for execution.
            </summary>
        </member>
        <member name="M:OPF.ObjectBroker.ObjectBroker.FindMapping(OPF.Persistent)">
            <summary>
            Finds the mapping of a persistent object. Returns null if there is no mapping that matches.
            </summary>
            <param name="Persistent">The Persistent to get the mapping for.</param>
        </member>
        <member name="M:OPF.ObjectBroker.ObjectBroker.FindMapping(OPF.Collections.Collection)">
            <summary>
            Finds the mapping of a collection. Returns null if there is no mapping that matches.
            </summary>
            <param name="Collection">The collection to get the mapping for.</param>
        </member>
        <member name="M:OPF.ObjectBroker.ObjectBroker.FindStorageCommand(System.String)">
            <summary>
            Finds the storage command corresponding to the given alias. Returns null if there is no storage command 
            that matches.
            </summary>
            <param name="Alias">Alias of the storage command to find.</param>
        </member>
        <member name="M:OPF.ObjectBroker.ObjectBroker.GetStorage(System.Type)">
            <summary>
            Returns the storage of a certain object.
            </summary>
            <param name="PersistentType">The persistent to return the storage for.</param>
        </member>
        <member name="M:OPF.ObjectBroker.ObjectBroker.GetDataManager(System.Type)">
            <summary>
            Returns the Datamanager of a certain object.
            </summary>
            <param name="PersistentType">The persistent to return the datamanager for.</param>
        </member>
        <member name="M:OPF.ObjectBroker.ObjectBroker.RegisterPersistent(System.Type,System.Type)">
            <summary>
            Registers a new object with a datamanager and a storage. Uses the default storage as storage.
            </summary>
            <param name="PersistentType">The Persistent type to register.</param>
            <param name="DataManagerType">The DataManager type to register with the peristent.</param>
        </member>
        <member name="M:OPF.ObjectBroker.ObjectBroker.RegisterPersistent(System.Type,System.Type,OPF.Storages.Storage)">
            <summary>
            Registers a new object with a datamanager and a storage.
            </summary>
            <param name="PersistentType">The Persistent type to register.</param>
            <param name="DataManagerType">The DataManager type to register with the peristent.</param>
            <param name="Storage">The Storage to register with the persistent.</param>
        </member>
        <member name="M:OPF.ObjectBroker.ObjectBroker.RegisterCollection(System.Type,System.Type,System.Type)">
            <summary>
            Registers a new collection with a datamanager and a storage.
            </summary>
            <param name="CollectionType">The Collection to register.</param>
            <param name="DataManagerType">The DataManager to register with the Collection.</param>
            <param name="PersistentType">The Persistent type to register with the collection.</param>
        </member>
        <member name="M:OPF.ObjectBroker.ObjectBroker.Execute(OPF.DataManager.DMOperations,OPF.Persistent)">
            <summary>
            Executes an operation.
            </summary>
            <param name="DMOperation">Operation to to execute.</param>
            <param name="Persistent">Persistent on which the operation should be applied.</param>
        </member>
        <member name="M:OPF.ObjectBroker.ObjectBroker.Execute(OPF.DataManager.DMOperations,OPF.Collections.Collection,OPF.ParameterCollection)">
            <summary>
            Loads a Collection from storage.
            </summary>
            <param name="DMOperation">DataManager Operation to perform.</param>
            <param name="Collection">Collection where to store loaded objects in.</param>
            <param name="ParamCollection">ParameterCollection - for load.</param>
        </member>
        <member name="M:OPF.ObjectBroker.ObjectBroker.StartTransaction">
            <summary>
            Starts a new Objectbroker Transaction. 
            INFO: starts the transaction for all connected storages.
            </summary>
        </member>
        <member name="M:OPF.ObjectBroker.ObjectBroker.StartTransaction(OPF.Storages.Storage)">
            <summary>
            Starts a new Objectbroker Transaction.
            </summary>
            <param name="Storage">The storage, for which to start the transaction.</param>
        </member>
        <member name="M:OPF.ObjectBroker.ObjectBroker.StartTransaction(OPF.Storages.Storage[])">
            <summary>
            Starts a new Objectbroker Transaction.
            </summary>
            <param name="Storage">The storage for which to start the transaction.</param>
        </member>
        <member name="M:OPF.ObjectBroker.ObjectBroker.Commit">
            <summary>
            Commits the Objectbroker transaction.
            </summary>
        </member>
        <member name="M:OPF.ObjectBroker.ObjectBroker.Rollback(System.Boolean)">
            <summary>
            Only supported if the storage supports transactions.
            </summary>
            <param name="MarkChanged">True to set rollback the objects.</param>
        </member>
        <member name="M:OPF.ObjectBroker.ObjectBroker.Rollback">
            <summary>
            Only supported if the storage supports transactions. Also rolls the IDs of the objects back.
            </summary>
        </member>
        <member name="M:OPF.ObjectBroker.ObjectBroker.ExecuteStorageCommand(System.String,OPF.ParameterCollection)">
            <summary>
            Directly executes commands in the storage. Returns an array with the results of the command.
            Should be used mainly when manipulating large number of records for performance reasons.
            </summary>
            <param name="Alias">Alias of the command to execute.</param>
            <param name="ParameterCollection">ParameterCollection that holds the parameter for the command.</param>
        </member>
        <member name="M:OPF.ObjectBroker.ObjectBroker.RegisterStorageCommand(OPF.Storages.StorageCommand)">
            <summary>
            Registers a new storage command to the default storage set for the ObjectBroker.
            </summary>
            <param name="StorageCommand">Command to register.</param>
        </member>
        <member name="M:OPF.ObjectBroker.ObjectBroker.FireLongOperation(System.String,System.Int32,System.Int32)">
            <summary>
            Fires the long operation call back for the collection with the given id.
            </summary>
            <param name="CollectionID">Collection id that indicates the collection where to fire the event.</param>
            <param name="Value">Index of the current object.</param>
            <param name="Maximum">Value that contains the maximum of elements processed in this command.</param>
        </member>
        <member name="P:OPF.ObjectBroker.ObjectBroker.DefaultStorage">
            <summary>
            Sets a default storage for the ObjectBroker. All Persistents and DataManager that 
            are registered without storage use this storage as their storage.
            </summary>
        </member>
        <member name="T:OPF.ObjectBroker.SingleInProcessObjectBroker">
            <summary>
            Single In Process OPF Objectbroker
            The OPF ObjectBroker. Holds the mappings between the problem domain classes, the
            corresponding data management classes and the store alias. The ObjectBroker is the 
            only connection between the problem domain and the data management classes and the store. 
            Persistence operations on problem domain classes are passed on the the ObjectBroker 
            which in turn relays on the data management class for execution.
            </summary>
        </member>
        <member name="M:OPF.ObjectBroker.SingleInProcessObjectBroker.FindMapping(OPF.Persistent)">
            <summary>
            Finds the mapping of a persistent object. Returns null if there is no matching mapping.
            </summary>
            <param name="Persistent">The persistent to return the mapping for.</param>
        </member>
        <member name="M:OPF.ObjectBroker.SingleInProcessObjectBroker.FindMapping(OPF.Collections.Collection)">
            <summary>
            Finds the mapping of a collection. Returns null if there is no matching mapping.
            </summary>
            <param name="Collection">The collection to return the mapping for.</param>
        </member>
        <member name="M:OPF.ObjectBroker.SingleInProcessObjectBroker.FindStorageCommand(System.String)">
            <summary>
            Finds the storage command matching the given alias. Returns null if there is no storage command 
            that matches.
            </summary>
            <param name="Alias">Alias of the storage command to find.</param>
        </member>
        <member name="M:OPF.ObjectBroker.SingleInProcessObjectBroker.GetStorage(System.Type)">
            <summary>
            Returns the storage of a certain object.
            </summary>
            <param name="PersistentType">The persistent to return the storage for.</param>
        </member>
        <member name="M:OPF.ObjectBroker.SingleInProcessObjectBroker.GetDataManager(System.Type)">
            <summary>
            Returns the Datamanager of a certain object.
            </summary>
            <param name="PersistentType">The persistent type to return the datamanager for.</param>
        </member>
        <member name="M:OPF.ObjectBroker.SingleInProcessObjectBroker.RegisterPersistent(System.Type,System.Type)">
            <summary>
            Registers a new object with a datamanager and a storage. Uses the default storage as storage.
            </summary>
            <param name="PersistentType">The Persistent type to register.</param>
            <param name="DataManagerType">The DataManager type to associate with the peristent.</param>
        </member>
        <member name="M:OPF.ObjectBroker.SingleInProcessObjectBroker.RegisterPersistent(System.Type,System.Type,OPF.Storages.Storage)">
            <summary>
            Registers a new object with a datamanager and a storage.
            </summary>
            <param name="PersistentType">The Persistent type to register.</param>
            <param name="DataManagerType">The DataManager type to associate to the peristent.</param>
            <param name="Storage">The Storage to associate to the persistent.</param>
        </member>
        <member name="M:OPF.ObjectBroker.SingleInProcessObjectBroker.RegisterCollection(System.Type,System.Type,System.Type)">
            <summary>
            Registers a new collection with a datamanager and a storage.
            </summary>
            <param name="CollectionType">The Collection to register.</param>
            <param name="DataManagerType">The DataManager to associate to the Collection.</param>
            <param name="PersistentType">The Persistent type to associate to the collection.</param>
        </member>
        <member name="M:OPF.ObjectBroker.SingleInProcessObjectBroker.AddToTransactionStorages(OPF.Storages.Storage)">
            <summary>
            Adds a storage to the transaction storage array.
            Returns false if the object is already in the array.
            </summary>
            <param name="Storage">Storage to add.</param>
        </member>
        <member name="M:OPF.ObjectBroker.SingleInProcessObjectBroker.ClearTransactionStorages">
            <summary>
            Clears the transaction storages array.
            </summary>
        </member>
        <member name="M:OPF.ObjectBroker.SingleInProcessObjectBroker.IsInTransactionStorages(OPF.Storages.Storage)">
            <summary>
            Returns true if the Storage is added to the transactionstorage. 
            </summary>
            <param name="Storage">Storage to add.</param>
        </member>
        <member name="M:OPF.ObjectBroker.SingleInProcessObjectBroker.Execute(OPF.DataManager.DMOperations,OPF.Persistent)">
            <summary>
            Gets the connection between the datamanager and the persistent.
            </summary>
            <param name="DMOperation">DataManager operation to do.</param>
            <param name="Persistent">Persistent on which the operation is to do.</param>
        </member>
        <member name="M:OPF.ObjectBroker.SingleInProcessObjectBroker.Execute(OPF.DataManager.DMOperations,OPF.Collections.Collection,OPF.ParameterCollection)">
            <summary>
            Executes the load command of the collections datamanager.
            </summary>
            <param name="DMOperation">DataManager Operation to perform</param>
            <param name="Collection">Name of the collection.</param>
            <param name="ParamCollection">Parameter Collection for this collection.</param>
        </member>
        <member name="M:OPF.ObjectBroker.SingleInProcessObjectBroker.StartTransaction">
            <summary>
            Starts a new Objectbroker Transaction. 
            INFO: starts the transaction for all connected storages.
            </summary>
        </member>
        <member name="M:OPF.ObjectBroker.SingleInProcessObjectBroker.StartTransaction(OPF.Storages.Storage)">
            <summary>
            Starts a transaction for the given storage.
            </summary>
            <param name="Storage">Storage, where to start the transaction.</param>
        </member>
        <member name="M:OPF.ObjectBroker.SingleInProcessObjectBroker.StartTransaction(OPF.Storages.Storage[])">
            <summary>
            Starts a transaction for more storages.
            </summary>
            <param name="Storage">Storages for which to to start a transaction.</param>
        </member>
        <member name="M:OPF.ObjectBroker.SingleInProcessObjectBroker.Commit">
            <summary>
            Commits an object broker transaction for one ore more active storage transactions.
            </summary>
        </member>
        <member name="M:OPF.ObjectBroker.SingleInProcessObjectBroker.Rollback">
            <summary>
            Rolls the object broker transaction back. If one storage does not support the rollback an
            exception is thrown. Also rolls the IDs of the objects back.
            </summary>
        </member>
        <member name="M:OPF.ObjectBroker.SingleInProcessObjectBroker.Rollback(System.Boolean)">
            <summary>
            Rolls the object broker transaction back. If one storage does not support the rollback an
            exception is thrown.
            </summary>
            <param name="MarkChanged">True if you want rollback the objects (ID) too.</param>
        </member>
        <member name="M:OPF.ObjectBroker.SingleInProcessObjectBroker.RegisterStorageCommand(OPF.Storages.StorageCommand)">
            <summary>
            Registers a new storage command with the default storage set of the ObjectBroker.
            </summary>
            <param name="StorageCommand">Command to register.</param>
        </member>
        <member name="M:OPF.ObjectBroker.SingleInProcessObjectBroker.ExecuteStorageCommand(System.String,OPF.ParameterCollection)">
            <summary>
            Directly executes a command in the storage. Returns an array with the results of the command.
            </summary>
            <param name="Alias">Alias of the command to execute.</param>
            <param name="ParameterCollection">ParameterCollection that holds the parameter for the command.</param>
        </member>
        <member name="M:OPF.ObjectBroker.SingleInProcessObjectBroker.FireLongOperation(System.String,System.Int32,System.Int32)">
            <summary>
            Fires the long operation call back for the collection with the given id.
            </summary>
            <param name="CollectionID">Collection id that indicates the collection for which to fire the event.</param>
            <param name="Value">Index of the current object.</param>
            <param name="Maximum">Value that contains the maximum number of elements processed in this command.</param>
        </member>
        <member name="P:OPF.ObjectBroker.SingleInProcessObjectBroker.DefaultStorage">
            <summary>
            Sets a default storage for the ObjectBroker. All Persistents and DataManager that 
            are registered without storage use this storage.
            </summary>
        </member>
        <member name="T:OPF.ObjectBroker.MultipleInProcessObjectBroker">
            <summary>
            Multiple In Process OPF Objectbroker
            The OPF ObjectBroker for multiple connections on one machine (such as IIS). 
            Holds the mappings between the problem domain classes, the corresponding data management classes and 
            the store alias. The ObjectBroker is the only connection between the problem domain and the data management 
            classes and the store. Persistence operations on problem domain classes are passed on the the ObjectBroker 
            which in turn relays on the data management class for execution.
            </summary>
        </member>
        <member name="M:OPF.ObjectBroker.MultipleInProcessObjectBroker.GetSessionID">
            <summary>
            Returns the unique ID for the actual session.
            </summary>
        </member>
        <member name="M:OPF.ObjectBroker.MultipleInProcessObjectBroker.CreateNewStorageForSession(OPF.Storages.Storage)">
            <summary>
            Creates a new storage for the session and the type of persistent.
            </summary>
            <param name="MappingStorage">Storage that should be created.</param>
        </member>
        <member name="M:OPF.ObjectBroker.MultipleInProcessObjectBroker.UpdateLastSessionAccess(System.String)">
            <summary>
            Updates the last session access for the session given.
            </summary>
            <param name="SessionID">ID of the actual session.</param>
        </member>
        <member name="M:OPF.ObjectBroker.MultipleInProcessObjectBroker.RegisterPersistent(System.Type,System.Type,OPF.Storages.Storage)">
            <summary>
            Registers a new object with a datamanager and a storage.
            </summary>
            <param name="PersistentType">The Persistent type to register.</param>
            <param name="DataManagerType">The DataManager type to register with the peristent.</param>
            <param name="Storage">The Storage to register with the persistent.</param>
        </member>
        <member name="M:OPF.ObjectBroker.MultipleInProcessObjectBroker.AddToAvailableStorages(OPF.Storages.Storage)">
            <summary>
            Adds a storage, to the available storage hashtable.
            </summary>
            <param name="Storage">Storage to add.</param>
        </member>
        <member name="M:OPF.ObjectBroker.MultipleInProcessObjectBroker.FindMapping(OPF.Persistent)">
            <summary>
            Finds the mapping of a persistent object and the actual session. Uses the session retriever to get
            the correct storage. Returns null if no mapping matches.
            </summary>
            <param name="Persistent">The persistent you want the mapping.</param>
        </member>
        <member name="M:OPF.ObjectBroker.MultipleInProcessObjectBroker.MarkForCleanup">
            <summary>
            Marks the ObjectBroker, so that it cleans up the expired sessions in one of the
            next calls (cycles).
            </summary>
        </member>
        <member name="M:OPF.ObjectBroker.MultipleInProcessObjectBroker.CleanUpExpiredSessions">
            <summary>
            Cleans the expired sessions: Destroys connections and storage objects.
            </summary>
        </member>
        <member name="M:OPF.ObjectBroker.MultipleInProcessObjectBroker.GetStorage(System.Type)">
            <summary>
            Returns the storage of a certain object and a session.
            </summary>
            <param name="PersistentType">The persistent type you want the storage from.</param>
        </member>
        <member name="M:OPF.ObjectBroker.MultipleInProcessObjectBroker.ClearTransactionStorages">
            <summary>
            Clears the transaction storages for the actual session.
            </summary>
        </member>
        <member name="M:OPF.ObjectBroker.MultipleInProcessObjectBroker.IsInTransactionStorages(OPF.Storages.Storage)">
            <summary>
            Returns true if the Storage is added to the transaction storages.
            </summary>
            <param name="Storage">Storage to add.</param>
            <returns></returns>
        </member>
        <member name="M:OPF.ObjectBroker.MultipleInProcessObjectBroker.AddToTransactionStorages(OPF.Storages.Storage,System.Boolean)">
            <summary>
            Adds a storage to the transaction storages.
            </summary>
            <param name="Storage">Storage to add.</param>
            <param name="Rollbackable">Indicates if the storage to add is rollbackable or not.</param>
        </member>
        <member name="M:OPF.ObjectBroker.MultipleInProcessObjectBroker.StartTransaction">
            <summary>
            Starts a new Objectbroker transaction for the actual session.
            INFO: starts the transaction for all connected storages.
            </summary>
        </member>
        <member name="M:OPF.ObjectBroker.MultipleInProcessObjectBroker.StartTransaction(OPF.Storages.Storage[])">
            <summary>
            Starts a transaction for more storages.
            </summary>
            <param name="Storage">Storages, for which to start the transactions.</param>
        </member>
        <member name="M:OPF.ObjectBroker.MultipleInProcessObjectBroker.Commit">
            <summary>
            Commit an object broker transaction for one ore more active storage transactions of the actual
            session.
            </summary>
        </member>
        <member name="M:OPF.ObjectBroker.MultipleInProcessObjectBroker.Rollback(System.Boolean)">
            <summary>
            Rolls the object broker	transaction of the actual session back. If one storage does not
            support the rollback an exception is thrown.
            </summary>
            <param name="MarkChanged">True if you want rollback the objects (ID) too.</param>
        </member>
        <member name="P:OPF.ObjectBroker.MultipleInProcessObjectBroker.SessionRetriever">
            <summary>
            Returns the SessionRetriever for the ObjectBroker. Throws an exception if
            no SessionRetriever has been registered and this ObjectBroker is used.
            Must be set before registering any kind of collection or business object!
            </summary>
        </member>
        <member name="P:OPF.ObjectBroker.MultipleInProcessObjectBroker.DefaultStorage">
            <summary>
            Sets a default storage for the ObjectBroker. All Persistents and DataManager that 
            are registered without storage that this storage as their storage.
            </summary>
        </member>
        <member name="P:OPF.ObjectBroker.MultipleInProcessObjectBroker.SessionTimeOutMin">
            <summary>
            Timeout of a session connected with this objectbroker.
            </summary>
        </member>
        <member name="T:OPF.Storages.StorageCommandType">
            <summary>
            The type of the storage command. Retrieve returns an Arraylist with the data
            returned by the command.
            </summary>
        </member>
        <member name="F:OPF.Storages.StorageCommandType.Execute">
            <summary>Returns an array with the amount of rows affected.</summary>
        </member>
        <member name="F:OPF.Storages.StorageCommandType.Retrieve">
            <summary>Returns an array with the data returned by the command.</summary>
        </member>
        <member name="T:OPF.Storages.StorageCommand">
            <summary>
            Contains one storage command having an alias and a command or a delegate, that
            compiles the command.
            </summary>
        </member>
        <member name="M:OPF.Storages.StorageCommand.#ctor(System.String)">
            <summary>
            Constructor. Allows also to set an alias.
            </summary>
            <param name="Alias">Alias of the storage command. Must be unique in the application.</param>
        </member>
        <member name="M:OPF.Storages.StorageCommand.#ctor(System.String,OPF.Storages.Storage)">
            <summary>
            Constructor. Allows to set an alias and the storage where to perform the command.
            </summary>
            <param name="Alias">Alias of the storage command. Must be unique throughout the application.</param>
            <param name="Storage">Storage on which to perform the command.</param>
        </member>
        <member name="M:OPF.Storages.StorageCommand.#ctor(System.String,System.String,OPF.Storages.StorageCommandType)">
            <summary>
            Constructor. Allows to set an alias and a command.
            </summary>
            <param name="Alias">Alias of the storage command. Must be unique throughout the application.</param>
            <param name="Command">Command that is executed.</param>
            <param name="StorageCommandType">Command type of the storage command.</param>
        </member>
        <member name="M:OPF.Storages.StorageCommand.#ctor(System.String,System.String,OPF.Storages.StorageCommandType,OPF.Storages.Storage)">
            <summary>
            Constructor. Allows to set an alias and a command and the storage
            </summary>
            <param name="Alias">Alias of the storage command. Must be unique throughout the application.</param>
            <param name="Command">Command that is executed.</param>
            <param name="StorageCommandType">Command type of the storage command.</param>
            <param name="Storage">Storage on which to perform the command.</param>
        </member>
        <member name="P:OPF.Storages.StorageCommand.Alias">
            <summary>
            Alias of the storage command. A string that must be unique throughout the application.
            </summary>
        </member>
        <member name="P:OPF.Storages.StorageCommand.Command">
            <summary>
            Returns and sets the command (SQL or XPath or something else) for the storage command.
            </summary>
        </member>
        <member name="P:OPF.Storages.StorageCommand.DynamicCommandDelegate">
            <summary>
            Returns and sets the delegate that dynamically compiles the command for the storage command.
            </summary>
        </member>
        <member name="P:OPF.Storages.StorageCommand.StorageCommandType">
            <summary>
            Sets and returns the type of the storage command. 
            </summary>
        </member>
        <member name="P:OPF.Storages.StorageCommand.Storage">
            <summary>
            Sets and returns the storage on which to perform the command.
            </summary>
        </member>
        <member name="T:OPF.Storages.Storage">
            <summary>
            Base class for all OPF storage classes.
            </summary>
        </member>
        <member name="M:OPF.Storages.Storage.Connect(System.String)">
            <summary>
            Contains the code to connect to a storage. Overwrites the ConnectionString
            property with the given connection string.
            </summary>
            <param name="ConnectionString">Connection string, that can contain a password 
            username, a filename or something else...</param>
        </member>
        <member name="M:OPF.Storages.Storage.Connect">
            <summary>
            Connects to the storage using the ConnectionString property as connection info
            </summary>
        </member>
        <member name="M:OPF.Storages.Storage.Disconnect">
            <summary>
            Contains the code to disconnect from a storage.
            </summary>
        </member>
        <member name="M:OPF.Storages.Storage.IsConnected">
            <summary>
            Returns true if the storage is connected.
            </summary>
        </member>
        <member name="M:OPF.Storages.Storage.ExecCommand(System.String,OPF.ParameterCollection)">
            <summary>
            Executes the given command. Returns the number of rows affected.
            </summary>
            <param name="CommandString">A command that should be executed by the procedure.</param>
            <param name="PColl">The parameter collection that contains the values for the command string.</param>
        </member>
        <member name="M:OPF.Storages.Storage.OpenDataSet(System.String)">
            <summary>
            Opens a DataSet and returns it.
            </summary>
            <param name="Query">Command, when opening the DataSet.</param>
        </member>
        <member name="M:OPF.Storages.Storage.OpenDataSet(System.String,OPF.ParameterCollection)">
            <summary>
            Opens a DataSet and returns it.
            </summary>
            <param name="Query">Command to execute to open the DataSet.</param>
            <param name="PColl">ParameterCollection for the command.</param>
        </member>
        <member name="M:OPF.Storages.Storage.ExecuteStorageCommand(OPF.Storages.StorageCommand,OPF.ParameterCollection)">
            <summary>
            Executes a command on the storage. Is used by the ObjectBroker to execute
            a storage command on the storage. Returns an arraylist with the rows affected
            or the result of the command.
            </summary>
            <param name="StorageCommand">Storage command to execute.</param>
            <param name="PColl">ParameterCollection used for the command.</param>
        </member>
        <member name="P:OPF.Storages.Storage.ConnectionString">
            <summary>
            Get/Sets the connection string to connect to a storage without connecting to it.
            Use the Connect() method to connect after setting ConnectionString.
            </summary>
        </member>
        <member name="P:OPF.Storages.Storage.StorageServerName">
            <summary>
            Returns the name of the datasource (server name).
            </summary>
        </member>
        <member name="T:OPF.Storages.TransactionStorage">
            <summary>
            Base class for all OPF storages that support transaction.
            </summary>
        </member>
        <member name="F:OPF.Storages.TransactionStorage._InsertedObjectList">
            <summary>
            _InsertObjectList and _UpdateObjectList are required for the rollback action. Holds all objects that
            have been updated or inserted.
            </summary>
        </member>
        <member name="M:OPF.Storages.TransactionStorage.#ctor">
            <summary>
            Constructor. Initiates the two temporary collections.
            </summary>
        </member>
        <member name="M:OPF.Storages.TransactionStorage.StartTransaction">
            <summary>
            Starts a new transaction.
            </summary>
        </member>
        <member name="M:OPF.Storages.TransactionStorage.Commit">
            <summary>
            Commits and clears inserted and updated list without destroying the objects.
            </summary>
        </member>
        <member name="M:OPF.Storages.TransactionStorage.Rollback(System.Boolean)">
            <summary>
            Rollback the transaction. Set back the ID for all inserted objects and set back the CRC for
            all updated object. If the CRC is not set back it is not possible to find out if the object
            had been changed by the user.
            </summary>
            <param name="MarkChanged"></param>
        </member>
        <member name="M:OPF.Storages.TransactionStorage.AddInsertObject(OPF.BaseObject)">
            <summary>
            Adds a new opf.object to the list of inserted objects. For the rollback.
            </summary>
            <param name="Object">The object, that is added to the insert list.</param>
        </member>
        <member name="M:OPF.Storages.TransactionStorage.AddUpdateObject(OPF.BaseObject)">
            <summary>
            Adds a new opf.object the the list of updated objects. For the rollback.
            </summary>
            <param name="Object">The object, that is added to the update list.</param>
        </member>
        <member name="M:OPF.Storages.TransactionStorage.AddCollectionObject(OPF.Collections.Collection)">
            <summary>
            Adds a collection to the list of changedcollections.
            </summary>
            <param name="Collection"></param>
        </member>
        <member name="M:OPF.Storages.TransactionStorage.IsTransactionActive">
            <summary>
            Returns if a transaction is active or not.
            </summary>
        </member>
        <member name="T:OPF.Storages.SqlStorage">
            <summary>
            Abstract class for Sql Storages. Each storage that bases on SQL should be 
            derived from this storage.
            </summary>
        </member>
        <member name="T:OPF.Storages.MsSqlStorage">
            <summary>
            Specific storage class for Ms Sql Server.
            </summary>
        </member>
        <member name="M:OPF.Storages.MsSqlStorage.#ctor">
            <summary>
            Creates a new Ms Sql Storage.
            </summary>
        </member>
        <member name="M:OPF.Storages.MsSqlStorage.Dispose">
            <summary>
            Frees the resources occupied by the storage class.
            </summary>
        </member>
        <member name="M:OPF.Storages.MsSqlStorage.Finalize">
            <summary>
            Destroys the MS SQL Storage. Closes the database connection.
            </summary>
        </member>
        <member name="M:OPF.Storages.MsSqlStorage.Connect">
            <summary>
            Connect to the SQL server
            </summary>
        </member>
        <member name="M:OPF.Storages.MsSqlStorage.Disconnect">
            <summary>
            Disconnect from the SQL server.
            </summary>
        </member>
        <member name="M:OPF.Storages.MsSqlStorage.ExecCommand(System.String,OPF.ParameterCollection)">
            <summary>
            Execute a generic SQL command. Should be used only for Update, Insert and Delete
            commands. Use OpenDataset for Select queries.
            Returns the number of rows affected by command.
            </summary>
            <param name="SQLCommandString">The SQL string that contains all fields for the command.</param>
            <param name="PColl">The values for the parameter for the SQL string.</param>
        </member>
        <member name="M:OPF.Storages.MsSqlStorage.OpenDataSet(System.String)">
            <summary>
            Execute SQLQuery and return a dataset.
            </summary>
            <param name="SQLQuery">Query containing the sql to execute.</param>
            <returns>Returns a dataset containing the query result.</returns>
        </member>
        <member name="M:OPF.Storages.MsSqlStorage.OpenDataSet(System.String,OPF.ParameterCollection)">
            <summary>
            Execute SQLQuery and return a dataset
            </summary>
            <param name="SQLQuery"></param>
            <param name="PColl"></param>
            <returns>Returns a dataset containing the query result</returns>
        </member>
        <member name="M:OPF.Storages.MsSqlStorage.StartTransaction">
            <summary>
            Starts a new transaction.
            </summary>
        </member>
        <member name="M:OPF.Storages.MsSqlStorage.Commit">
            <summary>
            Commits the active transaction.
            </summary>
        </member>
        <member name="M:OPF.Storages.MsSqlStorage.Rollback(System.Boolean)">
            <summary>
            Rollback the active transaction.
            </summary>
            <param name="MarkChanged">True to set back the objects.</param>
        </member>
        <member name="M:OPF.Storages.MsSqlStorage.IsConnected">
            <summary>
            Returns if the storage class is connected to a storage or not.
            </summary>
        </member>
        <member name="M:OPF.Storages.MsSqlStorage.CompileParameterCollection(OPF.ParameterCollection,System.Data.SqlClient.SqlParameterCollection)">
            <summary>
            Compiles the parameter collection.
            </summary>
            <param name="ParameterCollection">The Collection where to copy the parameter from.</param>
            <param name="SqlParameterCollection">The Collection where to copy the parameter.</param>
        </member>
        <member name="P:OPF.Storages.MsSqlStorage.StorageServerName">
            <summary>
            Returns the name of the Sql server if conntected, else returns "".
            </summary>
        </member>
        <member name="T:OPF.Storages.OleDbStorage">
            <summary>
            Specific storage class for OleDB Storages.
            </summary>
        </member>
        <member name="M:OPF.Storages.OleDbStorage.#ctor">
            <summary>
            Creates a new Ole DB Storage.
            </summary>
        </member>
        <member name="M:OPF.Storages.OleDbStorage.Finalize">
            <summary>
            Destroys an Ole DB Storage. Closes all connections.
            </summary>
        </member>
        <member name="M:OPF.Storages.OleDbStorage.Dispose">
            <summary>
            Frees the resources occupied by the storage class.
            </summary>
        </member>
        <member name="M:OPF.Storages.OleDbStorage.Connect">
            <summary>
            Connect to the OleDB storage
            </summary>
        </member>
        <member name="M:OPF.Storages.OleDbStorage.Disconnect">
            <summary>
            Disconnect from the OleDB storage.
            </summary>
        </member>
        <member name="M:OPF.Storages.OleDbStorage.ExecCommand(System.String,OPF.ParameterCollection)">
            <summary>
            Execute a generic SQL command. Should be used only for Update, Insert and Delete
            commands. Use OpenDataset for Select queries.
            Returns the number of rows affected by command.
            </summary>
            <param name="SQLCommandString">The SQL command string to execute.</param>
            <param name="PColl">The parameter collection that contains the parameter values for the SQL command.</param>
        </member>
        <member name="M:OPF.Storages.OleDbStorage.OpenDataSet(System.String)">
            <summary>
            Execute SQLQuery and return a dataset
            </summary>
            <param name="SQLQuery"></param>
            <returns>Returns a dataset containing the query result</returns>
        </member>
        <member name="M:OPF.Storages.OleDbStorage.OpenDataSet(System.String,OPF.ParameterCollection)">
            <summary>
            Execute SQLQuery and return a dataset
            </summary>
            <param name="SqlQuery"></param>
            <param name="PColl"></param>
            <returns>Returns a dataset containing the query result</returns>
        </member>
        <member name="M:OPF.Storages.OleDbStorage.StartTransaction">
            <summary>
            Starts a new transaction.
            </summary>
        </member>
        <member name="M:OPF.Storages.OleDbStorage.Commit">
            <summary>
            Commits the active transaction.
            </summary>
        </member>
        <member name="M:OPF.Storages.OleDbStorage.Rollback(System.Boolean)">
            <summary>
            Rollback the active transaction.
            </summary>
            <param name="MarkChanged">True to set back the objects.</param>
        </member>
        <member name="M:OPF.Storages.OleDbStorage.IsConnected">
            <summary>
            Returns if the storage class is connected to a storage or not.
            </summary>
        </member>
        <member name="M:OPF.Storages.OleDbStorage.CompileParameterCollection(OPF.ParameterCollection,System.Data.OleDb.OleDbParameterCollection,System.String)">
            <summary>
            Compiles parameter collection.
            </summary>
            <param name="ParameterCollection">The collection where to copy from.</param>
            <param name="OleDbParameterCollection">The Collection where to copy the parameter.</param>
            <param name="SQLCommandString">The SQLCommandString is needed to create the OleDBParameter as they
                                           don't support named parameters, but only parameters by index position.
                                           We need a parser who parses the string and compiles the parameter.
                                           Microsoft seems to force sql server :-).</param>
        </member>
        <member name="P:OPF.Storages.OleDbStorage.StorageServerName">
            <summary>
            Returns the name of the OleDb server if conntected, else returns "".
            </summary>
        </member>
        <member name="T:OPF.Storages.OdbcSqlStorage">
            <summary>
            Specific class for ODBC storages that use SQL as their query and update language.
            </summary>
        </member>
        <member name="M:OPF.Storages.OdbcSqlStorage.#ctor">
            <summary>
            Creates a new Odbc sql Storage.
            </summary>
        </member>
        <member name="M:OPF.Storages.OdbcSqlStorage.Finalize">
            <summary>
            Destroys an Odbc sql Storage. Closes all connections.
            </summary>
        </member>
        <member name="M:OPF.Storages.OdbcSqlStorage.Dispose">
            <summary>
            Frees the resources occupied by the storage class.
            </summary>
        </member>
        <member name="M:OPF.Storages.OdbcSqlStorage.Connect">
            <summary>
            Connect to the Odbc storage
            </summary>
        </member>
        <member name="M:OPF.Storages.OdbcSqlStorage.Disconnect">
            <summary>
            Disconnect from the Odbc storage.
            </summary>
        </member>
        <member name="M:OPF.Storages.OdbcSqlStorage.ExecCommand(System.String,OPF.ParameterCollection)">
            <summary>
            Execute a generic SQL command. Should be used only for Update, Insert and Delete
            commands. Use OpenDataset for Select queries.
            Returns the number of rows affected by command.
            </summary>
            <param name="SQLCommandString">The SQL command string to execute.</param>
            <param name="PColl">The parameter collection that contains the parameter values for the SQL command.</param>
        </member>
        <member name="M:OPF.Storages.OdbcSqlStorage.OpenDataSet(System.String)">
            <summary>
            Execute SQLQuery and return a dataset
            </summary>
            <param name="SQLQuery"></param>
            <returns>Returns a dataset containing the query result</returns>
        </member>
        <member name="M:OPF.Storages.OdbcSqlStorage.OpenDataSet(System.String,OPF.ParameterCollection)">
            <summary>
            Execute SQLQuery and return a dataset
            </summary>
            <param name="SqlQuery"></param>
            <param name="PColl"></param>
            <returns>Returns a dataset containing the query result</returns>
        </member>
        <member name="M:OPF.Storages.OdbcSqlStorage.StartTransaction">
            <summary>
            Starts a new transaction.
            </summary>
        </member>
        <member name="M:OPF.Storages.OdbcSqlStorage.Commit">
            <summary>
            Commits the active transaction.
            </summary>
        </member>
        <member name="M:OPF.Storages.OdbcSqlStorage.Rollback(System.Boolean)">
            <summary>
            Rollback the active transaction.
            </summary>
            <param name="MarkChanged">True to set back the objects.</param>
        </member>
        <member name="M:OPF.Storages.OdbcSqlStorage.IsConnected">
            <summary>
            Returns if the storage class is connected to a storage or not.
            </summary>
        </member>
        <member name="M:OPF.Storages.OdbcSqlStorage.CompileParameterCollection(OPF.ParameterCollection,Microsoft.Data.Odbc.OdbcParameterCollection,System.String)">
            <summary>
            Compiles parameter collection.
            </summary>
            <param name="ParameterCollection">The collection where to copy from.</param>
            <param name="OdbcParameterCollection">The Collection where to copy the parameter.</param>
            <param name="SQLCommandString">The SQLCommandString is needed to create the OdbcParameter as they
                                           don't support the named parameter, but only the index parameters.
                                           We need a parser who parses the string and compiles the parameter.
                                           damn microsoft, seems that they force sql server.</param>
        </member>
        <member name="P:OPF.Storages.OdbcSqlStorage.StorageServerName">
            <summary>
            Returns the name of the ODBC server if conntected, else returns "".
            </summary>
        </member>
        <member name="T:OPF.Storages.XmlStorage">
            <summary>
            Abstract class for Xml Storages. Each storage that handles Xml should be 
            derived from this storage.
            </summary>
        </member>
        <member name="T:OPF.Utils.Compression.CompressionLevel">
            <summary>
            Compression level. Can vary from fastest to best. Best means also
            the slowest mode of compression. Use Normal for the best of speed and space.
            </summary>
        </member>
        <member name="F:OPF.Utils.Compression.CompressionLevel.Fastest">
            <summary>Fastest compression level. Not so good for saving space.</summary>
        </member>
        <member name="F:OPF.Utils.Compression.CompressionLevel.Fast">
            <summary>Fast compression level. Better than fastest compression.</summary>
        </member>
        <member name="F:OPF.Utils.Compression.CompressionLevel.Normal">
            <summary>Normal compression level. Good for space and doesn't need much time.</summary>
        </member>
        <member name="F:OPF.Utils.Compression.CompressionLevel.Good">
            <summary>Good compression level. Good for space. Slower than normal.</summary>
        </member>
        <member name="F:OPF.Utils.Compression.CompressionLevel.Best">
            <summary>Best compression level. Good for space. Very slow.</summary>
        </member>
        <member name="T:OPF.Utils.Compression.DeflaterConstants">
            <summary>
            This class contains constants used for the deflater.
            </summary>
        </member>
        <member name="T:OPF.Utils.Compression.Deflater">
            <summary>
            This is the Deflater class.  The deflater class compresses input
            with the deflate algorithm described in RFC 1951.  It has several
            compression levels and three different strategies described below.
            
            This class is <i>not</i> thread safe.  This is inherent in the API, due
            to the split of deflate and setInput.
            
            author of the original java version : Jochen Hoenicke
            </summary>
        </member>
        <member name="F:OPF.Utils.Compression.Deflater.BEST_COMPRESSION">
            <summary>
            The best and slowest compression level.  This tries to find very
            long and distant string repetitions.
            </summary>
        </member>
        <member name="F:OPF.Utils.Compression.Deflater.BEST_SPEED">
            <summary>
            The worst but fastest compression level.
            </summary>
        </member>
        <member name="F:OPF.Utils.Compression.Deflater.DEFAULT_COMPRESSION">
            <summary>
            The default compression level.
            </summary>
        </member>
        <member name="F:OPF.Utils.Compression.Deflater.NO_COMPRESSION">
            <summary>
            This level won't compress at all but output uncompressed blocks.
            </summary>
        </member>
        <member name="F:OPF.Utils.Compression.Deflater.DEFLATED">
            <summary>
            The compression method.  This is the only method supported so far.
            There is no need to use this constant at all.
            </summary>
        </member>
        <member name="M:OPF.Utils.Compression.Deflater.#ctor">
            <summary>
            Creates a new deflater with given compression level.
            </summary>
        </member>
        <member name="M:OPF.Utils.Compression.Deflater.Reset">
            <summary>
            Resets the deflater.  The deflater acts afterwards as if it was just created with the same 
            compression level and strategy as it had before.
            </summary>
        </member>
        <member name="M:OPF.Utils.Compression.Deflater.Flush">
            <summary>
            Flushes the current input block.  Further calls to deflate() will produce enough output to 
            inflate everything in the current input block.  This is not part of Sun's JDK so I have made 
            it package private.  It is used by DeflaterOutputStream to implement flush().
            </summary>
        </member>
        <member name="M:OPF.Utils.Compression.Deflater.Finish">
            <summary>
            Finishes the deflater with the current input block.  It is an error to give more input after 
            this method was called.  This method must be called to force all bytes to be flushed.
            </summary>
        </member>
        <member name="M:OPF.Utils.Compression.Deflater.SetInput(System.Byte[])">
            <summary>
            Sets the data which should be compressed next.  This should be only called when needsInput 
            indicates that more input is required. If you call setInput when needsInput() returns false, the
            previous input that is still pending will be thrown away. The given byte array should not be 
            changed, before needsInput() returns true again.
            </summary>
            <param name="input">The buffer containing the input data.</param>
        </member>
        <member name="M:OPF.Utils.Compression.Deflater.SetInput(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Sets the data which should be compressed next.  This should be only called when needsInput indicates 
            that more input is required. The given byte array should not be changed, before needsInput() returns
            true again.
            </summary>
            <param name="input">The buffer containing the input data.</param>
            <param name="off">The start of the data.</param>
            <param name="len">The length of the data.</param>
        </member>
        <member name="M:OPF.Utils.Compression.Deflater.SetLevel(System.Int32)">
            <summary>
            Sets the compression level.  There is no guarantee of the exact position of the change, but if you 
            call this when needsInput is true the change of compression level will occur somewhere near
            before the end of the so far given input.
            </summary>
            <param name="lvl">The new compression level.</param>
        </member>
        <member name="M:OPF.Utils.Compression.Deflater.SetStrategy(OPF.Utils.Compression.DeflateStrategy)">
            <summary>
            Sets the compression strategy. Strategy is one of DEFAULT_STRATEGY, HUFFMAN_ONLY and FILTERED.
            For the exact position where the strategy is changed, the same as for setLevel() applies.
            </summary>
            <param name="stgy">The new compression strategy.</param>
        </member>
        <member name="M:OPF.Utils.Compression.Deflater.Deflate(System.Byte[])">
            <summary>
            Deflates the current input block to the given array.  It returns the number of bytes compressed, 
            or 0 if either needsInput() or finished() returns true or length is zero.
            </summary>
            <param name="output">
            the buffer where to write the compressed data.
            </param>
        </member>
        <member name="M:OPF.Utils.Compression.Deflater.Deflate(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Deflates the current input block to the given array.  It returns the number of bytes compressed, 
            or 0 if either needsInput() or finished() returns true or length is zero.
            </summary>
            <param name="output">The buffer where to write the compressed data.</param>
            <param name="offset">The offset into the output array.</param>
            <param name="length">The maximum number of bytes that may be written.</param>
        </member>
        <member name="M:OPF.Utils.Compression.Deflater.SetDictionary(System.Byte[])">
            <summary>
            Sets the dictionary which should be used in the deflate process.
            </summary>
            <param name="dict">The dictionary.</param>
        </member>
        <member name="M:OPF.Utils.Compression.Deflater.SetDictionary(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Sets the dictionary which should be used in the deflate process. The dictionary should be a 
            byte array containing strings that are likely to occur in the data which should be compressed. The
            dictionary is not stored in the compressed output, only a checksum.  To decompress the output you 
            need to supply the same dictionary again.
            </summary>
            <param name="dict">Rhe dictionary.</param>
            <param name="offset">An offset into the dictionary.</param>
            <param name="length">The length of the dictionary.</param>
        </member>
        <member name="P:OPF.Utils.Compression.Deflater.TotalIn">
            <summary>
            Gets the number of input bytes processed so far.
            </summary>
        </member>
        <member name="P:OPF.Utils.Compression.Deflater.TotalOut">
            <summary>
            Gets the number of output bytes so far.
            </summary>
        </member>
        <member name="P:OPF.Utils.Compression.Deflater.IsFinished">
            <summary>
            Returns true if the stream was finished and no more output bytes are available.
            </summary>
        </member>
        <member name="P:OPF.Utils.Compression.Deflater.IsNeedingInput">
            <summary>
            Returns true, if the input buffer is empty. You should then call setInput(). 
            NOTE: This method can also return true when the stream was finished.
            </summary>
        </member>
        <member name="T:OPF.Utils.Compression.DeflateStrategy">
            <summary>
            Contains the strategies for deflating.
            </summary>
        </member>
        <member name="F:OPF.Utils.Compression.DeflateStrategy.Default">
            <summary>The default strategy.</summary>
        </member>
        <member name="F:OPF.Utils.Compression.DeflateStrategy.Filtered">
            <summary>This strategy will only allow longer string repetitions. It is useful for random data 
            with a small character set.</summary>
        </member>
        <member name="F:OPF.Utils.Compression.DeflateStrategy.HuffmanOnly">
            <summary>This strategy will not look for string repetitions at all.  It only encodes with 
            Huffman trees (which means, that more common characters get a smaller encoding.</summary>
        </member>
        <member name="T:OPF.Utils.Compression.DeflaterEngine">
            <summary>
            DeflaterEnginge is the engine that deflates the decompressed input stream.
            </summary>
        </member>
        <member name="M:OPF.Utils.Compression.DeflaterEngine.#ctor(OPF.Utils.Compression.DeflaterPending)">
            <summary>
            Constructor creates a new engine with a deflater pending.
            </summary>
            <param name="pending">The deflater pending set for this engine.</param>
        </member>
        <member name="M:OPF.Utils.Compression.DeflaterEngine.Reset">
            <summary>
            Resets the engine. Sets all the whole engine back to the start situation.
            </summary>
        </member>
        <member name="M:OPF.Utils.Compression.DeflaterEngine.SetLevel(System.Int32)">
            <summary>
            Sets the level for compression.
            </summary>
            <param name="lvl">Level to be set.</param>
        </member>
        <member name="M:OPF.Utils.Compression.DeflaterEngine.FillWindow">
            <summary>
            Fills the window.
            </summary>
        </member>
        <member name="M:OPF.Utils.Compression.DeflaterEngine.SetDictionary(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Sets the dictionary for the deflater engine.
            </summary>
            <param name="buffer"></param>
            <param name="offset"></param>
            <param name="length"></param>
        </member>
        <member name="M:OPF.Utils.Compression.DeflaterEngine.Deflate(System.Boolean,System.Boolean)">
            <summary>
            Deflates the given byte array and returns true, if all was okay.
            </summary>
            <param name="flush">Flushs at the end.</param>
            <param name="finish">Finishes.</param>
        </member>
        <member name="M:OPF.Utils.Compression.DeflaterEngine.SetInput(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Sets the input byte array.
            </summary>
            <param name="buf">Byte array to set.</param>
            <param name="off">Offset.</param>
            <param name="len">Length to read of the bytearray given as first parameter.</param>
        </member>
        <member name="M:OPF.Utils.Compression.DeflaterEngine.NeedsInput">
            <summary>
            Sets if input is needed or not.
            </summary>
        </member>
        <member name="P:OPF.Utils.Compression.DeflaterEngine.TotalIn">
            <summary>
            Gets the number of input bytes processed so far.
            </summary>
        </member>
        <member name="P:OPF.Utils.Compression.DeflaterEngine.Strategy">
            <summary>
            Sets and returns the deflate strategy.
            </summary>
        </member>
        <member name="T:OPF.Utils.Compression.DeflaterPending">
            <summary>
            This class stores the pending output of the Deflater.
            Author of the original java version : Jochen Hoenicke
            </summary>
        </member>
        <member name="M:OPF.Utils.Compression.DeflaterPending.#ctor">
            <summary>
            Constructor.
            </summary>
        </member>
        <member name="M:OPF.Utils.Compression.DeflaterPending.#ctor(System.Int32)">
            <summary>
            Constructor. It is also possible to set the buffer size.
            </summary>
            <param name="bufsize">Buffer size.</param>
        </member>
        <member name="M:OPF.Utils.Compression.DeflaterPending.Reset">
            <summary>
            Resets the deflater pending.
            </summary>
        </member>
        <member name="M:OPF.Utils.Compression.DeflaterPending.WriteByte(System.Int32)">
            <summary>
            Writes the byte given as integer to the buffer.
            </summary>
            <param name="b">Integer of the byte you want to be added.</param>
        </member>
        <member name="M:OPF.Utils.Compression.DeflaterPending.WriteShort(System.Int32)">
            <summary>
            Writes the short given as integer to the buffer.
            </summary>
            <param name="s">Short given as integer.</param>
        </member>
        <member name="M:OPF.Utils.Compression.DeflaterPending.WriteInt(System.Int32)">
            <summary>
            Writes the integer given as integer to the buffer.
            </summary>
            <param name="s">Integer given.</param>
        </member>
        <member name="M:OPF.Utils.Compression.DeflaterPending.WriteBlock(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Writes the block given as array to the buffer.
            </summary>
            <param name="block">Array to write to the buffer.</param>
            <param name="offset">Offset. Sets the beginning of the reading.</param>
            <param name="len">The length to read from offset.</param>
        </member>
        <member name="M:OPF.Utils.Compression.DeflaterPending.AlignToByte">
            <summary>
            Alings to byte.
            </summary>
        </member>
        <member name="M:OPF.Utils.Compression.DeflaterPending.WriteBits(System.Int32,System.Int32)">
            <summary>
            Writes bits to the buffer.
            </summary>
            <param name="b"></param>
            <param name="count"></param>
        </member>
        <member name="M:OPF.Utils.Compression.DeflaterPending.WriteShortMSB(System.Int32)">
            <summary>
            Writes a short most significant bit to the buffer.
            </summary>
            <param name="s">Bit given as integer.</param>
        </member>
        <member name="M:OPF.Utils.Compression.DeflaterPending.Flush(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Flushes the pending buffer into the given output array.  If the output array is to small, only a 
            partial flush is done.
            </summary>
            <param name="output">The output array.</param>
            <param name="offset">The offset into output array.</param>
            <param name="length">Length the maximum number of bytes to store.</param>
        </member>
        <member name="M:OPF.Utils.Compression.DeflaterPending.ToByteArray">
            <summary>
            Returns the buffer as byte array.
            </summary>
        </member>
        <member name="P:OPF.Utils.Compression.DeflaterPending.BitCount">
            <summary>
            Retruns the amount of bits.
            </summary>
        </member>
        <member name="P:OPF.Utils.Compression.DeflaterPending.IsFlushed">
            <summary>
            Returns if the buffer is flushed or not.
            </summary>
        </member>
        <member name="T:OPF.Utils.Compression.DeflaterHuffman">
            <summary>
            This is the DeflaterHuffman class.
            This class is <i>not</i> thread safe.  This is inherent in the API, due
            to the split of deflate and setInput.
            Author of the original java version : Jochen Hoenicke
            </summary>
        </member>
        <member name="F:OPF.Utils.Compression.DeflaterHuffman.pending">
            <summary>
            Deflater pending.
            </summary>
        </member>
        <member name="M:OPF.Utils.Compression.DeflaterHuffman.BitReverse(System.Int32)">
            <summary>
            Reverse the bits of a 16 bit value.
            </summary>
        </member>
        <member name="M:OPF.Utils.Compression.DeflaterHuffman.#ctor(OPF.Utils.Compression.DeflaterPending)">
            <summary>
            Deflates the tree.
            </summary>
            <param name="pending">The deflate pending.</param>
        </member>
        <member name="M:OPF.Utils.Compression.DeflaterHuffman.Reset">
            <summary>
            Resets the Huffman deflater.
            </summary>
        </member>
        <member name="M:OPF.Utils.Compression.DeflaterHuffman.SendAllTrees(System.Int32)">
            <summary>
            Builds all trees.
            </summary>
            <param name="blTreeCodes">Codes for build.</param>
        </member>
        <member name="M:OPF.Utils.Compression.DeflaterHuffman.CompressBlock">
            <summary>
            Compresses blocks.
            </summary>
        </member>
        <member name="M:OPF.Utils.Compression.DeflaterHuffman.FlushStoredBlock(System.Byte[],System.Int32,System.Int32,System.Boolean)">
            <summary>
            Flushes to a stored block given as parameter.
            </summary>
            <param name="stored">Stored block to flush to.</param>
            <param name="stored_offset">Offset where to start.</param>
            <param name="stored_len">Length starting from offset.</param>
            <param name="lastBlock">True to flush last block too.</param>
        </member>
        <member name="M:OPF.Utils.Compression.DeflaterHuffman.FlushBlock(System.Byte[],System.Int32,System.Int32,System.Boolean)">
            <summary>
            Flushes to a block given as parameter.
            </summary>
            <param name="stored">Stored block to flush to.</param>
            <param name="stored_offset">Offset where to start.</param>
            <param name="stored_len">Length starting from offset.</param>
            <param name="lastBlock">True to flush last block too.</param>
        </member>
        <member name="M:OPF.Utils.Compression.DeflaterHuffman.IsFull">
            <summary>
            Returns true if the tree is full.
            </summary>
            <returns></returns>
        </member>
        <member name="M:OPF.Utils.Compression.DeflaterHuffman.TallyLit(System.Int32)">
            <summary>
            
            </summary>
            <param name="lit"></param>
            <returns></returns>
        </member>
        <member name="M:OPF.Utils.Compression.DeflaterHuffman.TallyDist(System.Int32,System.Int32)">
            <summary>
            
            </summary>
            <param name="dist"></param>
            <param name="len"></param>
            <returns></returns>
        </member>
        <member name="T:OPF.Utils.Compression.DeflaterHuffman.Tree">
            <summary>
            Huffman tree class. Contains a Huffman tree.
            </summary>
        </member>
        <member name="F:OPF.Utils.Compression.DeflaterHuffman.Tree.freqs">
            <summary></summary>
        </member>
        <member name="F:OPF.Utils.Compression.DeflaterHuffman.Tree.codes">
            <summary></summary>
        </member>
        <member name="F:OPF.Utils.Compression.DeflaterHuffman.Tree.length">
            <summary></summary>
        </member>
        <member name="F:OPF.Utils.Compression.DeflaterHuffman.Tree.bl_counts">
            <summary></summary>
        </member>
        <member name="F:OPF.Utils.Compression.DeflaterHuffman.Tree.minNumCodes">
            <summary></summary>
        </member>
        <member name="F:OPF.Utils.Compression.DeflaterHuffman.Tree.numCodes">
            <summary></summary>
        </member>
        <member name="F:OPF.Utils.Compression.DeflaterHuffman.Tree.maxLength">
            <summary></summary>
        </member>
        <member name="M:OPF.Utils.Compression.DeflaterHuffman.Tree.#ctor(OPF.Utils.Compression.DeflaterHuffman,System.Int32,System.Int32,System.Int32)">
            <summary>
            Constructor. Allows also to set a deflater.
            </summary>
            <param name="dh"></param>
            <param name="elems"></param>
            <param name="minCodes"></param>
            <param name="maxLength"></param>
        </member>
        <member name="M:OPF.Utils.Compression.DeflaterHuffman.Tree.Reset">
            <summary>
            Resets the tree.
            </summary>
        </member>
        <member name="M:OPF.Utils.Compression.DeflaterHuffman.Tree.WriteSymbol(System.Int32)">
            <summary>
            Writes a symbol given as code.
            </summary>
            <param name="code">Code of the symbol.</param>
        </member>
        <member name="M:OPF.Utils.Compression.DeflaterHuffman.Tree.CheckEmpty">
            <summary>
            Checks the tree of beeing empty.
            </summary>
        </member>
        <member name="M:OPF.Utils.Compression.DeflaterHuffman.Tree.SetStaticCodes(System.Int16[],System.Byte[])">
            <summary>
            Sets static codes
            </summary>
            <param name="stCodes">Array of codes.</param>
            <param name="stLength">Length of the codes.</param>
        </member>
        <member name="M:OPF.Utils.Compression.DeflaterHuffman.Tree.BuildCodes">
            <summary>
            Builds the codes.
            </summary>
        </member>
        <member name="M:OPF.Utils.Compression.DeflaterHuffman.Tree.BuildTree">
            <summary>
            Builds the Huffman tree.
            </summary>
        </member>
        <member name="M:OPF.Utils.Compression.DeflaterHuffman.Tree.GetEncodedLength">
            <summary>
            Returns the encoded length of the tree.
            </summary>
            <returns></returns>
        </member>
        <member name="M:OPF.Utils.Compression.DeflaterHuffman.Tree.CalcBLFreq(OPF.Utils.Compression.DeflaterHuffman.Tree)">
            <summary>
            
            </summary>
            <param name="blTree"></param>
        </member>
        <member name="M:OPF.Utils.Compression.DeflaterHuffman.Tree.WriteTree(OPF.Utils.Compression.DeflaterHuffman.Tree)">
            <summary>
            Writes the tree to the Tree given.
            </summary>
            <param name="blTree">Tree to write.</param>
        </member>
        <member name="T:OPF.Utils.Compression.DeflaterOutputStream">
            <summary>
            This is a special FilterOutputStream deflating the bytes that are
            written through it.  It uses the Deflater for deflating.
            Authors of the original java version : Tom Tromey, Jochen Hoenicke 
            </summary>
        </member>
        <member name="F:OPF.Utils.Compression.DeflaterOutputStream.buf">
            <summary>This buffer is used temporarily to retrieve the bytes from the deflater and write them to 
            the underlying output stream.</summary>
        </member>
        <member name="F:OPF.Utils.Compression.DeflaterOutputStream.def">
            <summary>The deflater which is used to deflate the stream.</summary>
        </member>
        <member name="F:OPF.Utils.Compression.DeflaterOutputStream.baseOutputStream">
            <summary>Base stream the deflater depends on.</summary>
        </member>
        <member name="M:OPF.Utils.Compression.DeflaterOutputStream.Seek(System.Int64,System.IO.SeekOrigin)">
            <summary>I needed to implement the abstract member.</summary>
        </member>
        <member name="M:OPF.Utils.Compression.DeflaterOutputStream.SetLength(System.Int64)">
            <summary>I needed to implement the abstract member.</summary>
        </member>
        <member name="M:OPF.Utils.Compression.DeflaterOutputStream.ReadByte">
            <summary>I needed to implement the abstract member.</summary>
        </member>
        <member name="M:OPF.Utils.Compression.DeflaterOutputStream.Read(System.Byte[],System.Int32,System.Int32)">
            <summary>I needed to implement the abstract member.</summary>
        </member>
        <member name="M:OPF.Utils.Compression.DeflaterOutputStream.deflate">
            <summary>
            Deflates everything in the def's input buffers.  This will call <code>def.deflate()</code> 
            until all bytes from the input buffers are processed.
            </summary>
        </member>
        <member name="M:OPF.Utils.Compression.DeflaterOutputStream.#ctor(System.IO.Stream)">
            <summary>
            Creates a new DeflaterOutputStream with a default Deflater and default buffer size.
            </summary>
            <param name="baseOutputStream">The output stream where deflated output should be written.</param>
        </member>
        <member name="M:OPF.Utils.Compression.DeflaterOutputStream.#ctor(System.IO.Stream,OPF.Utils.Compression.Deflater)">
            <summary>
            Creates a new DeflaterOutputStream with the given Deflater and default buffer size.
            </summary>
            <param name="baseOutputStream">The output stream where deflated output should be written.</param>
            <param name="defl">The underlying deflater.</param>
        </member>
        <member name="M:OPF.Utils.Compression.DeflaterOutputStream.#ctor(System.IO.Stream,OPF.Utils.Compression.Deflater,System.Int32)">
            <summary>
            Creates a new DeflaterOutputStream with the given Deflater and buffer size.
            </summary>
            <param name="baseOutputStream">The output stream where deflated output should be written.</param>
            <param name="defl">The underlying deflater.</param>
            <param name="bufsize">The buffer size.</param>
        </member>
        <member name="M:OPF.Utils.Compression.DeflaterOutputStream.Flush">
            <summary>
            Flushes the stream by calling flush() on the deflater and then on the underlying stream. 
            This ensures that all bytes are flushed.
            </summary>
        </member>
        <member name="M:OPF.Utils.Compression.DeflaterOutputStream.Finish">
            <summary>
            Finishes the stream by calling finish() on the deflater. 
            </summary>
        </member>
        <member name="M:OPF.Utils.Compression.DeflaterOutputStream.Close">
            <summary>
            Calls finish () and closes the stream.
            </summary>
        </member>
        <member name="M:OPF.Utils.Compression.DeflaterOutputStream.WriteByte(System.Byte)">
            <summary>
            Writes a single byte to the compressed output stream.
            </summary>
            <param name="bval">The byte value.</param>
        </member>
        <member name="M:OPF.Utils.Compression.DeflaterOutputStream.Write(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Writes a len bytes from an array to the compressed stream.
            </summary>
            <param name="buf">The byte array.</param>
            <param name="off">The offset into the byte array where to start.</param>
            <param name="len">The number of bytes to write.</param>
        </member>
        <member name="P:OPF.Utils.Compression.DeflaterOutputStream.CanRead">
            <summary>I needed to implement the abstract member.</summary>
        </member>
        <member name="P:OPF.Utils.Compression.DeflaterOutputStream.CanSeek">
            <summary>I needed to implement the abstract member.</summary>
        </member>
        <member name="P:OPF.Utils.Compression.DeflaterOutputStream.CanWrite">
            <summary>I needed to implement the abstract member.</summary>
        </member>
        <member name="P:OPF.Utils.Compression.DeflaterOutputStream.Length">
            <summary>I needed to implement the abstract member.</summary>
        </member>
        <member name="P:OPF.Utils.Compression.DeflaterOutputStream.Position">
            <summary>I needed to implement the abstract member.</summary>
        </member>
        <member name="T:OPF.Utils.Compression.GZipConstants">
            <summary>
            This class contains constants used for gzip.
            </summary>
        </member>
        <member name="F:OPF.Utils.Compression.GZipConstants.FTEXT">
            <summary></summary>
        </member>
        <member name="F:OPF.Utils.Compression.GZipConstants.FHCRC">
            <summary></summary>
        </member>
        <member name="F:OPF.Utils.Compression.GZipConstants.FEXTRA">
            <summary></summary>
        </member>
        <member name="F:OPF.Utils.Compression.GZipConstants.FNAME">
            <summary></summary>
        </member>
        <member name="F:OPF.Utils.Compression.GZipConstants.FCOMMENT">
            <summary></summary>
        </member>
        <member name="F:OPF.Utils.Compression.GZipConstants.GZIP_MAGIC">
            <summary>
            Magic number found at start of GZIP header
            </summary>
        </member>
        <member name="T:OPF.Utils.Compression.GZipOutputStream">
            <summary>
            This filter stream is used to compress a stream into a "GZIP" stream.
            The "GZIP" format is described in RFC 1952.
            
            author of the original java version : John Leuner
            </summary>
            <example> This sample shows how to gzip a file
            <code>
            using System;
            using System.IO;
            
            using NZlib.GZip;
            
            class MainClass
            {
            	public static void Main(string[] args)
            	{
            		Stream s = new GZipOutputStream(File.Create(args[0] + ".gz"));
            		FileStream fs = File.OpenRead(args[0]);
            		byte[] writeData = new byte[fs.Length];
            		fs.Read(writeData, 0, (int)fs.Length);
            		s.Write(writeData, 0, writeData.Length);
            		s.Close();
            	}
            }	
            </code>
            </example>
        </member>
        <member name="F:OPF.Utils.Compression.GZipOutputStream.crc">
            <summary>
            CRC-32 value for uncompressed data
            </summary>
        </member>
        <member name="M:OPF.Utils.Compression.GZipOutputStream.#ctor(System.IO.Stream)">
            <summary>
            Creates a GzipOutputStream with the default buffer size
            </summary>
            <param name="baseOutputStream">
            The stream to read data (to be compressed) from
            </param>
        </member>
        <member name="M:OPF.Utils.Compression.GZipOutputStream.#ctor(System.IO.Stream,System.Int32)">
            <summary>
            Creates a GZIPOutputStream with the specified buffer size
            </summary>
            <param name="baseOutputStream">The stream to read data (to be compressed) from.</param>
            <param name="size">Size of the buffer to use.</param>
        </member>
        <member name="M:OPF.Utils.Compression.GZipOutputStream.Write(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Writes the buffer from offset.
            </summary>
            <param name="buf">Buffer to write.</param>
            <param name="off">Offset where to begin to write.</param>
            <param name="len">Amount (Length) of bytes to write.</param>
        </member>
        <member name="M:OPF.Utils.Compression.GZipOutputStream.Close">
            <summary>
            Writes remaining compressed output data to the output stream and closes it.
            </summary>
        </member>
        <member name="M:OPF.Utils.Compression.GZipOutputStream.Finish">
            <summary>
            Finishes writing. Writes the footer and other stuff.
            </summary>
        </member>
        <member name="T:OPF.Utils.Compression.GZipInputStream">
            <summary>
            This filter stream is used to decompress a "GZIP" format stream.
            The "GZIP" format is described baseInputStream RFC 1952.
            
            author of the original java version : John Leuner
            </summary>
            <example> This sample shows how to unzip a gzipped file
            <code>
            using System;
            using System.IO;
            
            using NZlib.GZip;
            
            class MainClass
            {
            	public static void Main(string[] args)
            	{
            		Stream s = new GZipInputStream(File.OpenRead(args[0]));
            		FileStream fs = File.Create(Path.GetFileNameWithoutExtension(args[0]));
            		int size = 2048;
            		byte[] writeData = new byte[2048];
            		while (true) {
            			size = s.Read(writeData, 0, size);
            			if (size > 0) {
            				fs.Write(writeData, 0, size);
            			} else {
            				break;
            			}
            		}
            		s.Close();
            	}
            }	
            </code>
            </example>
        </member>
        <member name="T:OPF.Utils.Compression.InflaterInputStream">
            <summary>
            This filter stream is used to decompress data compressed baseInputStream the "deflate"
            format. The "deflate" format is described baseInputStream RFC 1951.
            
            This stream may form the basis for other decompression filters, such
            as the <code>GzipInputStream</code>.
            
            author of the original java version : John Leuner
            </summary>
        </member>
        <member name="F:OPF.Utils.Compression.InflaterInputStream.inf">
            <summary>Decompressor for this filter.</summary>
        </member>
        <member name="F:OPF.Utils.Compression.InflaterInputStream.buf">
            <summary>Byte array used as a buffer.</summary>
        </member>
        <member name="F:OPF.Utils.Compression.InflaterInputStream.len">
            <summary>Size of buffer.</summary>
        </member>
        <member name="F:OPF.Utils.Compression.InflaterInputStream.baseInputStream">
            <summary>Base stream the inflater depends on.</summary>
        </member>
        <member name="M:OPF.Utils.Compression.InflaterInputStream.Flush">
            <summary>I needed to implement the abstract member.</summary>
        </member>
        <member name="M:OPF.Utils.Compression.InflaterInputStream.Seek(System.Int64,System.IO.SeekOrigin)">
            <summary>I needed to implement the abstract member.</summary>
        </member>
        <member name="M:OPF.Utils.Compression.InflaterInputStream.SetLength(System.Int64)">
            <summary>I needed to implement the abstract member.</summary>
        </member>
        <member name="M:OPF.Utils.Compression.InflaterInputStream.Write(System.Byte[],System.Int32,System.Int32)">
            <summary>I needed to implement the abstract member.</summary>
        </member>
        <member name="M:OPF.Utils.Compression.InflaterInputStream.WriteByte(System.Byte)">
            <summary>I needed to implement the abstract member.</summary>
        </member>
        <member name="M:OPF.Utils.Compression.InflaterInputStream.#ctor(System.IO.Stream)">
            <summary>
            Create an InflaterInputStream with the default decompresseor and a default buffer size.
            </summary>
            <param name="baseInputStream">The InputStream to read bytes from.</param>
        </member>
        <member name="M:OPF.Utils.Compression.InflaterInputStream.#ctor(System.IO.Stream,OPF.Utils.Compression.Inflater)">
            <summary>
            Create an InflaterInputStream with the specified decompresseor and a default buffer size.
            </summary>
            <param name="baseInputStream">The InputStream to read bytes from.</param>
            <param name="inf">The decompressor used to decompress data read from baseInputStream.</param>
        </member>
        <member name="M:OPF.Utils.Compression.InflaterInputStream.#ctor(System.IO.Stream,OPF.Utils.Compression.Inflater,System.Int32)">
            <summary>
            Create an InflaterInputStream with the specified decompresseor and a specified buffer size.
            </summary>
            <param name="baseInputStream">The InputStream to read bytes from.</param>
            <param name="inf">The decompressor used to decompress data read from baseInputStream.</param>
            <param name="size">Size of the buffer to use.</param>
        </member>
        <member name="M:OPF.Utils.Compression.InflaterInputStream.Close">
            <summary>
            Closes the input stream
            </summary>
        </member>
        <member name="M:OPF.Utils.Compression.InflaterInputStream.Fill">
            <summary>
            Fills the buffer with more data to decompress.
            </summary>
        </member>
        <member name="M:OPF.Utils.Compression.InflaterInputStream.ReadByte">
            <summary>
            Reads one byte of decompressed data. The byte is baseInputStream the lower 8 bits of the int.
            </summary>
        </member>
        <member name="M:OPF.Utils.Compression.InflaterInputStream.Read(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Decompresses data into the byte array
            </summary>
            <param name="b">The array to read and decompress data into.</param>
            <param name="off">The offset indicating where the data should be placed.</param>
            <param name="len">The number of bytes to decompress.</param>
        </member>
        <member name="M:OPF.Utils.Compression.InflaterInputStream.Skip(System.Int64)">
            <summary>
            Skip specified number of bytes of uncompressed data
            </summary>
            <param name="n">Number of bytes to skip.</param>
        </member>
        <member name="P:OPF.Utils.Compression.InflaterInputStream.CanRead">
            <summary>I needed to implement the abstract member.</summary>
        </member>
        <member name="P:OPF.Utils.Compression.InflaterInputStream.CanSeek">
            <summary>I needed to implement the abstract member.</summary>
        </member>
        <member name="P:OPF.Utils.Compression.InflaterInputStream.CanWrite">
            <summary>I needed to implement the abstract member.</summary>
        </member>
        <member name="P:OPF.Utils.Compression.InflaterInputStream.Length">
            <summary>I needed to implement the abstract member.</summary>
        </member>
        <member name="P:OPF.Utils.Compression.InflaterInputStream.Position">
            <summary>I needed to implement the abstract member.</summary>
        </member>
        <member name="P:OPF.Utils.Compression.InflaterInputStream.Available">
            <summary>
            Returns 0 once the end of the stream (EOF) has been reached. Otherwise returns 1.
            </summary>
        </member>
        <member name="F:OPF.Utils.Compression.GZipInputStream.crc">
            <summary>CRC-32 value for uncompressed data.</summary>
        </member>
        <member name="F:OPF.Utils.Compression.GZipInputStream.eos">
            <summary>Indicates end of stream.</summary>
        </member>
        <member name="M:OPF.Utils.Compression.GZipInputStream.#ctor(System.IO.Stream)">
            <summary>
            Creates a GzipInputStream with the default buffer size
            </summary>
            <param name="baseInputStream">The stream to read compressed data from (baseInputStream 
            GZIP format).</param>
        </member>
        <member name="M:OPF.Utils.Compression.GZipInputStream.#ctor(System.IO.Stream,System.Int32)">
            <summary>
            Creates a GZIPInputStream with the specified buffer size
            </summary>
            <param name="baseInputStream">The stream to read compressed data from (baseInputStream 
            GZIP format).</param>
            <param name="size">Size of the buffer to use.</param>
        </member>
        <member name="M:OPF.Utils.Compression.GZipInputStream.Read(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Reads uncompressed data into an array of bytes
            </summary>
            <param name="buf">The buffer to read uncompressed data into.</param>
            <param name="offset">The offset indicating where the data should be placed.</param>
            <param name="len">The number of uncompressed bytes to be read.</param>
        </member>
        <member name="M:OPF.Utils.Compression.GZipInputStream.ReadHeader">
            <summary>
            Reads the header of the gzip file.
            </summary>
        </member>
        <member name="M:OPF.Utils.Compression.GZipInputStream.ReadFooter">
            <summary>
            Reads the footer of the gzip file.
            </summary>
        </member>
        <member name="T:OPF.Utils.Compression.Inflater">
            <summary>
            Inflater is used to decompress data that has been compressed according
            to the "deflate" standard described in rfc1950.
            
            The usage is as following.  First you have to set some input with
            <code>setInput()</code>, then inflate() it.  If inflate doesn't
            inflate any bytes there may be three reasons:
            <ul>
            <li>needsInput() returns true because the input buffer is empty.
            You have to provide more input with <code>setInput()</code>.
            NOTE: needsInput() also returns true when, the stream is finished.
            </li>
            <li>needsDictionary() returns true, you have to provide a preset
               dictionary with <code>setDictionary()</code>.</li>
            <li>finished() returns true, the inflater has finished.</li>
            </ul>
            Once the first output byte is produced, a dictionary will not be
            needed at a later stage.
            
            author of the original java version : John Leuner, Jochen Hoenicke
            </summary>
        </member>
        <member name="F:OPF.Utils.Compression.Inflater.DECODE_HEADER">
            <summary>This are the state in which the inflater can be.</summary>
        </member>
        <member name="F:OPF.Utils.Compression.Inflater.CPLENS">
            <summary>Copy lengths for literal codes 257..285.</summary>
        </member>
        <member name="F:OPF.Utils.Compression.Inflater.CPLEXT">
            <summary>Extra bits for literal codes 257..285.</summary>
        </member>
        <member name="F:OPF.Utils.Compression.Inflater.CPDIST">
            <summary>Copy offsets for distance codes 0..29.</summary>
        </member>
        <member name="F:OPF.Utils.Compression.Inflater.CPDEXT">
            <summary>Extra bits for distance codes.</summary>
        </member>
        <member name="F:OPF.Utils.Compression.Inflater.mode">
            <summary>This variable contains the current state.</summary>
        </member>
        <member name="F:OPF.Utils.Compression.Inflater.neededBits">
            <summary>
            The number of bits needed to complete the current state.  This is valid, if mode is DECODE_DICT, 
            DECODE_CHKSUM, DECODE_HUFFMAN_LENBITS or DECODE_HUFFMAN_DISTBITS.
            </summary>
        </member>
        <member name="F:OPF.Utils.Compression.Inflater.isLastBlock">
            <summary>
            True, if the last block flag was set in the last block of the inflated stream.  This means 
            that the stream ends after the current block.
            </summary>
        </member>
        <member name="F:OPF.Utils.Compression.Inflater.totalOut">
            <summary>
            The total number of inflated bytes.
            </summary>
        </member>
        <member name="F:OPF.Utils.Compression.Inflater.totalIn">
            <summary>
            The total number of bytes set with setInput().  This is not the value returned by getTotalIn(), 
            since this also includes the unprocessed input.
            </summary>
        </member>
        <member name="M:OPF.Utils.Compression.Inflater.#ctor">
            <summary>
            Creates a new inflater.
            </summary>
        </member>
        <member name="M:OPF.Utils.Compression.Inflater.Reset">
            <summary>
            Resets the inflater so that a new stream can be decompressed.  All pending input and output will 
            be discarded.
            </summary>
        </member>
        <member name="M:OPF.Utils.Compression.Inflater.DecodeHuffman">
            <summary>
            Decodes the huffman encoded symbols in the input stream. Returns false if more input is needed, 
            true if output window is full or the current block ends.
            </summary>
        </member>
        <member name="M:OPF.Utils.Compression.Inflater.Decode">
            <summary>
            Decodes the deflated stream. Returns false if more input is needed, or if finished.
            </summary>
        </member>
        <member name="M:OPF.Utils.Compression.Inflater.SetInput(System.Byte[])">
            <summary>
            Sets the input.  This should only be called, if needsInput() returns true.
            </summary>
            <param name="buf">The input.</param>
        </member>
        <member name="M:OPF.Utils.Compression.Inflater.SetInput(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Sets the input.  This should only be called, if needsInput() returns true.
            </summary>
            <param name="buf">The input.</param>
            <param name="off">The offset into buffer where the input starts.</param>
            <param name="len">The length of the input.</param>
        </member>
        <member name="M:OPF.Utils.Compression.Inflater.Inflate(System.Byte[])">
            <summary>
            Inflates the compressed stream to the output buffer.  If this returns 0, you should check, 
            whether needsDictionary(), needsInput() or finished() returns true, to determine why no
            further output is produced.
            Returns the number of bytes written to the buffer, 0 if no further output can be produced.
            </summary>
            <param name = "buf">The output buffer.</param>
        </member>
        <member name="M:OPF.Utils.Compression.Inflater.Inflate(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Inflates the compressed stream to the output buffer.  If this returns 0, you should check, 
            whether needsDictionary(), needsInput() or finished() returns true, to determine why no
            further output is produced.
            Returns the number of bytes written to the buffer, 0 if no further output can be produced.
            </summary>
            <param name = "buf">The output buffer.</param>
            <param name = "off">The offset into buffer where the output should start.</param>
            <param name = "len">The maximum length of the output.</param>
        </member>
        <member name="P:OPF.Utils.Compression.Inflater.IsNeedingInput">
            <summary>
            Returns true, if the input buffer is empty. You should then call setInput(). 
            NOTE: This method also returns true when the stream is finished.
            </summary>
        </member>
        <member name="P:OPF.Utils.Compression.Inflater.IsNeedingDictionary">
            <summary>
            Returns true, if a preset dictionary is needed to inflate the input.
            </summary>
        </member>
        <member name="P:OPF.Utils.Compression.Inflater.IsFinished">
            <summary>
            Returns true, if the inflater has finished.  This means, that no input is needed and no output can 
            be produced.
            </summary>
        </member>
        <member name="P:OPF.Utils.Compression.Inflater.TotalOut">
            <summary>
            Gets the total number of output bytes returned by inflate(). Returns the total number of output bytes.
            </summary>
        </member>
        <member name="P:OPF.Utils.Compression.Inflater.TotalIn">
            <summary>
            Gets the total number of processed compressed input bytes. Returns the total number of bytes of 
            processed input bytes.
            </summary>
        </member>
        <member name="P:OPF.Utils.Compression.Inflater.RemainingInput">
            <summary>
            Gets the number of unprocessed input.  Useful, if the end of the stream is reached and you want 
            to further process the bytes after the deflate stream.
            Returns the number of bytes of the input which were not processed.
            </summary>
        </member>
        <member name="T:OPF.Utils.Compression.StreamManipulator">
            <summary>
            This class allows us to retrieve a specified amount of bits from
            the input buffer, as well as copy big byte blocks.
            
            It uses an int buffer to store up to 31 bits for direct
            manipulation.  This guarantees that we can get at least 16 bits,
            but we only need at most 15, so this is all safe.
            
            There are some optimizations in this class, for example, you must
            never peek more then 8 bits more than needed, and you must first
            peek bits before you may drop them.  This is not a general purpose
            class but optimized for the behaviour of the Inflater.
            
            authors of the original java version : John Leuner, Jochen Hoenicke
            </summary>
        </member>
        <member name="M:OPF.Utils.Compression.StreamManipulator.PeekBits(System.Int32)">
            <summary>
            Get the next n bits but don't increase input pointer.  n must be less or equal 16 and if you if 
            this call succeeds, you must drop at least n-8 bits in the next call.
            Returns the value of the bits, or -1 if not enough bits available.
            </summary>
        </member>
        <member name="M:OPF.Utils.Compression.StreamManipulator.DropBits(System.Int32)">
            <summary>
            Drops the next n bits from the input.  You should have called peekBits with a bigger or equal n 
            before, to make sure that enough bits are in the bit buffer.
            </summary>
        </member>
        <member name="M:OPF.Utils.Compression.StreamManipulator.GetBits(System.Int32)">
            <summary>
            Gets the next n bits and increases input pointer.  This is equivalent to peekBits followed by 
            dropBits, except for correct error handling.
            Returns the value of the bits, or -1 if not enough bits available.
            </summary>
        </member>
        <member name="M:OPF.Utils.Compression.StreamManipulator.SkipToByteBoundary">
            <summary>
            Skips to the next byte boundary.
            </summary>
        </member>
        <member name="M:OPF.Utils.Compression.StreamManipulator.CopyBytes(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Copies length bytes from input buffer to output buffer starting at output[offset].  You have to 
            make sure, that the buffer is byte aligned.  If not enough bytes are available, copies fewer
            bytes.
            Returns the number of bytes copied, 0 if no byte is available.
            </summary>
            <param name="output">The buffer.</param>
            <param name="offset">The offset in the buffer.</param>
            <param name="length">The length to copy, 0 is allowed.</param>
        </member>
        <member name="M:OPF.Utils.Compression.StreamManipulator.Reset">
            <summary>
            Resets the stream manipulator.
            </summary>
        </member>
        <member name="M:OPF.Utils.Compression.StreamManipulator.SetInput(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Sets the input for the stream manipulator.
            </summary>
            <param name="buf">Buffer.</param>
            <param name="off">Offset where to start to read from buffer.</param>
            <param name="len">Length of reading from buffer.</param>
        </member>
        <member name="P:OPF.Utils.Compression.StreamManipulator.AvailableBits">
            <summary>
            Gets the number of bits available in the bit buffer.  This must be only called when a previous 
            peekBits() returned -1. Returns the number of bits available.
            </summary>
        </member>
        <member name="P:OPF.Utils.Compression.StreamManipulator.AvailableBytes">
            <summary>
            Gets the number of bytes available. Returns the number of bytes available.
            </summary>
        </member>
        <member name="P:OPF.Utils.Compression.StreamManipulator.IsNeedingInput">
            <summary>
            Returns if the manipulator needs input or not.
            </summary>
        </member>
        <member name="T:OPF.Utils.Compression.OutputWindow">
            <summary>
            Contains the output from the Inflation process.
            We need to have a window so that we can refer backwards into the output stream
            to repeat stuff.
            
            author of the original java version : John Leuner
            </summary>
        </member>
        <member name="M:OPF.Utils.Compression.OutputWindow.Write(System.Int32)">
            <summary>
            Writes the byte to the window
            </summary>
            <param name="abyte">Byte to write to the window</param>
        </member>
        <member name="M:OPF.Utils.Compression.OutputWindow.Repeat(System.Int32,System.Int32)">
            <summary>
            
            </summary>
            <param name="len"></param>
            <param name="dist"></param>
        </member>
        <member name="M:OPF.Utils.Compression.OutputWindow.CopyStored(OPF.Utils.Compression.StreamManipulator,System.Int32)">
            <summary>
            
            </summary>
            <param name="input"></param>
            <param name="len"></param>
            <returns></returns>
        </member>
        <member name="M:OPF.Utils.Compression.OutputWindow.GetFreeSpace">
            <summary>
            Returns the free space in the window.
            </summary>
        </member>
        <member name="M:OPF.Utils.Compression.OutputWindow.GetAvailable">
            <summary>
            Returns the available.
            </summary>
            <returns></returns>
        </member>
        <member name="M:OPF.Utils.Compression.OutputWindow.CopyOutput(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Copies the output.
            </summary>
            <param name="output"></param>
            <param name="offset"></param>
            <param name="len"></param>
            <returns></returns>
        </member>
        <member name="M:OPF.Utils.Compression.OutputWindow.Reset">
            <summary>
            Resets the window.
            </summary>
        </member>
        <member name="T:OPF.Utils.Compression.InflaterDynHeader">
            <summary>
            InflateDynHeader inflates the dynamic header of the compressed stream.
            </summary>
        </member>
        <member name="M:OPF.Utils.Compression.InflaterDynHeader.Decode(OPF.Utils.Compression.StreamManipulator)">
            <summary>
            Decodes the stream manipulator given.
            </summary>
            <param name="input">Stream manipulator to decode.</param>
        </member>
        <member name="M:OPF.Utils.Compression.InflaterDynHeader.BuildLitLenTree">
            <summary>
            
            </summary>
            <returns></returns>
        </member>
        <member name="M:OPF.Utils.Compression.InflaterDynHeader.BuildDistTree">
            <summary>
            
            </summary>
            <returns></returns>
        </member>
        <member name="T:OPF.Utils.Compression.InflaterHuffmanTree">
            <summary>
            InflaterHuffmanTree - Huffman tree for the inflation algorithm.
            </summary>
        </member>
        <member name="F:OPF.Utils.Compression.InflaterHuffmanTree.defLitLenTree">
            <summary>
            Huffman trees as result.
            </summary>
        </member>
        <member name="F:OPF.Utils.Compression.InflaterHuffmanTree.defDistTree">
            <summary>
            Huffman trees as result.
            </summary>
        </member>
        <member name="M:OPF.Utils.Compression.InflaterHuffmanTree.#ctor(System.Byte[])">
            <summary>
            Constructs a Huffman tree from the array of code lengths.
            </summary>
            <param name = "codeLengths">
            the array of code lengths
            </param>
        </member>
        <member name="M:OPF.Utils.Compression.InflaterHuffmanTree.GetSymbol(OPF.Utils.Compression.StreamManipulator)">
            <summary>
            Reads the next symbol from input.  The symbol is encoded using the huffman tree.
            Returns the next symbol, or -1 if not enough input is available.
            </summary>
            <param name="input">Input the input source.</param>
        </member>
        <member name="T:OPF.Utils.List">
            <summary>
            List, the base list class used for collections.
            </summary>
        </member>
        <member name="M:OPF.Utils.List.#ctor">
            <summary>
            Default constructor.
            </summary>
        </member>
        <member name="M:OPF.Utils.List.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Constructor required for deserialization.
            </summary>
            <param name="SerialInfo">Contains the data to serialize and deserialize the object.</param>
            <param name="StreamContext">Contains the information about the source or target of the 
            serialization process.</param>
        </member>
        <member name="M:OPF.Utils.List.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Serializes the current object.
            </summary>
            <param name="SerialInfo">Contains the data to serialize and deserialize the object.</param>
            <param name="StreamContext">Contains the information about the source or target of the 
            serialization process.</param>
        </member>
        <member name="M:OPF.Utils.List.Key(OPF.BaseObject)">
            <summary>
            Returns the key of the given object.
            </summary>
            <param name="Object">Object you want the key.</param>
        </member>
        <member name="M:OPF.Utils.List.Add(OPF.BaseObject)">
            <summary>
            Adds an Object to the list.
            </summary>
            <param name="Object">Object to add.</param>
        </member>
        <member name="M:OPF.Utils.List.Clear">
            <summary>
            Clears the list by removing all items.
            </summary>
        </member>
        <member name="M:OPF.Utils.List.Contains(OPF.BaseObject)">
            <summary>
            Returns true if the object is in the list.
            </summary>
            <param name="Object">Object to checked.</param>
        </member>
        <member name="M:OPF.Utils.List.ContainsKey(System.String)">
            <summary>
            Returns if the given key is in the list.
            </summary>
            <param name="Key">Key you search.</param>
        </member>
        <member name="M:OPF.Utils.List.ContainsKey(OPF.BaseObject)">
            <summary>
            Returns if the object-key is in the list.
            </summary>
            <param name="Object">Object where to get the key from.</param>
        </member>
        <member name="M:OPF.Utils.List.Add(System.Collections.ICollection)">
            <summary>
            Adds an array to the list.
            </summary>
            <param name="Objects">The ICollection with OPF.Objects or derivatives to add.</param>
        </member>
        <member name="M:OPF.Utils.List.Equals(OPF.Utils.List)">
            <summary>
            Checks if the list matches the given list considering the objects and their order in the lists.
            </summary>
            <param name="OtherList">The List to compare.</param>
        </member>
        <member name="M:OPF.Utils.List.Remove(OPF.BaseObject)">
            <summary>
            Removes an object from the list.
            </summary>
            <param name="Object">Object to remove.</param>
        </member>
        <member name="M:OPF.Utils.List.Remove(System.Int32)">
            <summary>
            Removes an object from the list.
            </summary>
            <param name="Index">Index of the object to be removed.</param>
        </member>
        <member name="M:OPF.Utils.List.RemoveAll">
            <summary>
            Removes all objects from the list (same as clear).
            </summary>
        </member>
        <member name="M:OPF.Utils.List.Swap(System.Int32,System.Int32)">
            <summary>
            Swaps two objects.
            </summary>
            <param name="Index1">Index of the object one.</param>
            <param name="Index2">Index of the object two.</param>
        </member>
        <member name="M:OPF.Utils.List.IndexOf(OPF.BaseObject)">
            <summary>
            Returns the index of a certain element.
            </summary>
            <param name="Object">Index of the object</param>
        </member>
        <member name="M:OPF.Utils.List.IndexOf(OPF.ID)">
            <summary>
            Returns the index of a certain element.
            </summary>
            <param name="ObjectID">ID of the object.</param>
        </member>
        <member name="M:OPF.Utils.List.GetKeysEnumerator">
            <summary>
            Enumerator for the list keys.
            </summary>
        </member>
        <member name="M:OPF.Utils.List.GetObjectsEnumerator">
            <summary>
            Enumerator for the list objects.
            </summary>
        </member>
        <member name="M:OPF.Utils.List.Insert(System.Int32,OPF.BaseObject)">
            <summary>
            Inserts an object to the list.
            </summary>
            <param name="Index">The index where to insert the object.</param>
            <param name="Object">The object to insert.</param>
        </member>
        <member name="M:OPF.Utils.List.Object(System.Int32)">
            <summary>
            Item property. Returns the Item at the index.
            </summary>
        </member>
        <member name="M:OPF.Utils.List.Assign(OPF.Utils.List)">
            <summary>
            Assigns the given list to the current instance by clearing the list and adding clones of
            all objects in the given list.
            </summary>
            <param name="OtherList">List to be assigned.</param>
        </member>
        <member name="M:OPF.Utils.List.CopyTo(System.Array,System.Int32)">
            <summary>
            Copies the list to an array.
            </summary>
            <param name="Array">Array to copy.</param>
            <param name="Index">Index where to start.</param>
        </member>
        <member name="M:OPF.Utils.List.Sort(System.String,System.Boolean)">
            <summary>
            Sort. We use quicksort.
            </summary>
            <param name="PropertyName">Property by which to sort the list.</param>
            <param name="Reverse">True for reverse sort order.</param>
        </member>
        <member name="M:OPF.Utils.List.Sort(System.Boolean)">
            <summary>
            Sorts by using the compare method.
            </summary>
            <param name="Reverse">True for reverse sort order.</param>
        </member>
        <member name="M:OPF.Utils.List.Sort(System.String,System.Boolean,System.Int32,System.Int32)">
            <summary>
            Sort. We use quicksort.
            </summary>
            <param name="PropertyName">Property by which to sort the list.</param>
            <param name="Reverse">True for reverse sort order.</param>
            <param name="Low">Low bound.</param>
            <param name="High">High bound.</param>
        </member>
        <member name="M:OPF.Utils.List.Sort(System.Boolean,System.Int32,System.Int32)">
            <summary>
            Sorts the list by using the compare function.
            </summary>
            <param name="Reverse">True for reverse sort order.</param>
            <param name="Low">Low bound.</param>
            <param name="High">High bound.</param>
        </member>
        <member name="M:OPF.Utils.List.GetRandomObject">
            <summary>
            Returns a random object of the list.
            </summary>
        </member>
        <member name="M:OPF.Utils.List.GetRandomObjects(System.Int32)">
            <summary>
            Returns an array with the amount of objects set in Amount.
            </summary>
            <param name="Amount">Amount of objects to be returned.</param>
        </member>
        <member name="M:OPF.Utils.List.Reset">
            <summary>
            Resets the enumerator.
            </summary>
        </member>
        <member name="M:OPF.Utils.List.MoveNext">
            <summary>
            Returns true if moving to the next object in the list is possible.
            </summary>
        </member>
        <member name="M:OPF.Utils.List.GetEnumerator">
            <summary>
            Returns the enumerator for the list.
            </summary>
        </member>
        <member name="P:OPF.Utils.List.Count">
            <summary>
            Returns the number of objects in the list.
            </summary>
        </member>
        <member name="P:OPF.Utils.List.Item(System.Int32)">
            <summary>
            Gets or sets an object
            </summary>
        </member>
        <member name="P:OPF.Utils.List.Objects">
            <summary>
            Returns the values of the list.
            </summary>
        </member>
        <member name="P:OPF.Utils.List.Current">
            <summary>
            Returns the current element.
            </summary>
        </member>
        <member name="T:OPF.Utils.Crc32">
            <summary>
            Generates and holds the crc 32.
            </summary>
        </member>
        <member name="F:OPF.Utils.Crc32._Crc">
            <summary>
            The crc data checksum so far.
            </summary>
        </member>
        <member name="M:OPF.Utils.Crc32.Reset">
            <summary>
            Resets the CRC32 data checksum as if no update was ever called.
            </summary>
        </member>
        <member name="M:OPF.Utils.Crc32.Update(System.Int32)">
            <summary>
            Updates the checksum with the int bval.
            </summary>
            <param name="BitValue">The byte is taken as the lower 8 bits of bitvalue.</param>
        </member>
        <member name="M:OPF.Utils.Crc32.Update(System.Byte[])">
            <summary>
            Updates the checksum with the bytes taken from the array.
            </summary>
            <param name="Buffer">Buffer an array of bytes.</param>
        </member>
        <member name="M:OPF.Utils.Crc32.Update(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Adds the byte array to the data checksum.
            </summary>
            <param name="Buffer">The buffer which contains the data.</param>
            <param name="Offset">The offset in the buffer where the data starts.</param>
            <param name="Length">The length of the data.</param>
        </member>
        <member name="M:OPF.Utils.Crc32.Update(System.String)">
            <summary>
            Adds the byte array to the data checksum.
            </summary>
            <param name="Buffer">String to add to the checksum.</param>
        </member>
        <member name="P:OPF.Utils.Crc32.Value">
            <summary>
            Returns the CRC32 data checksum computed so far.
            </summary>
        </member>
        <member name="T:OPF.Utils.MathFunctions">
            <summary>
            Math Functions for OPF
            </summary>
        </member>
        <member name="M:OPF.Utils.MathFunctions.IsNumeric(System.String,System.Int32@)">
            <summary>
            Checks if a string is a number.
            </summary>
            <param name="Value">String to check.</param>
            <param name="Result">Holds an integer with the result.</param>
            <returns>True if the string if a number, false if not.</returns>
        </member>
        <member name="M:OPF.Utils.MathFunctions.IsNumeric(System.String)">
            <summary>
            Checks a is string is a number.
            </summary>
            <param name="Value">String to check</param>
        </member>
        <member name="M:OPF.Utils.MathFunctions.DESEnCrypt(System.String)">
            <summary>
            Encrypts a string using the DES algorithm.
            </summary>
            <param name="ValueToEnCrypt">Value to encrypt.</param>
        </member>
        <member name="M:OPF.Utils.MathFunctions.DESDeCrypt(System.String)">
            <summary>
            Decrypts a string using the DES algorithm.
            </summary>
            <param name="ValueToDeCrypt">Value to decrypt.</param>
        </member>
        <member name="M:OPF.Utils.MathFunctions.RijndaelEnCrypt(System.String)">
            <summary>
            Encrypts a string using the Rijandel algorithm.
            </summary>
            <param name="ValueToEnCrypt">Value to encrypt.</param>
        </member>
        <member name="M:OPF.Utils.MathFunctions.RijndaelDeCrypt(System.String)">
            <summary>
            Decrypts a string using the Rijandel algorithm.
            </summary>
            <param name="ValueToDeCrypt">Value to decrypt.</param>
        </member>
        <member name="M:OPF.Utils.MathFunctions.EnCrypt(System.Security.Cryptography.SymmetricAlgorithm,System.String)">
            <summary>
            Encrypts a string using the algorithm given and the value.
            </summary>
            <param name="Algorithm">Algorithm for encryption.</param>
            <param name="ValueToEnCrypt">Value to encrypt.</param>
        </member>
        <member name="M:OPF.Utils.MathFunctions.DeCrypt(System.Security.Cryptography.SymmetricAlgorithm,System.String)">
            <summary>
            Decrypts a string using the algorithm given and the value.
            </summary>
            <param name="Algorithm">Algorithm for decryption.</param>
            <param name="ValueToDeCrypt">Value to decrypt.</param>
        </member>
        <member name="T:OPF.Utils.ArrayFunctions">
            <summary>
            Array Functions for OPF
            </summary>
        </member>
        <member name="M:OPF.Utils.ArrayFunctions.ReDim(System.Array,System.Int32)">
            <summary>
            Redims an array.
            </summary>
            <param name="OriginalArray">The array to redim.</param>
            <param name="NewSize">The new size of this array.</param>
        </member>
        <member name="T:OPF.Utils.ResManager">
            <summary>
            This class holds all methods to access the OPF resource file.
            </summary>
        </member>
        <member name="M:OPF.Utils.ResManager.GetString(System.String)">
            <param name="ItemName">Name of the item to be returned.</param>
            <returns>The content of the item.</returns>
        </member>
        <member name="M:OPF.Utils.ResManager.GetString(System.String,System.String,System.String)">
            <summary>
            Returns a resourcestring.
            </summary>
            <param name="ItemName">Name of the item to be returned.</param>
            <param name="OldValue">Old value to replace by the new value</param>
            <param name="NewValue">new value</param>
        </member>
        <member name="T:OPF.Utils.ConvertType">
            <summary>
            Class that converts a value of a certain type to an other type.
            </summary>
        </member>
        <member name="M:OPF.Utils.ConvertType.To(System.Object,System.String)">
            <summary>
            Convert function.
            </summary>
            <param name="Value">Value that should be converted.</param>
            <param name="TypeToConvertTo">Type in to which the value should be converted.</param>
        </member>
    </members>
</doc>

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here


Written By
Italy Italy
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.

Written By
Web Developer
Austria Austria
Studying at the technical university for vienna. Living in Brixen (South Tyrol, Italy) and working at Bozen (also in South Tyrol) during the summer months and holidays...

Comments and Discussions