Click here to Skip to main content
15,884,298 members
Articles / Programming Languages / C#

Relationship Oriented Programming

Rate me:
Please Sign up or sign in to vote.
4.87/5 (20 votes)
12 Dec 2011CPOL14 min read 57.6K   805   58  
Modeling the Romeo and Juliet meta-model.
<?xml version="1.0"?>
<doc>
    <assembly>
        <name>Clifton.Tools.Data</name>
    </assembly>
    <members>
        <member name="T:Clifton.Tools.Data.ObjectInfo">
            <summary>
            Helper class encapsulating both the object and the nullable state flag.
            </summary>
        </member>
        <member name="M:Clifton.Tools.Data.ObjectInfo.#ctor(System.Object)">
            <summary>
            Constructor, defaulting nullable to false.
            </summary>
            <param name="obj">The object to serialize.</param>
        </member>
        <member name="M:Clifton.Tools.Data.ObjectInfo.#ctor(System.Object,System.Boolean)">
            <summary>
            Constructor.
            </summary>
            <param name="obj">The object to serialize.</param>
            <param name="nullable">The nullable state.</param>
        </member>
        <member name="P:Clifton.Tools.Data.ObjectInfo.Object">
            <summary>
            Get/set the object.
            </summary>
        </member>
        <member name="P:Clifton.Tools.Data.ObjectInfo.Nullable">
            <summary>
            Get/set the nullable state.
            </summary>
        </member>
        <member name="T:Clifton.Tools.Data.RawSerializer">
            <summary>
            Raw serializer class.  Serializes value types and structs whose length can be determined by the marshaller.
            </summary>
        </member>
        <member name="F:Clifton.Tools.Data.RawSerializer.bw">
            <summary>
            The binary writer instance to which value types are written.
            </summary>
        </member>
        <member name="F:Clifton.Tools.Data.RawSerializer.tw">
            <summary>
            Helper instance for writing value types.
            </summary>
        </member>
        <member name="M:Clifton.Tools.Data.RawSerializer.#ctor(System.IO.Stream)">
            <summary>
            Constructor.
            </summary>
            <param name="output">The output stream.</param>
        </member>
        <member name="M:Clifton.Tools.Data.RawSerializer.Serialize(System.Object)">
            <summary>
            Serialize a boxed value assuming nullable is false.
            </summary>
            <param name="val">The value.</param>
        </member>
        <member name="M:Clifton.Tools.Data.RawSerializer.SerializeNullable(System.Object)">
            <summary>
            Serialize a boxed value specifying the nullable state.
            </summary>
            <param name="val">The value.</param>
            <param name="nullable">The nullable state.</param>
        </member>
        <member name="M:Clifton.Tools.Data.RawSerializer.Serialize(System.Object[])">
            <summary>
            Serialize an array of objects.
            </summary>
            <param name="objs">The array of objects.</param>
        </member>
        <member name="M:Clifton.Tools.Data.RawSerializer.Serialize(Clifton.Tools.Data.ObjectInfo[])">
            <summary>
            Serialize an array of objects that specify the nullable state flag.
            </summary>
            <param name="objs">An array of ObjectInfo instance.</param>
        </member>
        <member name="M:Clifton.Tools.Data.RawSerializer.Flush">
            <summary>
            Flush the stream.
            </summary>
        </member>
        <member name="M:Clifton.Tools.Data.RawSerializer.Close">
            <summary>
            Close the stream.
            </summary>
        </member>
        <member name="M:Clifton.Tools.Data.RawSerializer.SerializeStruct(System.Object)">
            <summary>
            Virtual method to manage serializing structures, using the Marshaller.
            Override this method to handle structs that the marshaller doesn't.
            </summary>
            <param name="val">The struct to serialize.</param>
        </member>
        <member name="M:Clifton.Tools.Data.Validation.Validate(System.String,System.String)">
            <summary>
            Validates that the string is not null or empty.
            </summary>
            <param name="val"></param>
        </member>
        <member name="F:Clifton.Tools.Data.RawDeserializer.tr">
            <summary>
            Helper instance for reading value types.
            </summary>
        </member>
        <member name="M:Clifton.Tools.Data.ExtensionMethods.ForEach``1(System.Collections.Generic.IEnumerable{``0},System.Action{``0})">
            <summary>
            Implements a ForEach for enumerators.
            </summary>
        </member>
        <member name="M:Clifton.Tools.Data.Cloner.CloneObject``1(``0)">
            <summary>
            Performs a deep clone by serializing the object, then deserializing it into a new object.
            The BinaryFormatter is used, so all classes in the object graph must be marked as serializable.
            </summary>
        </member>
        <member name="M:Clifton.Tools.Data.Cloner.XmlCloneObject``1(``0)">
            Performs a deep clone by serializing the object, then deserializing it into a new object.
            The XmlSerializer is used, so all properties must be appropriately attributed with XML 
            serialization tags.
        </member>
        <member name="T:Clifton.Tools.Data.NullCryptoTransform">
            <summary>
            Implements a transform that doesn't do anything other than return the original stream.
            </summary>
        </member>
        <member name="M:Clifton.Tools.Data.DateTimeHelper.AppendFakeDate(System.DateTime)">
            <summary>
            Forces the date portion to 1/1/2001.
            </summary>
            <param name="val"></param>
            <returns></returns>
        </member>
        <member name="M:Clifton.Tools.Data.DateTimeHelper.AppendFakeTime(System.DateTime)">
            <summary>
            Forces the time portion to 0:0:0.
            </summary>
            <param name="val"></param>
            <returns></returns>
        </member>
        <member name="M:Clifton.Tools.Data.Enumerator`1.PreviousOrFirst(`0)">
            <summary>
            Returns the enumeration value that is previous to the supplied one,
            or the first enumeration value, based on enum value, not ordinal value.
            </summary>
            <param name="val"></param>
            <returns></returns>
        </member>
        <member name="M:Clifton.Tools.Data.Enumerator`1.NextOrLast(`0)">
            <summary>
            Returns the enumeration value that is next to the supplied one,
            or the last enumeration value based on enum value, not ordinal value.
            </summary>
            <param name="val"></param>
            <returns></returns>
        </member>
        <member name="M:Clifton.Tools.Data.Enumerator`1.Items">
            <summary>
            Iterates over the enumeration collection by enum value, not ordinal value.
            </summary>
            <returns></returns>
        </member>
        <member name="M:Clifton.Tools.Data.Enumerator`1.AsNames">
            <summary>
            Converts the enumeration to an array of strings, in the enumeration order.
            </summary>
            <returns></returns>
        </member>
        <member name="P:Clifton.Tools.Data.Enumerator`1.First">
            <summary>
            Returns the first value in the enumeration, as sorted
            by enum value, not ordinal value.
            </summary>
        </member>
        <member name="P:Clifton.Tools.Data.Enumerator`1.Last">
            <summary>
            Returns the last vaue in the enumeration, as sorted
            by enum value, not ordinal value.
            </summary>
        </member>
        <member name="T:Clifton.Tools.Data.IniFile">
            <summary>
            Create a New INI file to store or load data
            </summary>
        </member>
        <member name="M:Clifton.Tools.Data.Crypto.Encrypt(System.String,System.Boolean,System.String)">
            <summary>
            Encrypt a string using dual encryption method. Return a encrypted cipher Text
            </summary>
            <param name="toEncrypt">string to be encrypted</param>
            <param name="useHashing">use hashing? send to for extra secirity</param>
            <returns></returns>
        </member>
        <member name="M:Clifton.Tools.Data.Crypto.Decrypt(System.String,System.Boolean,System.String)">
            <summary>
            DeCrypt a string using dual encryption method. Return a DeCrypted clear string
            </summary>
            <param name="cipherString">encrypted string</param>
            <param name="useHashing">Did you use hashing to encrypt this data? pass true is yes</param>
            <returns></returns>
        </member>
        <member name="T:Clifton.Tools.Data.Variable">
            <summary>
            [Serializable, StructLayout(LayoutKind.Sequential)]
            </summary>
        </member>
        <member name="T:Clifton.Tools.Data.PropertyBinding">
            <summary>
            Used as a key to index the ColumnBinder instance.
            The key is a composite of the destination object and property.
            This composite key maps to one and only one ColumnBinder, because
            an object's property can map to only one column in a table.
            </summary>
        </member>
        <member name="T:Clifton.Tools.Data.ColumnBinder">
            <summary>
            Container for mapping a column bound to an object-property.
            </summary>
        </member>
        <member name="T:Clifton.Tools.Data.TableBindHelper">
            <summary>
            Provides binding between a DataTable and another object, without requiring the System.Windows.Forms namespace.
            Also implements a row cursor for record navigation and automatic object updating.
            </summary>
        </member>
        <member name="M:Clifton.Tools.Data.TableBindHelper.AddColumnBinder(System.String,System.Object,System.String,System.Boolean)">
            <summary>
            Add a binding to a column of the table, whose target is the supplied object
            and property.
            </summary>
        </member>
        <member name="M:Clifton.Tools.Data.TableBindHelper.OnRowDeleted(System.Object,System.Data.DataRowChangeEventArgs)">
            <summary>
            Adjusts the row index if the row index now is greater than the number
            of available rows.  Updates all destination objects to reflect a possible
            change in the data that the row index is indexing.
            </summary>
            <param name="sender"></param>
            <param name="e"></param>
        </member>
        <member name="M:Clifton.Tools.Data.TableBindHelper.OnRowChanged(System.Object,System.Data.DataRowChangeEventArgs)">
            <summary>
            Updates the row index to the row being added.
            </summary>
        </member>
        <member name="M:Clifton.Tools.Data.TableBindHelper.OnColumnChanged(System.Object,System.Data.DataColumnChangeEventArgs)">
            <summary>
            Called when the column value is changed, so any bound object can have its
            property updated.
            </summary>
        </member>
        <member name="M:Clifton.Tools.Data.TableBindHelper.UpdateTargetWithValue(Clifton.Tools.Data.ColumnBinder,System.Object)">
            <summary>
            Updates the target with the column value, handling DBNull.Value.
            </summary>
        </member>
        <member name="M:Clifton.Tools.Data.TableBindHelper.CreatePropertyWatcher(System.Object,System.String)">
            <summary>
            Using the INotifyPropertyChanged interface, which requires the implementation
            of the PropertyChanged event, this method wires up a generic handler.
            </summary>
        </member>
        <member name="M:Clifton.Tools.Data.TableBindHelper.OnDestinationChanged(System.Object,System.ComponentModel.PropertyChangedEventArgs)">
            <summary>
            Called when the bound object's value changes, so that the change can be
            reflected in the associated table's row and the bound column.
            </summary>
        </member>
        <member name="M:Clifton.Tools.Data.TableBindHelper.UpdateTablePropertyValue(Clifton.Tools.Data.ColumnBinder)">
            <summary>
            Updates the destiniation property value with the associated column
            in the current indexed row.
            </summary>
        </member>
        <member name="M:Clifton.Tools.Data.TableBindHelper.SetRowIndex(System.Int32)">
            <summary>
            Sets the current row index, updating all bound target objects and their properties.
            </summary>
        </member>
        <member name="M:Clifton.Tools.Data.TableBindHelper.UpdateAllDestinationObjects">
            <summary>
            Updates all bound target object and their properties to the current row index.
            </summary>
        </member>
        <member name="P:Clifton.Tools.Data.TableBindHelper.RowIndex">
            <summary>
            Get/set the current row being bound.
            </summary>
        </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, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Architect Interacx
United States United States
Blog: https://marcclifton.wordpress.com/
Home Page: http://www.marcclifton.com
Research: http://www.higherorderprogramming.com/
GitHub: https://github.com/cliftonm

All my life I have been passionate about architecture / software design, as this is the cornerstone to a maintainable and extensible application. As such, I have enjoyed exploring some crazy ideas and discovering that they are not so crazy after all. I also love writing about my ideas and seeing the community response. As a consultant, I've enjoyed working in a wide range of industries such as aerospace, boatyard management, remote sensing, emergency services / data management, and casino operations. I've done a variety of pro-bono work non-profit organizations related to nature conservancy, drug recovery and women's health.

Comments and Discussions