diff --git a/Relax.sln b/Relax.sln new file mode 100644 index 0000000..06ed7c9 --- /dev/null +++ b/Relax.sln @@ -0,0 +1,52 @@ + +Microsoft Visual Studio Solution File, Format Version 11.00 +# Visual Studio 2010 +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "source", "source", "{D86858E6-7DD1-473E-AE52-1C8021CEEF19}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "demo", "demo", "{E3BC70CC-AEBD-4A33-ADDF-CB97447613F5}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{2F4C8471-4705-490A-9118-AE4B3A61AEF7}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Relax.Tests", "tests\Relax.Tests.csproj", "{6F1DB555-D2FF-4E2C-8F20-4A012D6F4581}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Relax", "src\Relax\Relax.csproj", "{3A8D40A3-96F9-4878-902E-7CBC3A82AEDD}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Debug|Mixed Platforms = Debug|Mixed Platforms + Debug|x86 = Debug|x86 + Release|Any CPU = Release|Any CPU + Release|Mixed Platforms = Release|Mixed Platforms + Release|x86 = Release|x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {6F1DB555-D2FF-4E2C-8F20-4A012D6F4581}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {6F1DB555-D2FF-4E2C-8F20-4A012D6F4581}.Debug|Any CPU.Build.0 = Debug|Any CPU + {6F1DB555-D2FF-4E2C-8F20-4A012D6F4581}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {6F1DB555-D2FF-4E2C-8F20-4A012D6F4581}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {6F1DB555-D2FF-4E2C-8F20-4A012D6F4581}.Debug|x86.ActiveCfg = Debug|Any CPU + {6F1DB555-D2FF-4E2C-8F20-4A012D6F4581}.Release|Any CPU.ActiveCfg = Release|Any CPU + {6F1DB555-D2FF-4E2C-8F20-4A012D6F4581}.Release|Any CPU.Build.0 = Release|Any CPU + {6F1DB555-D2FF-4E2C-8F20-4A012D6F4581}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {6F1DB555-D2FF-4E2C-8F20-4A012D6F4581}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {6F1DB555-D2FF-4E2C-8F20-4A012D6F4581}.Release|x86.ActiveCfg = Release|Any CPU + {3A8D40A3-96F9-4878-902E-7CBC3A82AEDD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {3A8D40A3-96F9-4878-902E-7CBC3A82AEDD}.Debug|Any CPU.Build.0 = Debug|Any CPU + {3A8D40A3-96F9-4878-902E-7CBC3A82AEDD}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {3A8D40A3-96F9-4878-902E-7CBC3A82AEDD}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {3A8D40A3-96F9-4878-902E-7CBC3A82AEDD}.Debug|x86.ActiveCfg = Debug|Any CPU + {3A8D40A3-96F9-4878-902E-7CBC3A82AEDD}.Release|Any CPU.ActiveCfg = Release|Any CPU + {3A8D40A3-96F9-4878-902E-7CBC3A82AEDD}.Release|Any CPU.Build.0 = Release|Any CPU + {3A8D40A3-96F9-4878-902E-7CBC3A82AEDD}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {3A8D40A3-96F9-4878-902E-7CBC3A82AEDD}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {3A8D40A3-96F9-4878-902E-7CBC3A82AEDD}.Release|x86.ActiveCfg = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(NestedProjects) = preSolution + {3A8D40A3-96F9-4878-902E-7CBC3A82AEDD} = {D86858E6-7DD1-473E-AE52-1C8021CEEF19} + {6F1DB555-D2FF-4E2C-8F20-4A012D6F4581} = {2F4C8471-4705-490A-9118-AE4B3A61AEF7} + EndGlobalSection +EndGlobal diff --git a/lib/MSpec/CommandLine.dll b/lib/MSpec/CommandLine.dll new file mode 100644 index 0000000..1cef689 Binary files /dev/null and b/lib/MSpec/CommandLine.dll differ diff --git a/lib/MSpec/CommandLine.xml b/lib/MSpec/CommandLine.xml new file mode 100644 index 0000000..67a0be5 --- /dev/null +++ b/lib/MSpec/CommandLine.xml @@ -0,0 +1,347 @@ + + + + CommandLine + + + + + Models an help text and collects related informations. + You can assign it in place of a instance, this is why + this type lacks a method to add lines after the options usage informations; + simple use a or similar solutions. + + + + + Initializes a new instance of the class + specifying heading informations. + + A string with heading information or + an instance of . + Thrown when parameter is null or empty string. + + + + Adds a text line after copyright and before options usage informations. + + A instance. + Thrown when parameter is null or empty string. + + + + Adds a text block with options usage informations. + + The instance that collected command line arguments parsed with class. + Thrown when parameter is null. + + + + Adds a text block with options usage informations. + + The instance that collected command line arguments parsed with the class. + The word to use when the option is required. + Thrown when parameter is null. + Thrown when parameter is null or empty string. + + + + Returns the help informations as a . + + The that contains the help informations. + + + + Converts the help informations to a . + + This instance. + The that contains the help informations. + + + + Sets the copyright information string. + You can directly assign a instance. + + + + + Models an option specification. + + + + + Provides base properties for creating an attribute, used to define rules for command line parsing. + + + + + Short name of this command line option. This name is usually a single character. + + + + + Long name of this command line option. This name is usually a single english word. + + + + + True if this command line option is required. + + + + + A short description of this command line option. Usually a sentence summary. + + + + + Initializes a new instance of the class. + + The short name of the option or null if not used. + The long name of the option or null if not used. + + + + Models the copyright informations part of an help text. + You can assign it where you assign any instance. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + specifying author and year. + + The company or person holding the copyright. + The year of coverage of copyright. + Thrown when parameter is null or empty string. + + + + Initializes a new instance of the class + specifying author and years. + + The company or person holding the copyright. + The years of coverage of copyright. + Thrown when parameter is null or empty string. + Thrown when parameter is not supplied. + + + + Initializes a new instance of the class + specifying symbol case, author and years. + + The case of the copyright symbol. + The company or person holding the copyright. + The years of coverage of copyright. + Thrown when parameter is null or empty string. + Thrown when parameter is not supplied. + + + + Returns the copyright informations as a . + + The that contains the copyright informations. + + + + Converts the copyright informations to a . + + This instance. + The that contains the copyright informations. + + + + When overridden in a derived class, allows to specify a new algorithm to render copyright years + as a instance. + + A array of years. + A instance with copyright years. + + + + When overridden in a derived class, allows to specify a different copyright word. + + + + + Indicates the instance method that must be invoked when it becomes necessary show your help screen. + The method signature is an instance method with no parameters and + return value. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + Allows you to define short and long option names. + + The short name of the option or null if not used. + The long name of the option or null if not used. + + + + Returns always false for this kind of option. + This behaviour can't be changed by design; if you try set + an will be thrown. + + + + + Models an option that can accept multiple values. + Must be applied to a field compatible with an interface + of instances. + + + + + Initializes a new instance of the class. + + The short name of the option or null if not used. + The long name of the option or null if not used. + + + + Initializes a new instance of the class. + + The short name of the option or null if not used. + The long name of the option or null if not used. + Values separator character. + + + + Gets or sets the values separator character. + + + + + Models a list of command line arguments that are not options. + Must be applied to a field compatible with an interface + of instances. + + + + + Initializes a new instance of the class. + + A type that implements . + Thrown if is null. + + + + Gets or sets the maximum element allow for the list managed by type. + If lesser than 0, no upper bound is fixed. + If equal to 0, no elements are allowed. + + + + + Provides methods to parse command line arguments. This class cannot be inherited. + + + + + Parses a array of command line arguments, + setting values read in parameter instance. + + A array of command line arguments. + An instance to receive values. + Parsing rules are defined using derived types. + True if parsing process succeed. + Thrown if is null. + Thrown if is null. + + + + Parses a array of command line arguments, + setting values read in parameter instance. + This overloads allows you to specify a + derived instance for write text messages. + + A array of command line arguments. + An instance to receive values. + Parsing rules are defined using derived types. + Any instance derived from , + usually . + True if parsing process succeed. + Thrown if is null. + Thrown if is null. + Thrown if is null. + + + + Represents the exception that is thrown when an attempt to assign incopatible types. + + + + + Models the heading informations part of an help text. + You can assign it where you assign any instance. + + + + + Initializes a new instance of the class + specifying program name. + + The name of the program. + Thrown when parameter is null or empty string. + + + + Initializes a new instance of the class + specifying program name and version. + + The name of the program. + The version of the program. + Thrown when parameter is null or empty string. + + + + Returns the heading informations as a . + + The that contains the heading informations. + + + + Converts the heading informations to a . + + This instance. + The that contains the heading informations. + + + + Writes out a string and a new line using the program name specified in the constructor + and parameter. + + The message to write. + The target derived type. + Thrown when parameter is null or empty string. + Thrown when parameter is null. + + + + Writes out a string and a new line using the program name specified in the constructor + and parameter to standard output stream. + + The message to write. + Thrown when parameter is null or empty string. + + + + Writes out a string and a new line using the program name specified in the constructor + and parameter to standard error stream. + + The message to write. + Thrown when parameter is null or empty string. + + + diff --git a/lib/MSpec/License.txt b/lib/MSpec/License.txt new file mode 100644 index 0000000..6183ea8 --- /dev/null +++ b/lib/MSpec/License.txt @@ -0,0 +1,54 @@ +Copyright (c) 2008 Machine Project +Portions Copyright (c) 2008 Jacob Lewallen, Aaron Jensen + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +***************************** +Some parts licensed under MS-PL +***************************** + +This license governs use of the accompanying software. If you use the software, you accept this license. If you do not accept the license, do not use the software. + +1. Definitions + +The terms "reproduce," "reproduction," "derivative works," and "distribution" have the same meaning here as under U.S. copyright law. + +A "contribution" is the original software, or any additions or changes to the software. + +A "contributor" is any person that distributes its contribution under this license. + +"Licensed patents" are a contributor's patent claims that read directly on its contribution. + +2. Grant of Rights + +(A) Copyright Grant- Subject to the terms of this license, including the license conditions and limitations in section 3, each contributor grants you a non-exclusive, worldwide, royalty-free copyright license to reproduce its contribution, prepare derivative works of its contribution, and distribute its contribution or any derivative works that you create. + +(B) Patent Grant- Subject to the terms of this license, including the license conditions and limitations in section 3, each contributor grants you a non-exclusive, worldwide, royalty-free license under its licensed patents to make, have made, use, sell, offer for sale, import, and/or otherwise dispose of its contribution in the software or derivative works of the contribution in the software. + +3. Conditions and Limitations + +(A) No Trademark License- This license does not grant you rights to use any contributors' name, logo, or trademarks. + +(B) If you bring a patent claim against any contributor over patents that you claim are infringed by the software, your patent license from such contributor to the software ends automatically. + +(C) If you distribute any portion of the software, you must retain all copyright, patent, trademark, and attribution notices that are present in the software. + +(D) If you distribute any portion of the software in source code form, you may do so only under this license by including a complete copy of this license with your distribution. If you distribute any portion of the software in compiled or object code form, you may only do so under a license that complies with this license. + +(E) The software is licensed "as-is." You bear the risk of using it. The contributors give no express warranties, guarantees or conditions. You may have additional consumer rights under your local laws which this license cannot change. To the extent permitted under your local laws, the contributors exclude the implied warranties of merchantability, fitness for a particular purpose and non-infringement. \ No newline at end of file diff --git a/lib/MSpec/Machine.Specifications.GallioAdapter.dll b/lib/MSpec/Machine.Specifications.GallioAdapter.dll deleted file mode 100644 index 4c34fb5..0000000 Binary files a/lib/MSpec/Machine.Specifications.GallioAdapter.dll and /dev/null differ diff --git a/lib/MSpec/Machine.Specifications.GallioAdapter.pdb b/lib/MSpec/Machine.Specifications.GallioAdapter.pdb deleted file mode 100644 index 52314a1..0000000 Binary files a/lib/MSpec/Machine.Specifications.GallioAdapter.pdb and /dev/null differ diff --git a/lib/MSpec/Machine.Specifications.TDNetRunner.dll b/lib/MSpec/Machine.Specifications.TDNetRunner.dll new file mode 100644 index 0000000..4e100f0 Binary files /dev/null and b/lib/MSpec/Machine.Specifications.TDNetRunner.dll differ diff --git a/lib/MSpec/Machine.Specifications.TDNetRunner.pdb b/lib/MSpec/Machine.Specifications.TDNetRunner.pdb new file mode 100644 index 0000000..e0ec04e Binary files /dev/null and b/lib/MSpec/Machine.Specifications.TDNetRunner.pdb differ diff --git a/lib/MSpec/Machine.Specifications.dll b/lib/MSpec/Machine.Specifications.dll index 19fc77e..4833c7b 100644 Binary files a/lib/MSpec/Machine.Specifications.dll and b/lib/MSpec/Machine.Specifications.dll differ diff --git a/lib/MSpec/Machine.Specifications.dll.tdnet b/lib/MSpec/Machine.Specifications.dll.tdnet new file mode 100644 index 0000000..c35b13c --- /dev/null +++ b/lib/MSpec/Machine.Specifications.dll.tdnet @@ -0,0 +1,5 @@ + + Machine.Specifications 0.4.0-no SHA + Machine.Specifications.TDNetRunner.dll + Machine.Specifications.TDNetRunner.SpecificationRunner + diff --git a/lib/MSpec/Machine.Specifications.pdb b/lib/MSpec/Machine.Specifications.pdb index e959787..ad9cafe 100644 Binary files a/lib/MSpec/Machine.Specifications.pdb and b/lib/MSpec/Machine.Specifications.pdb differ diff --git a/lib/MSpec/Newtonsoft.Json.dll b/lib/MSpec/Newtonsoft.Json.dll new file mode 100644 index 0000000..8a7b1a5 Binary files /dev/null and b/lib/MSpec/Newtonsoft.Json.dll differ diff --git a/lib/MSpec/Spark.dll b/lib/MSpec/Spark.dll new file mode 100644 index 0000000..a607228 Binary files /dev/null and b/lib/MSpec/Spark.dll differ diff --git a/lib/MSpec/Spark.pdb b/lib/MSpec/Spark.pdb new file mode 100644 index 0000000..0868452 Binary files /dev/null and b/lib/MSpec/Spark.pdb differ diff --git a/lib/MSpec/TestDriven.Framework.dll b/lib/MSpec/TestDriven.Framework.dll new file mode 100644 index 0000000..1498507 Binary files /dev/null and b/lib/MSpec/TestDriven.Framework.dll differ diff --git a/lib/MSpec/ThoughtWorks.Selenium.Core.dll b/lib/MSpec/ThoughtWorks.Selenium.Core.dll new file mode 100644 index 0000000..4545025 Binary files /dev/null and b/lib/MSpec/ThoughtWorks.Selenium.Core.dll differ diff --git a/lib/MSpec/ThoughtWorks.Selenium.Core.pdb b/lib/MSpec/ThoughtWorks.Selenium.Core.pdb new file mode 100644 index 0000000..f67b7b6 Binary files /dev/null and b/lib/MSpec/ThoughtWorks.Selenium.Core.pdb differ diff --git a/lib/MSpec/mspec-clr4.exe b/lib/MSpec/mspec-clr4.exe new file mode 100644 index 0000000..24bece3 Binary files /dev/null and b/lib/MSpec/mspec-clr4.exe differ diff --git a/lib/MSpec/mspec-clr4.pdb b/lib/MSpec/mspec-clr4.pdb new file mode 100644 index 0000000..e3dcd08 Binary files /dev/null and b/lib/MSpec/mspec-clr4.pdb differ diff --git a/lib/MSpec/mspec-x86-clr4.exe b/lib/MSpec/mspec-x86-clr4.exe new file mode 100644 index 0000000..3e4028e Binary files /dev/null and b/lib/MSpec/mspec-x86-clr4.exe differ diff --git a/lib/MSpec/mspec-x86-clr4.pdb b/lib/MSpec/mspec-x86-clr4.pdb new file mode 100644 index 0000000..5fb083c Binary files /dev/null and b/lib/MSpec/mspec-x86-clr4.pdb differ diff --git a/lib/MSpec/mspec-x86.exe b/lib/MSpec/mspec-x86.exe new file mode 100644 index 0000000..15c90ef Binary files /dev/null and b/lib/MSpec/mspec-x86.exe differ diff --git a/lib/MSpec/mspec-x86.pdb b/lib/MSpec/mspec-x86.pdb new file mode 100644 index 0000000..b84ce09 Binary files /dev/null and b/lib/MSpec/mspec-x86.pdb differ diff --git a/lib/MSpec/mspec.exe b/lib/MSpec/mspec.exe new file mode 100644 index 0000000..4abdaf4 Binary files /dev/null and b/lib/MSpec/mspec.exe differ diff --git a/lib/MSpec/mspec.pdb b/lib/MSpec/mspec.pdb new file mode 100644 index 0000000..00e4b6c Binary files /dev/null and b/lib/MSpec/mspec.pdb differ diff --git a/lib/Symbiote.Daemon/Newtonsoft.Json.xml b/lib/Symbiote.Core.XML similarity index 71% rename from lib/Symbiote.Daemon/Newtonsoft.Json.xml rename to lib/Symbiote.Core.XML index e5e3da7..a69858f 100644 --- a/lib/Symbiote.Daemon/Newtonsoft.Json.xml +++ b/lib/Symbiote.Core.XML @@ -1,1016 +1,1154 @@ - Newtonsoft.Json + Symbiote.Core - + - Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. + Perform the steps necessary to serialize this data. + The value to be serialized. + The writer entity that is accumulating the output data. - + - Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. + Perform the steps necessary to deserialize this data. + The current value, if appropriate. + The reader providing the input data. + The updated / replacement value. - + - Initializes a new instance of the class with the specified . + The type that this serializer is intended to work for. - + - Reads the next JSON token from the stream. + Indicates whether a Read operation replaces the existing value, or + extends the value. If false, the "value" parameter to Read is + discarded, and should be passed in as null. - true if the next token was read successfully; false if there are no more tokens to read. - + - Reads the next JSON token from the stream as a . + Now all Read operations return a value (although most do); if false no + value should be expected. - A or a null reference if the next JSON token is null. - + - Skips the children of the current token. + Represents an output stream for writing protobuf data. + + Why is the API backwards (static methods with writer arguments)? + See: http://marcgravell.blogspot.com/2010/03/last-will-be-first-and-first-will-be.html - + - Sets the current token. + Write an encapsulated sub-object, using the supplied unique key (reprasenting a type). - The new token. + The object to write. + The key that uniquely identifies the type within the model. + The destination. - + - Sets the current token and value. + Writes a field-header, indicating the format of the next data we plan to write. - The new token. - The value. - + - Sets the state based on current token type. + Writes a byte-array to the stream; supported wire-types: String - + - Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + Writes a byte-array to the stream; supported wire-types: String - + - Releases unmanaged and - optionally - managed resources + Indicates the start of a nested record. - true to release both managed and unmanaged resources; false to release only unmanaged resources. + The instance to write. + The destination. + A token representing the state of the stream; this token is given to EndSubItem. - + - Changes the to Closed. + Indicates the end of a nested record. + The token obtained from StartubItem. + The destination. - + - Gets the current reader state. + Creates a new writer against a stream - The current reader state. + The destination stream + The model to use for serialization; this can be null, but this will impair the ability to serialize sub-objects - + - Gets the quotation mark character used to enclose the value of a string. + Flushes data to the underlying stream, and releases any resources. The underlying stream is *not* disposed + by this operation. - + - Gets the type of the current Json token. + Writes any buffered data (if possible) to the underlying stream. + The writer to flush + It is not always possible to fully flush, since some sequences + may require values to be back-filled into the byte-stream. - + - Gets the text value of the current Json token. + Writes an unsigned 32-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64 - + - Gets The Common Language Runtime (CLR) type for the current Json token. + Writes a string to the stream; supported wire-types: String - + - Gets the depth of the current token in the JSON document. + Writes an unsigned 64-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64 - The depth of the current token in the JSON document. - + - Specifies the state of the reader. + Writes a signed 64-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64, SignedVariant - + - The Read method has not been called. + Writes an unsigned 16-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64 - + - The end of the file has been reached successfully. + Writes a signed 16-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64, SignedVariant - + - Reader is at a property. + Writes an unsigned 16-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64 - + - Reader is at the start of an object. + Writes an unsigned 8-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64 - + - Reader is in an object. + Writes a signed 8-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64, SignedVariant - + - Reader is at the start of an array. + Writes a signed 32-bit integer to the stream; supported wire-types: Variant, Fixed32, Fixed64, SignedVariant - + - Reader is in an array. + Writes a double-precision number to the stream; supported wire-types: Fixed32, Fixed64 - + - The Close method has been called. + Writes a single-precision number to the stream; supported wire-types: Fixed32, Fixed64 - + - Reader has just read a value. + Throws an exception indicating that the given enum cannot be mapped to a serialized value. - + - Reader is at the start of a constructor. + Writes a boolean to the stream; supported wire-types: Variant, Fixed32, Fixed64 - + - Reader in a constructor. + Copies any extension data stored for the instance to the underlying stream - + - An error occurred that prevents the read operation from continuing. + Used for packed encoding; indicates that the next field should be skipped rather than + a field header written. Note that the field number must match, else an exception is thrown + when the attempt is made to write the (incorrect) field. The wire-type is taken from the + subsequent call to WriteFieldHeader. Only primitive types can be packed. - + - The end of the file has been reached successfully. + Indicates an error during serialization/deserialization of a proto stream. - + + Creates a new ProtoException instance. + + + Creates a new ProtoException instance. + + + Creates a new ProtoException instance. + + - Initializes a new instance of the class. + Sub-format to use when serializing/deserializing data - The stream. - + - Initializes a new instance of the class. + Uses the default encoding for the data-type. - The stream. - if set to true the root object will be read as a JSON array. - The used when reading values from BSON. - + - Reads the next JSON token from the stream as a . + When applied to signed integer-based data (including Decimal), this + indicates that zigzag variant encoding will be used. This means that values + with small magnitude (regardless of sign) take a small amount + of space to encode. - - A or a null reference if the next JSON token is null. - - + - Reads the next JSON token from the stream. + When applied to signed integer-based data (including Decimal), this + indicates that two's-complement variant encoding will be used. + This means that any -ve number will take 10 bytes (even for 32-bit), + so should only be used for compatibility. - - true if the next token was read successfully; false if there are no more tokens to read. - - + - Gets or sets a value indicating whether the root object will be read as a JSON array. + When applied to signed integer-based data (including Decimal), this + indicates that a fixed amount of space will be used. - - true if the root object will be read as a JSON array; otherwise, false. - - + - Gets or sets the used when reading values from BSON. + When applied to a sub-message, indicates that the value should be treated + as group-delimited. - The used when reading values from BSON. - + + Specifies a method on the root-contract in an hierarchy to be invoked before serialization. + + + Specifies a method on the root-contract in an hierarchy to be invoked after serialization. + + + Specifies a method on the root-contract in an hierarchy to be invoked before deserialization. + + + Specifies a method on the root-contract in an hierarchy to be invoked after deserialization. + + - Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. + Helper method for generating a MetaObject which calls a + specific method on Dynamic that returns a result - + - Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. + Helper method for generating a MetaObject which calls a + specific method on Dynamic, but uses one of the arguments for + the result. - + - Creates an instance of the JsonWriter class. + Helper method for generating a MetaObject which calls a + specific method on Dynamic, but uses one of the arguments for + the result. - + - Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + Returns a Restrictions object which includes our current restrictions merged + with a restriction limiting our type - + - Closes this stream and the underlying stream. + Represents a raw JSON string. - + - Writes the beginning of a Json object. + Represents a value in JSON (string, integer, date, etc). - + - Writes the end of a Json object. + Represents an abstract JSON token. - + - Writes the beginning of a Json array. + Represents a collection of objects. + The type of token - + - Writes the end of an array. + Gets the with the specified key. + - + - Writes the start of a constructor with the given name. + Provides an interface to enable a class to return line and position information. - The name of the constructor. - + - Writes the end constructor. + Gets a value indicating whether the class can return line information. + + true if LineNumber and LinePosition can be provided; otherwise, false. + - + - Writes the property name of a name/value pair on a Json object. + Gets the current line number. - The name of the property. + The current line number or 0 if no line information is available (for example, HasLineInfo returns false). - + - Writes the end of the current Json object or array. + Gets the current line position. + The current line position or 0 if no line information is available (for example, HasLineInfo returns false). - + - Writes the current token. + Compares the values of two tokens, including the values of all descendant tokens. - The to read the token from. + The first to compare. + The second to compare. + true if the tokens are equal; otherwise false. - + - Writes the specified end token. + Adds the specified content immediately after this token. - The end token to write. + A content object that contains simple content or a collection of content objects to be added after this token. - + - Writes indent characters. + Adds the specified content immediately before this token. + A content object that contains simple content or a collection of content objects to be added before this token. - + - Writes the JSON value delimiter. + Returns a collection of the ancestor tokens of this token. + A collection of the ancestor tokens of this token. - + - Writes an indent space. + Returns a collection of the sibling tokens after this token, in document order. + A collection of the sibling tokens after this tokens, in document order. - + - Writes a null value. + Returns a collection of the sibling tokens before this token, in document order. + A collection of the sibling tokens before this token, in document order. - + - Writes an undefined value. + Gets the with the specified key converted to the specified type. + The type to convert the token to. + The token key. + The converted token value. - + - Writes raw JSON without changing the writer's state. + Returns a collection of the child tokens of this token, in document order. - The raw JSON to write. + An of containing the child tokens of this , in document order. - + - Writes raw JSON where a value is expected and updates the writer's state. + Returns a collection of the child tokens of this token, in document order, filtered by the specified type. - The raw JSON to write. + The type to filter the child tokens on. + A containing the child tokens of this , in document order. - + - Writes a value. + Returns a collection of the child values of this token, in document order. - The value to write. + The type to convert the values to. + A containing the child values of this , in document order. - + - Writes a value. + Removes this token from its parent. - The value to write. - + - Writes a value. + Replaces this token with the specified token. - The value to write. + The value. - + - Writes a value. + Writes this token to a . - The value to write. + A into which this method will write. + A collection of which will be used when writing the token. - + - Writes a value. + Returns the indented JSON for this token. - The value to write. + + The indented JSON for this token. + - + - Writes a value. + Returns the JSON for this token using the given formatting and converters. - The value to write. + Indicates how the output is formatted. + A collection of which will be used when writing the token. + The JSON for this token using the given formatting and converters. - + - Writes a value. + Performs an explicit conversion from to . - The value to write. + The value. + The result of the conversion. - + - Writes a value. + Performs an explicit conversion from to . - The value to write. + The value. + The result of the conversion. - + - Writes a value. + Performs an explicit conversion from to . - The value to write. + The value. + The result of the conversion. - + - Writes a value. + Performs an explicit conversion from to . - The value to write. + The value. + The result of the conversion. - + - Writes a value. + Performs an explicit conversion from to . - The value to write. + The value. + The result of the conversion. - + - Writes a value. + Performs an explicit conversion from to . - The value to write. + The value. + The result of the conversion. - + - Writes a value. + Performs an explicit conversion from to . - The value to write. + The value. + The result of the conversion. - + - Writes a value. + Performs an explicit conversion from to . - The value to write. + The value. + The result of the conversion. - + - Writes a value. + Performs an explicit conversion from to . - The value to write. + The value. + The result of the conversion. - + - Writes a value. + Performs an explicit conversion from to . - The value to write. + The value. + The result of the conversion. - + - Writes a value. + Performs an explicit conversion from to . - The value to write. + The value. + The result of the conversion. - + - Writes a value. + Performs an explicit conversion from to . - The value to write. + The value. + The result of the conversion. - + - Writes a value. + Performs an explicit conversion from to . - The value to write. + The value. + The result of the conversion. - + - Writes a value. + Performs an explicit conversion from to . - The value to write. + The value. + The result of the conversion. - + - Writes a value. + Performs an explicit conversion from to . - The value to write. + The value. + The result of the conversion. - + - Writes a value. + Performs an explicit conversion from to . - The value to write. + The value. + The result of the conversion. - + - Writes a value. + Performs an explicit conversion from to . - The value to write. + The value. + The result of the conversion. - + - Writes a value. + Performs an explicit conversion from to . - The value to write. + The value. + The result of the conversion. - + - Writes a value. + Performs an explicit conversion from to . - The value to write. + The value. + The result of the conversion. - + - Writes a value. + Performs an explicit conversion from to . - The value to write. + The value. + The result of the conversion. - + - Writes a value. + Performs an explicit conversion from to . - The value to write. + The value. + The result of the conversion. - + - Writes a value. + Performs an explicit conversion from to . - The value to write. + The value. + The result of the conversion. - + - Writes a value. + Performs an explicit conversion from to . - The value to write. + The value. + The result of the conversion. - + - Writes a value. + Performs an explicit conversion from to . - The value to write. + The value. + The result of the conversion. - + - Writes a value. + Performs an explicit conversion from to . - The value to write. + The value. + The result of the conversion. - + - Writes a value. + Performs an explicit conversion from to . - The value to write. + The value. + The result of the conversion. - + - Writes a value. - An error will raised if the value cannot be written as a single JSON token. + Performs an implicit conversion from to . - The value to write. + The value to create a from. + The initialized with the specified value. - + - Writes out a comment /*...*/ containing the specified text. + Performs an implicit conversion from to . - Text to place inside the comment. + The value to create a from. + The initialized with the specified value. - + - Writes out the given white space. + Performs an implicit conversion from to . - The string of white space characters. + The value to create a from. + The initialized with the specified value. - + - Gets the top. + Performs an implicit conversion from to . - The top. + The value to create a from. + The initialized with the specified value. - + - Gets the state of the writer. + Performs an implicit conversion from to . + The value to create a from. + The initialized with the specified value. - + - Indicates how the output is formatted. + Performs an implicit conversion from to . + The value to create a from. + The initialized with the specified value. - + - Initializes a new instance of the class. + Performs an implicit conversion from to . - The stream. + The value to create a from. + The initialized with the specified value. - + - Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + Performs an implicit conversion from to . + The value to create a from. + The initialized with the specified value. - + - Writes the end. + Performs an implicit conversion from to . - The token. + The value to create a from. + The initialized with the specified value. - + - Writes out a comment /*...*/ containing the specified text. + Performs an implicit conversion from to . - Text to place inside the comment. + The value to create a from. + The initialized with the specified value. - + - Writes the start of a constructor with the given name. + Performs an implicit conversion from to . - The name of the constructor. + The value to create a from. + The initialized with the specified value. - + - Writes raw JSON. + Performs an implicit conversion from to . - The raw JSON to write. + The value to create a from. + The initialized with the specified value. - + - Writes raw JSON where a value is expected and updates the writer's state. + Performs an implicit conversion from to . - The raw JSON to write. + The value to create a from. + The initialized with the specified value. - + - Writes the beginning of a Json array. + Performs an implicit conversion from to . + The value to create a from. + The initialized with the specified value. - + - Writes the beginning of a Json object. + Performs an implicit conversion from to . + The value to create a from. + The initialized with the specified value. - + - Writes the property name of a name/value pair on a Json object. + Performs an implicit conversion from to . - The name of the property. + The value to create a from. + The initialized with the specified value. - + - Writes a null value. + Performs an implicit conversion from to . + The value to create a from. + The initialized with the specified value. - + - Writes an undefined value. + Performs an implicit conversion from to . + The value to create a from. + The initialized with the specified value. - + - Writes a value. + Performs an implicit conversion from to . - The value to write. + The value to create a from. + The initialized with the specified value. - + - Writes a value. + Performs an implicit conversion from to . - The value to write. + The value to create a from. + The initialized with the specified value. - + - Writes a value. + Performs an implicit conversion from to . - The value to write. + The value to create a from. + The initialized with the specified value. - + - Writes a value. + Performs an implicit conversion from to . - The value to write. + The value to create a from. + The initialized with the specified value. - + - Writes a value. + Performs an implicit conversion from to . - The value to write. + The value to create a from. + The initialized with the specified value. - + - Writes a value. + Performs an implicit conversion from to . - The value to write. + The value to create a from. + The initialized with the specified value. - + - Writes a value. + Performs an implicit conversion from to . - The value to write. + The value to create a from. + The initialized with the specified value. - + - Writes a value. + Performs an implicit conversion from to . - The value to write. + The value to create a from. + The initialized with the specified value. - + - Writes a value. + Creates an for this token. - The value to write. + An that can be used to read this token and its descendants. - + - Writes a value. + Creates a from an object. - The value to write. + The object that will be used to create . + A with the value of the specified object - + - Writes a value. + Creates a from an object using the specified . - The value to write. + The object that will be used to create . + The that will be used when reading the object. + A with the value of the specified object - + - Writes a value. + Creates a from a . - The value to write. + An positioned at the token to read into this . + + An that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + - + - Writes a value. + Selects the token that matches the object path. - The value to write. + + The object path from the current to the + to be returned. This must be a string of property names or array indexes separated + by periods, such as Tables[0].DefaultView[0].Price in C# or + Tables(0).DefaultView(0).Price in Visual Basic. + + The that matches the object path or a null reference if no matching token is found. - + - Writes a value. + Selects the token that matches the object path. - The value to write. + + The object path from the current to the + to be returned. This must be a string of property names or array indexes separated + by periods, such as Tables[0].DefaultView[0].Price in C# or + Tables(0).DefaultView(0).Price in Visual Basic. + + A flag to indicate whether an error should be thrown if no token is found. + The that matches the object path. - + - Writes a value. + Returns the responsible for binding operations performed on this object. - The value to write. + The expression tree representation of the runtime value. + + The to bind this object. + - + - Writes a value. + Returns the responsible for binding operations performed on this object. - The value to write. + The expression tree representation of the runtime value. + + The to bind this object. + - + - Writes a value. + Creates a new instance of the . All child tokens are recursively cloned. - The value to write. + A new instance of the . - + - Writes a value that represents a BSON object id. + Gets a comparer that can compare two tokens for value equality. - + A that can compare two nodes for value equality. - + - Writes a BSON regex. + Gets or sets the parent. - The regex pattern. - The regex options. + The parent. - + - Gets or sets the used when writing values to BSON. - When set to no conversion will occur. + Gets the root of this . - The used when writing values to BSON. + The root of this . - + - Represents a BSON Oid (object id). + Gets the node type for this . + The type. - + - Initializes a new instance of the class. + Gets a value indicating whether this token has childen tokens. - The Oid value. + + true if this token has child values; otherwise, false. + - + - Gets or sets the value of the Oid. + Gets the next sibling token of this node. - The value of the Oid. + The that contains the next sibling token. - + - Converts a binary value to and from a base 64 string value. + Gets the previous sibling token of this node. + The that contains the previous sibling token. - + - Converts an object to and from JSON. + Gets the with the specified key. + The with the specified key. - + - Writes the JSON representation of the object. + Get the first child token of this token. - The to write to. - The value. - The calling serializer. + A containing the first child token of the . - + - Reads the JSON representation of the object. + Get the last child token of this token. - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. + A containing the last child token of the . - + - Determines whether this instance can convert the specified object type. + Initializes a new instance of the class from another object. - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - + A object to copy from. - + - Gets the of the JSON produced by the JsonConverter. + Initializes a new instance of the class with the given value. - The of the JSON produced by the JsonConverter. + The value. - + - Gets a value indicating whether this can read JSON. + Initializes a new instance of the class with the given value. - true if this can read JSON; otherwise, false. + The value. - + - Gets a value indicating whether this can write JSON. + Initializes a new instance of the class with the given value. - true if this can write JSON; otherwise, false. + The value. - + - Writes the JSON representation of the object. + Initializes a new instance of the class with the given value. - The to write to. The value. - The calling serializer. - + - Reads the JSON representation of the object. + Initializes a new instance of the class with the given value. - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. + The value. - + - Determines whether this instance can convert the specified object type. + Initializes a new instance of the class with the given value. - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - + The value. - + - Converts a to and from JSON. + Initializes a new instance of the class with the given value. + The value. - + - Writes the JSON representation of the object. + Creates a comment with the given value. - The to write to. The value. - The calling serializer. + A comment with the given value. - + - Reads the JSON representation of the object. + Creates a string with the given value. - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. + The value. + A string with the given value. - + - Determines whether this instance can convert the specified value type. + Writes this token to a . - Type of the value. - - true if this instance can convert the specified value type; otherwise, false. - + A into which this method will write. + A collection of which will be used when writing the token. - + - Converts a to and from JSON. + Indicates whether the current object is equal to another object of the same type. + + true if the current object is equal to the parameter; otherwise, false. + + An object to compare with this object. - + - Writes the JSON representation of the object. + Determines whether the specified is equal to the current . - The to write to. - The value. - The calling serializer. + The to compare with the current . + + true if the specified is equal to the current ; otherwise, false. + + + The parameter is null. + - + - Reads the JSON representation of the object. + Serves as a hash function for a particular type. - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. + + A hash code for the current . + - + - Determines whether this instance can convert the specified value type. + Returns the responsible for binding operations performed on this object. - Type of the value. + The expression tree representation of the runtime value. - true if this instance can convert the specified value type; otherwise, false. + The to bind this object. - + - Create a custom object + Gets a value indicating whether this token has childen tokens. - + + true if this token has child values; otherwise, false. + - + - Writes the JSON representation of the object. + Gets the node type for this . - The to write to. - The value. - The calling serializer. + The type. - + - Reads the JSON representation of the object. + Gets or sets the underlying token value. - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. + The underlying token value. - + - Creates an object which will then be populated by the serializer. + Initializes a new instance of the class from another object. - Type of the object. - + A object to copy from. - + - Determines whether this instance can convert the specified object type. + Initializes a new instance of the class. - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - + The raw json. - + - Gets a value indicating whether this can write JSON. + Creates an instance of with the content of the reader's current token. - - true if this can write JSON; otherwise, false. - + The reader. + An instance of with the content of the reader's current token. - + - Provides a base class for converting a to and from JSON. + Represents a collection of objects. + The type of token - + - Determines whether this instance can convert the specified object type. + An empty collection of objects. - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - + - Converts an Entity Framework EntityKey to and from JSON. + Initializes a new instance of the struct. + The enumerable. - + - Writes the JSON representation of the object. + Returns an enumerator that iterates through the collection. - The to write to. - The value. - The calling serializer. + + A that can be used to iterate through the collection. + - + - Reads the JSON representation of the object. + Returns an enumerator that iterates through a collection. - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. + + An object that can be used to iterate through the collection. + - + - Determines whether this instance can convert the specified object type. + Determines whether the specified is equal to this instance. - Type of the object. + The to compare with this instance. - true if this instance can convert the specified object type; otherwise, false. + true if the specified is equal to this instance; otherwise, false. - + - Converts a to and from JSON. + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Gets the with the specified key. + - + + + Converts XML to and from JSON. + + + + + Converts an object to and from JSON. + + + Writes the JSON representation of the object. @@ -1018,7 +1156,7 @@ The value. The calling serializer. - + Reads the JSON representation of the object. @@ -1028,7 +1166,7 @@ The calling serializer. The object value. - + Determines whether this instance can convert the specified object type. @@ -1037,20 +1175,33 @@ true if this instance can convert the specified object type; otherwise, false. - + - Converts a to and from JSON and BSON. + Gets the of the JSON produced by the JsonConverter. + The of the JSON produced by the JsonConverter. - + + + Gets a value indicating whether this can read JSON. + + true if this can read JSON; otherwise, false. + + + + Gets a value indicating whether this can write JSON. + + true if this can write JSON; otherwise, false. + + Writes the JSON representation of the object. The to write to. - The value. The calling serializer. + The value. - + Reads the JSON representation of the object. @@ -1060,3616 +1211,5710 @@ The calling serializer. The object value. - + - Determines whether this instance can convert the specified object type. + Checks if the attributeName is a namespace attribute. - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - + Attribute name to test. + The attribute name prefix if it has one, otherwise an empty string. + True if attribute name is for a namespace attribute, otherwise false. - + - Converts a to and from JSON and BSON. + Determines whether this instance can convert the specified value type. + Type of the value. + + true if this instance can convert the specified value type; otherwise, false. + - + - Writes the JSON representation of the object. + Gets or sets the name of the root element to insert when deserializing to XML if the JSON structure has produces multiple root elements. - The to write to. - The value. - The calling serializer. + The name of the deserialize root element. - + - Reads the JSON representation of the object. + Gets or sets a flag to indicate whether to write the Json.NET array attribute. + This attribute helps preserve arrays when converting the written XML back to JSON. - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. + true if the array attibute is written to the XML; otherwise, false. - + - Determines whether this instance can convert the specified object type. + Gets or sets a value indicating whether to write the root JSON object. - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - + true if the JSON root object is omitted; otherwise, false. - + - Converts an to and from its name string value. + Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. - + - Writes the JSON representation of the object. + Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. - The to write to. - The value. - The calling serializer. - + - Reads the JSON representation of the object. + Creates an instance of the JsonWriter class. - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - + - Determines whether this instance can convert the specified object type. + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - + - Specifies how constructors are used when initializing objects during deserialization by the . + Closes this stream and the underlying stream. - + - First attempt to use the public default constructor then fall back to single paramatized constructor. + Writes the beginning of a Json object. - + - Allow Json.NET to use a non-public default constructor. + Writes the end of a Json object. - + - Represents a raw JSON string. + Writes the beginning of a Json array. - + - Represents a value in JSON (string, integer, date, etc). + Writes the end of an array. - + - Represents an abstract JSON token. + Writes the start of a constructor with the given name. + The name of the constructor. - + - Represents a collection of objects. + Writes the end constructor. - The type of token - + - Gets the with the specified key. + Writes the property name of a name/value pair on a Json object. - + The name of the property. - + - Provides an interface to enable a class to return line and position information. + Writes the end of the current Json object or array. - + - Gets a value indicating whether the class can return line information. + Writes the current token. - - true if LineNumber and LinePosition can be provided; otherwise, false. - + The to read the token from. - + - Gets the current line number. + Writes the specified end token. - The current line number or 0 if no line information is available (for example, HasLineInfo returns false). + The end token to write. - + - Gets the current line position. + Writes indent characters. - The current line position or 0 if no line information is available (for example, HasLineInfo returns false). - + - Compares the values of two tokens, including the values of all descendant tokens. + Writes the JSON value delimiter. - The first to compare. - The second to compare. - true if the tokens are equal; otherwise false. - + - Adds the specified content immediately after this token. + Writes an indent space. - A content object that contains simple content or a collection of content objects to be added after this token. - + - Adds the specified content immediately before this token. + Writes a null value. - A content object that contains simple content or a collection of content objects to be added before this token. - + - Returns a collection of the ancestor tokens of this token. + Writes an undefined value. - A collection of the ancestor tokens of this token. - + - Returns a collection of the sibling tokens after this token, in document order. + Writes raw JSON without changing the writer's state. - A collection of the sibling tokens after this tokens, in document order. + The raw JSON to write. - + - Returns a collection of the sibling tokens before this token, in document order. + Writes raw JSON where a value is expected and updates the writer's state. - A collection of the sibling tokens before this token, in document order. + The raw JSON to write. - + - Gets the with the specified key converted to the specified type. + Writes a value. - The type to convert the token to. - The token key. - The converted token value. + The value to write. - + - Returns a collection of the child tokens of this token, in document order. + Writes a value. - An of containing the child tokens of this , in document order. + The value to write. - + - Returns a collection of the child tokens of this token, in document order, filtered by the specified type. + Writes a value. - The type to filter the child tokens on. - A containing the child tokens of this , in document order. + The value to write. - + - Returns a collection of the child values of this token, in document order. + Writes a value. - The type to convert the values to. - A containing the child values of this , in document order. + The value to write. - + - Removes this token from its parent. + Writes a value. + The value to write. - + - Replaces this token with the specified token. + Writes a value. - The value. + The value to write. - + - Writes this token to a . + Writes a value. - A into which this method will write. - A collection of which will be used when writing the token. + The value to write. - + - Returns the indented JSON for this token. + Writes a value. - - The indented JSON for this token. - + The value to write. - + - Returns the JSON for this token using the given formatting and converters. + Writes a value. - Indicates how the output is formatted. - A collection of which will be used when writing the token. - The JSON for this token using the given formatting and converters. + The value to write. - + - Performs an explicit conversion from to . + Writes a value. - The value. - The result of the conversion. + The value to write. - + - Performs an explicit conversion from to . + Writes a value. - The value. - The result of the conversion. + The value to write. - + - Performs an explicit conversion from to . + Writes a value. - The value. - The result of the conversion. + The value to write. - + - Performs an explicit conversion from to . + Writes a value. - The value. - The result of the conversion. + The value to write. - + - Performs an explicit conversion from to . + Writes a value. - The value. - The result of the conversion. + The value to write. - + - Performs an explicit conversion from to . + Writes a value. - The value. - The result of the conversion. + The value to write. - + - Performs an explicit conversion from to . + Writes a value. - The value. - The result of the conversion. + The value to write. - + - Performs an explicit conversion from to . + Writes a value. - The value. - The result of the conversion. + The value to write. - + - Performs an explicit conversion from to . + Writes a value. - The value. - The result of the conversion. + The value to write. - + - Performs an explicit conversion from to . + Writes a value. - The value. - The result of the conversion. + The value to write. - + - Performs an explicit conversion from to . + Writes a value. - The value. - The result of the conversion. + The value to write. - + - Performs an explicit conversion from to . + Writes a value. - The value. - The result of the conversion. + The value to write. - + - Performs an explicit conversion from to . + Writes a value. - The value. - The result of the conversion. + The value to write. - + - Performs an explicit conversion from to . + Writes a value. - The value. - The result of the conversion. + The value to write. - + - Performs an explicit conversion from to . + Writes a value. - The value. - The result of the conversion. + The value to write. - + - Performs an explicit conversion from to . + Writes a value. - The value. - The result of the conversion. + The value to write. - + - Performs an explicit conversion from to . + Writes a value. - The value. - The result of the conversion. + The value to write. - + - Performs an explicit conversion from to . + Writes a value. - The value. - The result of the conversion. + The value to write. - + - Performs an explicit conversion from to . + Writes a value. - The value. - The result of the conversion. + The value to write. - + - Performs an explicit conversion from to . + Writes a value. - The value. - The result of the conversion. + The value to write. - + - Performs an explicit conversion from to . + Writes a value. - The value. - The result of the conversion. + The value to write. - + - Performs an explicit conversion from to . + Writes a value. - The value. - The result of the conversion. + The value to write. - + - Performs an implicit conversion from to . + Writes a value. - The value to create a from. - The initialized with the specified value. + The value to write. - + - Performs an implicit conversion from to . + Writes a value. + An error will raised if the value cannot be written as a single JSON token. - The value to create a from. - The initialized with the specified value. + The value to write. - + - Performs an implicit conversion from to . + Writes out a comment /*...*/ containing the specified text. - The value to create a from. - The initialized with the specified value. + Text to place inside the comment. - + - Performs an implicit conversion from to . + Writes out the given white space. - The value to create a from. - The initialized with the specified value. + The string of white space characters. - + - Performs an implicit conversion from to . + Gets the top. - The value to create a from. - The initialized with the specified value. + The top. - + - Performs an implicit conversion from to . + Gets the state of the writer. - The value to create a from. - The initialized with the specified value. - + - Performs an implicit conversion from to . + Indicates how the output is formatted. - The value to create a from. - The initialized with the specified value. - + - Performs an implicit conversion from to . + Initializes a new instance of the class. - The value to create a from. - The initialized with the specified value. + The stream. - + - Performs an implicit conversion from to . + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. - The value to create a from. - The initialized with the specified value. - + - Performs an implicit conversion from to . + Writes the end. - The value to create a from. - The initialized with the specified value. + The token. - + - Performs an implicit conversion from to . + Writes out a comment /*...*/ containing the specified text. - The value to create a from. - The initialized with the specified value. + Text to place inside the comment. - + - Performs an implicit conversion from to . + Writes the start of a constructor with the given name. - The value to create a from. - The initialized with the specified value. + The name of the constructor. - + - Performs an implicit conversion from to . + Writes raw JSON. - The value to create a from. - The initialized with the specified value. + The raw JSON to write. - + - Performs an implicit conversion from to . + Writes raw JSON where a value is expected and updates the writer's state. - The value to create a from. - The initialized with the specified value. + The raw JSON to write. - + - Performs an implicit conversion from to . + Writes the beginning of a Json array. - The value to create a from. - The initialized with the specified value. - + - Performs an implicit conversion from to . + Writes the beginning of a Json object. - The value to create a from. - The initialized with the specified value. - + - Performs an implicit conversion from to . + Writes the property name of a name/value pair on a Json object. - The value to create a from. - The initialized with the specified value. + The name of the property. - + - Performs an implicit conversion from to . + Writes a null value. - The value to create a from. - The initialized with the specified value. - + - Performs an implicit conversion from to . + Writes an undefined value. - The value to create a from. - The initialized with the specified value. - + - Performs an implicit conversion from to . + Writes a value. - The value to create a from. - The initialized with the specified value. + The value to write. - + - Performs an implicit conversion from to . + Writes a value. - The value to create a from. - The initialized with the specified value. + The value to write. - + - Performs an implicit conversion from to . + Writes a value. - The value to create a from. - The initialized with the specified value. + The value to write. - + - Performs an implicit conversion from to . + Writes a value. - The value to create a from. - The initialized with the specified value. + The value to write. - + - Performs an implicit conversion from to . + Writes a value. - The value to create a from. - The initialized with the specified value. + The value to write. - + - Creates an for this token. + Writes a value. - An that can be used to read this token and its descendants. + The value to write. - + - Creates a from an object. + Writes a value. - The object that will be used to create . - A with the value of the specified object + The value to write. - + - Creates a from an object using the specified . + Writes a value. - The object that will be used to create . - The that will be used when reading the object. - A with the value of the specified object + The value to write. - + - Creates a from a . + Writes a value. - An positioned at the token to read into this . - - An that contains the token and its descendant tokens - that were read from the reader. The runtime type of the token is determined - by the token type of the first token encountered in the reader. - + The value to write. - + - Selects the token that matches the object path. + Writes a value. - - The object path from the current to the - to be returned. This must be a string of property names or array indexes separated - by periods, such as Tables[0].DefaultView[0].Price in C# or - Tables(0).DefaultView(0).Price in Visual Basic. - - The that matches the object path or a null reference if no matching token is found. + The value to write. - + - Selects the token that matches the object path. + Writes a value. - - The object path from the current to the - to be returned. This must be a string of property names or array indexes separated - by periods, such as Tables[0].DefaultView[0].Price in C# or - Tables(0).DefaultView(0).Price in Visual Basic. - - A flag to indicate whether an error should be thrown if no token is found. - The that matches the object path. + The value to write. - + - Gets a comparer that can compare two tokens for value equality. + Writes a value. - A that can compare two nodes for value equality. + The value to write. - + - Gets or sets the parent. + Writes a value. - The parent. + The value to write. - + - Gets the root of this . + Writes a value. - The root of this . + The value to write. - + - Gets the node type for this . + Writes a value. - The type. + The value to write. - + - Gets a value indicating whether this token has childen tokens. + Writes a value. - - true if this token has child values; otherwise, false. - + The value to write. - + - Gets the next sibling token of this node. + Writes a value. - The that contains the next sibling token. + The value to write. - + - Gets the previous sibling token of this node. + Writes a value that represents a BSON object id. - The that contains the previous sibling token. + - + - Gets the with the specified key. + Writes a BSON regex. - The with the specified key. + The regex pattern. + The regex options. - + - Get the first child token of this token. + Gets or sets the used when writing values to BSON. + When set to no conversion will occur. - A containing the first child token of the . + The used when writing values to BSON. - + - Get the last child token of this token. + Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. - A containing the last child token of the . - + - Initializes a new instance of the class from another object. + Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. - A object to copy from. - + - Initializes a new instance of the class with the given value. + Initializes a new instance of the class with the specified . - The value. - + - Initializes a new instance of the class with the given value. + Reads the next JSON token from the stream. - The value. + true if the next token was read successfully; false if there are no more tokens to read. - + - Initializes a new instance of the class with the given value. + Reads the next JSON token from the stream as a . - The value. + A or a null reference if the next JSON token is null. - + - Initializes a new instance of the class with the given value. + Reads the next JSON token from the stream as a . - The value. + A . - + - Initializes a new instance of the class with the given value. + Reads the next JSON token from the stream as a . - The value. + A . - + - Initializes a new instance of the class with the given value. + Skips the children of the current token. - The value. - + - Initializes a new instance of the class with the given value. + Sets the current token. - The value. + The new token. - + - Creates a comment with the given value. + Sets the current token and value. + The new token. The value. - A comment with the given value. - + - Creates a string with the given value. + Sets the state based on current token type. - The value. - A string with the given value. - + - Writes this token to a . + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. - A into which this method will write. - A collection of which will be used when writing the token. - + - Indicates whether the current object is equal to another object of the same type. + Releases unmanaged and - optionally - managed resources - - true if the current object is equal to the parameter; otherwise, false. - - An object to compare with this object. + true to release both managed and unmanaged resources; false to release only unmanaged resources. - + - Determines whether the specified is equal to the current . + Changes the to Closed. - The to compare with the current . - - true if the specified is equal to the current ; otherwise, false. - - - The parameter is null. - - + - Serves as a hash function for a particular type. + Gets the current reader state. - - A hash code for the current . - + The current reader state. - + - Gets a value indicating whether this token has childen tokens. + Gets the quotation mark character used to enclose the value of a string. - - true if this token has child values; otherwise, false. - - + - Gets the node type for this . + Gets the type of the current Json token. - The type. - + - Gets or sets the underlying token value. + Gets the text value of the current Json token. - The underlying token value. - + - Initializes a new instance of the class from another object. + Gets The Common Language Runtime (CLR) type for the current Json token. - A object to copy from. - + - Initializes a new instance of the class. + Gets the depth of the current token in the JSON document. - The raw json. + The depth of the current token in the JSON document. - + - Creates an instance of with the content of the reader's current token. + Specifies the state of the reader. - The reader. - An instance of with the content of the reader's current token. - + - Indicating whether a property is required. + The Read method has not been called. - + - The property is not required. The default state. + The end of the file has been reached successfully. - + - The property must be defined in JSON but can be a null value. + Reader is at a property. - + - The property must be defined in JSON and cannot be a null value. + Reader is at the start of an object. - + - Contract details for a used by the . + Reader is in an object. - + - Contract details for a used by the . + Reader is at the start of an array. - + - Gets the underlying type for the contract. + Reader is in an array. - The underlying type for the contract. - + - Gets or sets the type created during deserialization. + The Close method has been called. - The type created during deserialization. - + - Gets or sets whether this type contract is serialized as a reference. + Reader has just read a value. - Whether this type contract is serialized as a reference. - + - Gets or sets the default for this contract. + Reader is at the start of a constructor. - The converter. - + - Gets or sets the method called immediately after deserialization of the object. + Reader in a constructor. - The method called immediately after deserialization of the object. - + - Gets or sets the method called during deserialization of the object. + An error occurred that prevents the read operation from continuing. - The method called during deserialization of the object. - + - Gets or sets the method called after serialization of the object graph. + The end of the file has been reached successfully. - The method called after serialization of the object graph. - + - Gets or sets the method called before serialization of the object. + Initializes a new instance of the class. - The method called before serialization of the object. + The stream. - + - Gets or sets the default creator method used to create the object. + Initializes a new instance of the class. - The default creator method used to create the object. + The stream. + if set to true the root object will be read as a JSON array. + The used when reading values from BSON. - + - Gets or sets a value indicating whether [default creator non public]. + Reads the next JSON token from the stream as a . - true if the default object creator is non-public; otherwise, false. + + A or a null reference if the next JSON token is null. + - + - Gets or sets the method called when an error is thrown during the serialization of the object. + Reads the next JSON token from the stream as a . - The method called when an error is thrown during the serialization of the object. + A . - + - Initializes a new instance of the class. + Reads the next JSON token from the stream as a . - The underlying type for the contract. + + A . + - + - Gets or sets the ISerializable object constructor. + Reads the next JSON token from the stream. - The ISerializable object constructor. + + true if the next token was read successfully; false if there are no more tokens to read. + - + - Contract details for a used by the . + Gets or sets a value indicating whether binary data reading should compatible with incorrect Json.NET 3.5 written binary. + + true if binary data reading will be compatible with incorrect Json.NET 3.5 written binary; otherwise, false. + - + - Initializes a new instance of the class. + Gets or sets a value indicating whether the root object will be read as a JSON array. - The underlying type for the contract. + + true if the root object will be read as a JSON array; otherwise, false. + - + - Contract details for a used by the . + Gets or sets the used when reading values from BSON. + The used when reading values from BSON. - + - Initializes a new instance of the class. + Creates a unit of work context for a given Actor (Domain Object) - The underlying type for the contract. + Actor must be a reference type - this should typically be a domain object type + The actual instance of your domain object + IContext - + - Get and set values for a using dynamic methods. + Creates a unit of work context for a given Actor (Domain Object) and immediately executes the unit of work, + with the actual "work" being the action passed in as the onCommit. An action passed for onSuccess will fire when the + Commit succeeds, action passed for onException fires if the Commit throws an exception. This method simply + provides more terse (and perhaps sugary) syntax to keep you from have to code up a "using" block. + Reference Type that should typically be a domain object type. + The actual instance of your domain object + The Action that defines the work being done to the Actor + An Action to take once the work succeeds. + An Action to take if the work throws an exception. - + - Provides methods to get and set values. + Specifies the method used to infer field tags for members of the type + under consideration. Tags are deduced using the invariant alphabetic + sequence of the members' names; this makes implicit field tags very brittle, + and susceptible to changes such as field names (normally an isolated + change). - + - Sets the value. + No members are serialized implicitly; all members require a suitable + attribute such as [ProtoMember]. This is the recmomended mode for + most scenarios. - The target to set the value on. - The value to set on the target. - + - Gets the value. + Public properties and fields are eligible for implicit serialization; + this treats the public API as a contract. - The target to get the value from. - The value. - + - Initializes a new instance of the class. + Public and non-public fields are eligible for implicit serialization; + this acts as a state/implementation serializer. - The member info. - + - Sets the value. + Provides protocol-buffer serialization capability for concrete, attributed types. This + is a *default* model, but custom serializer models are also supported. - The target to set the value on. - The value to set on the target. + + Protocol-buffer serialization is a compact binary format, designed to take + advantage of sparse data and knowledge of specific data types; it is also + extensible, allowing a type to be deserialized / merged even if some data is + not recognised. + - + - Gets the value. + The field number that is used as a default when serializing/deserializing a list of objects. + The data is treated as repeated message with field number 1. - The target to get the value from. - The value. - + - Provides data for the Error event. + Suggest a .proto definition for the given type + The type to generate a .proto definition for + The .proto definition as a string - + - Initializes a new instance of the class. + Create a deep clone of the supplied instance; any sub-items are also cloned. - The current object. - The error context. - + - Gets the current object the error event is being raised against. + Applies a protocol-buffer stream to an existing instance. - The current object the error event is being raised against. + The type being merged. + The existing instance to be modified (can be null). + The binary stream to apply to the instance (cannot be null). + The updated instance; this may be different to the instance argument if + either the original instance was null, or the stream defines a known sub-type of the + original instance. - + - Gets the error context. + Creates a new instance from a protocol-buffer stream - The error context. + The type to be created. + The binary stream to apply to the new instance (cannot be null). + A new, initialized instance. - + - Represents a view of a . + Writes a protocol-buffer representation of the given instance to the supplied stream. + The existing instance to be serialized (cannot be null). + The destination stream to write to. - + - Initializes a new instance of the class. + Serializes a given instance and deserializes it as a different type; + this can be used to translate between wire-compatible objects (where + two .NET types represent the same data), or to promote/demote a type + through an inheritance hierarchy. - The name. - Type of the property. + No assumption of compatibility is made between the types. + The type of the object being copied. + The type of the new object to be created. + The existing instance to use as a template. + A new instane of type TNewType, with the data from TOldType. - + - When overridden in a derived class, returns whether resetting an object changes its value. + Writes a protocol-buffer representation of the given instance to the supplied XmlWriter. - - true if resetting the component changes its value; otherwise, false. - - The component to test for reset capability. - + The type being serialized. + The existing instance to be serialized (cannot be null). + The destination XmlWriter to write to. - + - When overridden in a derived class, gets the current value of the property on a component. + Applies a protocol-buffer from an XmlReader to an existing instance. - - The value of a property for a given component. - - The component with the property for which to retrieve the value. - + The type being merged. + The existing instance to be modified (cannot be null). + The XmlReader containing the data to apply to the instance (cannot be null). - + - When overridden in a derived class, resets the value for this property of the component to the default value. + Precompiles the serializer for a given type. - The component with the property value that is to be reset to the default value. - - + - When overridden in a derived class, sets the value of the component to a different value. + Reads a sequence of consecutive length-prefixed items from a stream, using + either base-128 or fixed-length prefixes. Base-128 prefixes with a tag + are directly comparable to serializing multiple items in succession + (use the tag to emulate the implicit behavior + when serializing a list/array). When a tag is + specified, any records with different tags are silently omitted. The + tag is ignored. The tag is ignores for fixed-length prefixes. - The component with the property value that is to be set. - The new value. - + The type of object to deserialize. + The binary stream containing the serialized records. + The prefix style used in the data. + The tag of records to return (if non-positive, then no tag is + expected and all records are returned). + The sequence of deserialized objects. - + - When overridden in a derived class, determines a value indicating whether the value of this property needs to be persisted. + Creates a new instance from a protocol-buffer stream that has a length-prefix + on data (to assist with network IO). - - true if the property should be persisted; otherwise, false. - - The component with the property to be examined for persistence. - + The type to be created. + The binary stream to apply to the new instance (cannot be null). + How to encode the length prefix. + A new, initialized instance. - + - When overridden in a derived class, gets the type of the component this property is bound to. + Creates a new instance from a protocol-buffer stream that has a length-prefix + on data (to assist with network IO). - - A that represents the type of component this property is bound to. When the or methods are invoked, the object specified might be an instance of this type. - + The type to be created. + The binary stream to apply to the new instance (cannot be null). + How to encode the length prefix. + The expected tag of the item (only used with base-128 prefix style). + A new, initialized instance. - + - When overridden in a derived class, gets a value indicating whether this property is read-only. + Applies a protocol-buffer stream to an existing instance, using length-prefixed + data - useful with network IO. - - true if the property is read-only; otherwise, false. - + The type being merged. + The existing instance to be modified (can be null). + The binary stream to apply to the instance (cannot be null). + How to encode the length prefix. + The updated instance; this may be different to the instance argument if + either the original instance was null, or the stream defines a known sub-type of the + original instance. - + - When overridden in a derived class, gets the type of the property. + Writes a protocol-buffer representation of the given instance to the supplied stream, + with a length-prefix. This is useful for socket programming, + as DeserializeWithLengthPrefix/MergeWithLengthPrefix can be used to read the single object back + from an ongoing stream. - - A that represents the type of the property. - + The type being serialized. + The existing instance to be serialized (cannot be null). + How to encode the length prefix. + The destination stream to write to. - + - Gets the hash code for the name of the member. + Writes a protocol-buffer representation of the given instance to the supplied stream, + with a length-prefix. This is useful for socket programming, + as DeserializeWithLengthPrefix/MergeWithLengthPrefix can be used to read the single object back + from an ongoing stream. - - - The hash code for the name of the member. - + The type being serialized. + The existing instance to be serialized (cannot be null). + How to encode the length prefix. + The destination stream to write to. + The tag used as a prefix to each record (only used with base-128 style prefixes). + + + Indicates the number of bytes expected for the next message. + The stream containing the data to investigate for a length. + The algorithm used to encode the length. + The length of the message, if it could be identified. + True if a length could be obtained, false otherwise. - + + Indicates the number of bytes expected for the next message. + The buffer containing the data to investigate for a length. + The offset of the first byte to read from the buffer. + The number of bytes to read from the buffer. + The algorithm used to encode the length. + The length of the message, if it could be identified. + True if a length could be obtained, false otherwise. + + - Represents a view of a . + Global switches that change the behavior of protobuf-net - + - Initializes a new instance of the class. + Global default for that + enables/disables automatic tag generation based on the existing name / order + of the defined members. See + for usage and important warning / explanation. + You must set the global default before attempting to serialize/deserialize any + impacted type. - The value. - + - Returns the properties for this instance of a component. + Provides non-generic access to the default serializer. - - A that represents the properties for this component instance. - - + - Returns the properties for this instance of a component using the attribute array as a filter. + Create a deep clone of the supplied instance; any sub-items are also cloned. - An array of type that is used as a filter. - - A that represents the filtered properties for this component instance. - - + - Returns a collection of custom attributes for this instance of a component. + Writes a protocol-buffer representation of the given instance to the supplied stream. - - An containing the attributes for this object. - + The existing instance to be serialized (cannot be null). + The destination stream to write to. - + - Returns the class name of this instance of a component. + Creates a new instance from a protocol-buffer stream - - The class name of the object, or null if the class does not have a name. - + The type to be created. + The binary stream to apply to the new instance (cannot be null). + A new, initialized instance. - + - Returns the name of this instance of a component. + Writes a protocol-buffer representation of the given instance to the supplied stream, + with a length-prefix. This is useful for socket programming, + as DeserializeWithLengthPrefix/MergeWithLengthPrefix can be used to read the single object back + from an ongoing stream. - - The name of the object, or null if the object does not have a name. - + The existing instance to be serialized (cannot be null). + How to encode the length prefix. + The destination stream to write to. + The tag used as a prefix to each record (only used with base-128 style prefixes). - + - Returns a type converter for this instance of a component. + Applies a protocol-buffer stream to an existing instance (or null), using length-prefixed + data - useful with network IO. - - A that is the converter for this object, or null if there is no for this object. - + The existing instance to be modified (can be null). + The binary stream to apply to the instance (cannot be null). + How to encode the length prefix. + Used to resolve types on a per-field basis. + The updated instance; this may be different to the instance argument if + either the original instance was null, or the stream defines a known sub-type of the + original instance. - + - Returns the default event for this instance of a component. + Indicates whether the supplied type is explicitly modelled by the model - - An that represents the default event for this object, or null if this object does not have events. - - + - Returns the default property for this instance of a component. + Maps a field-number to a type - - A that represents the default property for this object, or null if this object does not have properties. - - + - Returns an editor of the specified type for this instance of a component. + Converts the value to the specified type. - A that represents the editor for this object. - - An of the specified type that is the editor for this object, or null if the editor cannot be found. - + The type to convert the value to. + The value to convert. + The converted type. - + - Returns the events for this instance of a component using the specified attribute array as a filter. + Converts the value to the specified type. - An array of type that is used as a filter. - - An that represents the filtered events for this component instance. - + The type to convert the value to. + The value to convert. + The culture to use when converting. + The converted type. - + - Returns the events for this instance of a component. + Converts the value to the specified type. + + The value to convert. + The culture to use when converting. + The type to convert the value to. + The converted type. + + + + Converts the value to the specified type. + The type to convert the value to. + The value to convert. + The converted value if the conversion was successful or the default value of T if it failed. - An that represents the events for this component instance. + true if initialValue was converted successfully; otherwise, false. - + - Returns an object that contains the property described by the specified property descriptor. + Converts the value to the specified type. - A that represents the property whose owner is to be found. + The type to convert the value to. + The value to convert. + The culture to use when converting. + The converted value if the conversion was successful or the default value of T if it failed. - An that represents the owner of the specified property. + true if initialValue was converted successfully; otherwise, false. - + - Used to resolve references when serializing and deserializing JSON by the . + Converts the value to the specified type. + The value to convert. + The culture to use when converting. + The type to convert the value to. + The converted value if the conversion was successful or the default value of T if it failed. + + true if initialValue was converted successfully; otherwise, false. + - + - Resolves a reference to its object. + Converts the value to the specified type. If the value is unable to be converted, the + value is checked whether it assignable to the specified type. - The reference to resolve. - The object that + The type to convert or cast the value to. + The value to convert. + The converted type. If conversion was unsuccessful, the initial value is returned if assignable to the target type - + - Gets the reference for the sepecified object. + Converts the value to the specified type. If the value is unable to be converted, the + value is checked whether it assignable to the specified type. - The object to get a reference for. - The reference to the object. + The type to convert or cast the value to. + The value to convert. + The culture to use when converting. + The converted type. If conversion was unsuccessful, the initial value is returned if assignable to the target type - + - Determines whether the specified object is referenced. + Converts the value to the specified type. If the value is unable to be converted, the + value is checked whether it assignable to the specified type. - The object to test for a reference. + The value to convert. + The culture to use when converting. + The type to convert or cast the value to. - true if the specified object is referenced; otherwise, false. + The converted type. If conversion was unsuccessful, the initial value + is returned if assignable to the target type. - + - Adds a reference to the specified object. + Converts the value to the specified type. If the value is unable to be converted, the + value is checked whether it assignable to the specified type. - The reference. - The object to reference. + The type to convert the value to. + The value to convert. + The converted value if the conversion was successful or the default value of T if it failed. + + true if initialValue was converted successfully or is assignable; otherwise, false. + - + - Specifies reference handling options for the . + Converts the value to the specified type. If the value is unable to be converted, the + value is checked whether it assignable to the specified type. + The type to convert the value to. + The value to convert. + The culture to use when converting. + The converted value if the conversion was successful or the default value of T if it failed. + + true if initialValue was converted successfully or is assignable; otherwise, false. + - + - Do not preserve references when serializing types. + Converts the value to the specified type. If the value is unable to be converted, the + value is checked whether it assignable to the specified type. + The value to convert. + The culture to use when converting. + The type to convert the value to. + The converted value if the conversion was successful or the default value of T if it failed. + + true if initialValue was converted successfully or is assignable; otherwise, false. + - + - Preserve references when serializing into a JSON object structure. + Specifies the type of Json token. - + - Preserve references when serializing into a JSON array structure. + This is returned by the if a method has not been called. - + - Preserve references when serializing. + An object start token. - + - Instructs the how to serialize the collection. + An array start token. - + - Instructs the how to serialize the object. + A constructor start token. - + - Initializes a new instance of the class. + An object property name. - + - Initializes a new instance of the class with the specified container Id. + A comment. - The container Id. - + - Gets or sets the id. + Raw JSON. - The id. - + - Gets or sets the title. + An interger. - The title. - + - Gets or sets the description. + A float. - The description. - + - Gets or sets a value that indicates whether to preserve object reference data. + A string. - - true to keep object reference; otherwise, false. The default is false. - - + - Initializes a new instance of the class. + A boolean. - + - Initializes a new instance of the class with a flag indicating whether the array can contain null items + A null token. - A flag indicating whether the array can contain null items. - + - Initializes a new instance of the class with the specified container Id. + An undefined token. - The container Id. - + - Gets or sets a value indicating whether null items are allowed in the collection. + An object end token. - true if null items are allowed in the collection; otherwise, false. - + - Specifies default value handling options for the . + An array end token. - + - Include default values when serializing and deserializing objects. + A constructor end token. - + - Ignore default values when serializing and deserializing objects. + A Date. - + - Instructs the to use the specified when serializing the member or class. + Byte data. - + - Initializes a new instance of the class. + Instructs the not to serialize the public field or public read/write property value. - Type of the converter. - + - Gets the type of the converter. + Specifies whether a DateTime object represents a local time, a Coordinated Universal Time (UTC), or is not specified as either local time or UTC. - The type of the converter. - + - Instructs the how to serialize the object. + The time represented is local time. - + - Initializes a new instance of the class. + The time represented is UTC. - + - Initializes a new instance of the class with the specified member serialization. + The time represented is not specified as either local time or Coordinated Universal Time (UTC). - The member serialization. - + - Initializes a new instance of the class with the specified container Id. + Preserves the DateTimeKind field of a date when a DateTime object is converted to a string and the string is then converted back to a DateTime object. - The container Id. - + - Gets or sets the member serialization. + Converts a to and from JSON. - The member serialization. - + - Specifies the settings on a object. + Writes the JSON representation of the object. + The to write to. + The value. + The calling serializer. - + - Initializes a new instance of the class. + Reads the JSON representation of the object. + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. - + - Gets or sets how reference loops (e.g. a class referencing itself) is handled. + Determines whether this instance can convert the specified value type. - Reference loop handling. + Type of the value. + + true if this instance can convert the specified value type; otherwise, false. + - + - Gets or sets how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. + Used to hold particulars relating to nested objects. This is opaque to the caller - simply + give back the token you are given at the end of an object. - Missing member handling. - + - Gets or sets how objects are created during deserialization. + Indicates the known-types to support for an individual + message. This serializes each level in the hierarchy as + a nested message to retain wire-compatibility with + other protocol-buffer implementations. - The object creation handling. - + - Gets or sets how null values are handled during serialization and deserialization. + Creates a new instance of the ProtoIncludeAttribute. - Null value handling. + The unique index (within the type) that will identify this data. + The additional type to serialize/deserialize. - + - Gets or sets how null default are handled during serialization and deserialization. + Creates a new instance of the ProtoIncludeAttribute. - The default value handling. + The unique index (within the type) that will identify this data. + The additional type to serialize/deserialize. - + - Gets or sets a collection that will be used during serialization. + Gets the unique index (within the type) that will identify this data. - The converters. - + - Gets or sets how object references are preserved by the serializer. + Gets the additional type to serialize/deserialize. - The preserve references handling. - + - Gets or sets how type name writing and reading is handled by the serializer. + Gets the additional type to serialize/deserialize. - The type name handling. - + - Gets or sets how a type name assembly is written and resolved by the serializer. + Specifies whether the inherited sype's sub-message should be + written with a length-prefix (default), or with group markers. - The type name assembly format. - + - Gets or sets how constructors are used during deserialization. + Contract details for a used by the . - The constructor handling. - + - Gets or sets the contract resolver used by the serializer when - serializing .NET objects to JSON and vice versa. + Contract details for a used by the . - The contract resolver. - + - Gets or sets the used by the serializer when resolving references. + Gets the underlying type for the contract. - The reference resolver. + The underlying type for the contract. - + - Gets or sets the used by the serializer when resolving type names. + Gets or sets the type created during deserialization. - The binder. + The type created during deserialization. - + - Gets or sets the error handler called during serialization and deserialization. + Gets or sets whether this type contract is serialized as a reference. - The error handler called during serialization and deserialization. + Whether this type contract is serialized as a reference. - + - Gets or sets the used by the serializer when invoking serialization callback methods. + Gets or sets the default for this contract. - The context. + The converter. - + - Represents a reader that provides validation. + Gets or sets the method called immediately after deserialization of the object. + The method called immediately after deserialization of the object. - + - Initializes a new instance of the class that - validates the content returned from the given . + Gets or sets the method called during deserialization of the object. - The to read from while validating. + The method called during deserialization of the object. - + - Reads the next JSON token from the stream as a . + Gets or sets the method called after serialization of the object graph. - - A or a null reference if the next JSON token is null. - + The method called after serialization of the object graph. - + - Reads the next JSON token from the stream. + Gets or sets the method called before serialization of the object. - - true if the next token was read successfully; false if there are no more tokens to read. - + The method called before serialization of the object. - + - Sets an event handler for receiving schema validation errors. + Gets or sets the default creator method used to create the object. + The default creator method used to create the object. - + - Gets the text value of the current Json token. + Gets or sets a value indicating whether [default creator non public]. - + true if the default object creator is non-public; otherwise, false. - + - Gets the depth of the current token in the JSON document. + Gets or sets the method called when an error is thrown during the serialization of the object. - The depth of the current token in the JSON document. + The method called when an error is thrown during the serialization of the object. - + - Gets the quotation mark character used to enclose the value of a string. + Initializes a new instance of the class. - + The underlying type for the contract. - + - Gets the type of the current Json token. + Provides methods to get and set values. - - + - Gets The Common Language Runtime (CLR) type for the current Json token. + Sets the value. - + The target to set the value on. + The value to set on the target. - + - Gets or sets the schema. + Gets the value. - The schema. + The target to get the value from. + The value. - + - Gets the used to construct this . + Used by to resolves a for a given . - The specified in the constructor. - + - Compares tokens to determine whether they are equal. + Used by to resolves a for a given . - + - Determines whether the specified objects are equal. + Resolves the contract for a given type. - The first object of type to compare. - The second object of type to compare. - - true if the specified objects are equal; otherwise, false. - + The type to resolve a contract for. + The contract for a given type. - + - Returns a hash code for the specified object. + Initializes a new instance of the class. - The for which a hash code is to be returned. - A hash code for the specified object. - The type of is a reference type and is null. - + - Specifies the member serialization options for the . + Initializes a new instance of the class. + + If set to true the will use a cached shared with other resolvers of the same type. + Sharing the cache will significantly performance because expensive reflection will only happen once but could cause unexpected + behavior if different instances of the resolver are suppose to produce different results. When set to false it is highly + recommended to reuse instances with the . + - + - All members are serialized by default. Members can be excluded using the . + Resolves the contract for a given type. + The type to resolve a contract for. + The contract for a given type. - + - Only members must be marked with the are serialized. + Gets the serializable members for the type. + The type to get serializable members for. + The serializable members for the type. - + - Specifies how object creation is handled by the . + Creates a for the given type. + Type of the object. + A for the given type. - + - Reuse existing objects, create new objects when needed. + Resolves the default for the contract. + Type of the object. + - + - Only reuse existing objects. + Creates a for the given type. + Type of the object. + A for the given type. - + - Always create new objects. + Creates a for the given type. + Type of the object. + A for the given type. - + - Converts a to and from the ISO 8601 date format (e.g. 2008-04-12T12:53Z). + Creates a for the given type. + Type of the object. + A for the given type. - + - Writes the JSON representation of the object. + Creates a for the given type. - The to write to. - The value. - The calling serializer. + Type of the object. + A for the given type. - + - Reads the JSON representation of the object. + Creates a for the given type. - The to read from. Type of the object. - The existing value of object being read. - The calling serializer. - The object value. + A for the given type. - + - Gets or sets the date time styles used when converting a date to and from JSON. + Creates a for the given type. - The date time styles used when converting a date to and from JSON. + Type of the object. + A for the given type. - + - Gets or sets the date time format used when converting a date to and from JSON. + Creates a for the given type. - The date time format used when converting a date to and from JSON. + Type of the object. + A for the given type. - + - Gets or sets the culture used when converting a date to and from JSON. + Determines which contract type is created for the given type. - The culture used when converting a date to and from JSON. + Type of the object. + A for the given type. - + - Converts a to and from a JavaScript date constructor (e.g. new Date(52231943)). + Creates properties for the given . + The type to create properties for. + /// The member serialization mode for the type. + Properties for the given . - + - Writes the JSON representation of the object. + Creates the used by the serializer to get and set values from a member. - The to write to. - The value. - The calling serializer. - - + The member. + The used by the serializer to get and set values from a member. + + - Reads the JSON representation of the object. + Creates a for the given . - The to read from. - Type of the object. - The existing property value of the JSON that is being converted. - The calling serializer. - The object value. + The member's parent . + The member to create a for. + A created for the given . - + - Specifies whether a DateTime object represents a local time, a Coordinated Universal Time (UTC), or is not specified as either local time or UTC. + Resolves the name of the property. + Name of the property. + Name of the property. - + - The time represented is local time. + Gets a value indicating whether members are being get and set using dynamic code generation. + This value is determined by the runtime permissions available. + + true if using dynamic code generation; otherwise, false. + - + - The time represented is UTC. + Gets or sets the default members search flags. + The default members search flags. - + - The time represented is not specified as either local time or Coordinated Universal Time (UTC). + Gets or sets a value indicating whether compiler generated members should be serialized. + + true if serialized compiler generated members; otherwise, false. + - + - Preserves the DateTimeKind field of a date when a DateTime object is converted to a string and the string is then converted back to a DateTime object. + Specifies undefined schema Id handling options for the . - + - Converts an to and from JSON. + Do not infer a schema Id. - + - Writes the JSON representation of the object. + Use the .NET type name as the schema Id. - The to write to. - The calling serializer. - The value. - + - Reads the JSON representation of the object. + Use the assembly qualified .NET type name as the schema Id. - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - + - Checks if the attributeName is a namespace attribute. + Generates a from a specified . - Attribute name to test. - The attribute name prefix if it has one, otherwise an empty string. - True if attribute name is for a namespace attribute, otherwise false. - + - Determines whether this instance can convert the specified value type. + Generate a from the specified type. - Type of the value. - - true if this instance can convert the specified value type; otherwise, false. - + The type to generate a from. + A generated from the specified type. - + - Gets or sets the name of the root element to insert when deserializing to XML if the JSON structure has produces multiple root elements. + Generate a from the specified type. - The name of the deserialize root element. + The type to generate a from. + The used to resolve schema references. + A generated from the specified type. - + - Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. + Generate a from the specified type. + The type to generate a from. + Specify whether the generated root will be nullable. + A generated from the specified type. - + - Initializes a new instance of the class with the specified . + Generate a from the specified type. - The TextReader containing the XML data to read. + The type to generate a from. + The used to resolve schema references. + Specify whether the generated root will be nullable. + A generated from the specified type. - + - Reads the next JSON token from the stream. + Gets or sets how undefined schemas are handled by the serializer. - - true if the next token was read successfully; false if there are no more tokens to read. - - + - Reads the next JSON token from the stream as a . + Gets or sets the contract resolver. - - A or a null reference if the next JSON token is null. - + The contract resolver. - + - Changes the state to closed. + Returns detailed information about the schema exception. - + - Gets a value indicating whether the class can return line information. + Initializes a new instance of the class. - - true if LineNumber and LinePosition can be provided; otherwise, false. - - + - Gets the current line number. + Initializes a new instance of the class + with a specified error message. - - The current line number or 0 if no line information is available (for example, HasLineInfo returns false). - + The error message that explains the reason for the exception. - + - Gets the current line position. + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. - - The current line position or 0 if no line information is available (for example, HasLineInfo returns false). - + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. - + - Instructs the to always serialize the member with the specified name. + Gets the line number indicating where the error occurred. + The line number indicating where the error occurred. - + - Initializes a new instance of the class. + Gets the line position indicating where the error occurred. + The line position indicating where the error occurred. - + - Initializes a new instance of the class with the specified name. + Represents a JSON array. - Name of the property. - + - Gets or sets the null value handling used when serializing this property. + Represents a token that can contain other tokens. - The null value handling. - + - Gets or sets the default value handling used when serializing this property. + Raises the event. - The default value handling. + The instance containing the event data. - + - Gets or sets the reference loop handling used when serializing this property. + Raises the event. - The reference loop handling. + The instance containing the event data. - + - Gets or sets the object creation handling used when deserializing this property. + Raises the event. - The object creation handling. + The instance containing the event data. - + - Gets or sets the type name handling used when serializing this property. + Returns a collection of the child tokens of this token, in document order. - The type name handling. + + An of containing the child tokens of this , in document order. + - + - Gets or sets whether this property's value is serialized as a reference. + Returns a collection of the child values of this token, in document order. - Whether this property's value is serialized as a reference. + The type to convert the values to. + + A containing the child values of this , in document order. + - + - Gets or sets the name of the property. + Returns a collection of the descendant tokens for this token in document order. - The name of the property. + An containing the descendant tokens of the . - + - Gets or sets a value indicating whether this property is required. + Adds the specified content as children of this . - - A value indicating whether this property is required. - + The content to be added. - + - Instructs the not to serialize the public field or public read/write property value. + Adds the specified content as the first children of this . + The content to be added. - + - Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. + Creates an that can be used to add tokens to the . + An that is ready to have content written to it. - + - Creates an instance of the JsonWriter class using the specified . + Replaces the children nodes of this token with the specified content. - The TextWriter to write to. + The content. - + - Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + Removes the child nodes from this token. - + - Closes this stream and the underlying stream. + Occurs when the list changes or an item in the list changes. - + - Writes the beginning of a Json object. + Occurs before an item is added to the collection. - + - Writes the beginning of a Json array. + Occurs when the items list of the collection has changed, or the collection is reset. - + - Writes the start of a constructor with the given name. + Gets a value indicating whether this token has childen tokens. - The name of the constructor. + + true if this token has child values; otherwise, false. + - + - Writes the specified end token. + Get the first child token of this token. - The end token to write. + + A containing the first child token of the . + - + - Writes the property name of a name/value pair on a Json object. + Get the last child token of this token. - The name of the property. + + A containing the last child token of the . + - + - Writes indent characters. + Initializes a new instance of the class. - + - Writes the JSON value delimiter. + Initializes a new instance of the class from another object. + A object to copy from. - + - Writes an indent space. + Initializes a new instance of the class with the specified content. + The contents of the array. - + - Writes a null value. + Initializes a new instance of the class with the specified content. + The contents of the array. - + - Writes an undefined value. + Loads an from a . + A that will be read for the content of the . + A that contains the JSON that was read from the specified . - + - Writes raw JSON. + Load a from a string that contains JSON. - The raw JSON to write. + A that contains JSON. + A populated from the string that contains JSON. - + - Writes a value. + Creates a from an object. - The value to write. + The object that will be used to create . + A with the values of the specified object - + - Writes a value. + Creates a from an object. - The value to write. + The object that will be used to create . + The that will be used to read the object. + A with the values of the specified object - + - Writes a value. + Writes this token to a . - The value to write. + A into which this method will write. + A collection of which will be used when writing the token. - + - Writes a value. + Determines the index of a specific item in the . - The value to write. + The object to locate in the . + + The index of if found in the list; otherwise, -1. + - + - Writes a value. + Inserts an item to the at the specified index. - The value to write. + The zero-based index at which should be inserted. + The object to insert into the . + + is not a valid index in the . + The is read-only. - + - Writes a value. + Removes the item at the specified index. - The value to write. + The zero-based index of the item to remove. + + is not a valid index in the . + The is read-only. - + - Writes a value. + Adds an item to the . - The value to write. + The object to add to the . + The is read-only. - + - Writes a value. + Removes all items from the . - The value to write. + The is read-only. - + - Writes a value. + Determines whether the contains a specific value. - The value to write. + The object to locate in the . + + true if is found in the ; otherwise, false. + - + - Writes a value. + Removes the first occurrence of a specific object from the . - The value to write. + The object to remove from the . + + true if was successfully removed from the ; otherwise, false. This method also returns false if is not found in the original . + + The is read-only. - + - Writes a value. + Gets the node type for this . - The value to write. + The type. - + - Writes a value. + Gets the with the specified key. - The value to write. + The with the specified key. - + - Writes a value. + Gets or sets the at the specified index. - The value to write. + - + - Writes a value. + Gets the number of elements contained in the . - The value to write. + + The number of elements contained in the . - + - Writes a value. + Represents a reader that provides validation. - The value to write. - + - Writes a value. + Initializes a new instance of the class that + validates the content returned from the given . - The value to write. + The to read from while validating. - + - Writes a value. + Reads the next JSON token from the stream as a . - The value to write. + + A or a null reference if the next JSON token is null. + - + - Writes out a comment /*...*/ containing the specified text. + Reads the next JSON token from the stream as a . - Text to place inside the comment. + A . - + - Writes out the given white space. + Reads the next JSON token from the stream as a . - The string of white space characters. + A . - + - Gets or sets how many IndentChars to write for each level in the hierarchy when is set to Formatting.Indented. + Reads the next JSON token from the stream. + + true if the next token was read successfully; false if there are no more tokens to read. + - + - Gets or sets which character to use to quote attribute values. + Sets an event handler for receiving schema validation errors. - + - Gets or sets which character to use for indenting when is set to Formatting.Indented. + Gets the text value of the current Json token. + - + - Gets or sets a value indicating whether object names will be surrounded with quotes. + Gets the depth of the current token in the JSON document. + The depth of the current token in the JSON document. - + - The exception thrown when an error occurs while reading Json text. + Gets the quotation mark character used to enclose the value of a string. + - + - Initializes a new instance of the class. + Gets the type of the current Json token. + - + - Initializes a new instance of the class - with a specified error message. + Gets The Common Language Runtime (CLR) type for the current Json token. - The error message that explains the reason for the exception. + - + - Initializes a new instance of the class - with a specified error message and a reference to the inner exception that is the cause of this exception. + Gets or sets the schema. - The error message that explains the reason for the exception. - The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + The schema. - + - The exception thrown when an error occurs while reading Json text. + Gets the used to construct this . + The specified in the constructor. - + - Initializes a new instance of the class. + Represents a member (property/field) that is mapped to a protobuf field - + - Initializes a new instance of the class - with a specified error message. + Creates a new ValueMember instance - The error message that explains the reason for the exception. - + - Initializes a new instance of the class - with a specified error message and a reference to the inner exception that is the cause of this exception. + Specifies methods for working with optional data members. - The error message that explains the reason for the exception. - The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + Provides a method (null for none) to query whether this member should + be serialized; it must be of the form "bool {Method}()". The member is only serialized if the + method returns true. + Provides a method (null for none) to indicate that a member was + deserialized; it must be of the form "void {Method}(bool)", and will be called with "true" + when data is found. - + - Gets the line number indicating where the error occurred. + The number that identifies this member in a protobuf stream - The line number indicating where the error occurred. - + - Gets the line position indicating where the error occurred. + Within a list / array / etc, the type of object for each item in the list (especially useful with ArrayList) - The line position indicating where the error occurred. - + - Represents a collection of . + The underlying type of the member - + - Provides methods for converting between common language runtime types and JSON types. + For abstract types (IList etc), the type of concrete object to create (if required) - + - Represents JavaScript's boolean value true as a string. This field is read-only. + The type the defines the member - + - Represents JavaScript's boolean value false as a string. This field is read-only. + The default value of the item (members with this value will not be serialized) - + - Represents JavaScript's null as a string. This field is read-only. + Specifies the rules used to process the field; this is used to determine the most appropriate + wite-type, but also to describe subtypes within that wire-type (such as SignedVariant) - + - Represents JavaScript's undefined as a string. This field is read-only. + Indicates whether this field should follow strict encoding rules; this means (for example) that if a "fixed32" + is encountered when "variant" is defined, then it will fail (throw an exception) when parsing. Note that + when serializing the defined type is always used. - + - Represents JavaScript's positive infinity as a string. This field is read-only. + Indicates whether this field should use packed encoding (which can save lots of space for repeated primitive values). - + - Represents JavaScript's negative infinity as a string. This field is read-only. + Indicates whether this field is mandatory. - + - Represents JavaScript's NaN as a string. This field is read-only. + Gets the logical name for this member in the schema (this is not critical for binary serialization, but may be used + when inferring a schema). - + - Converts the to its JSON string representation. + Mutable version of the common key/value pair struct; used during serialization - The value to convert. - A JSON string representation of the . - + - Converts the to its JSON string representation. + Convert a surrogate instance to a standard pair instance. - The value to convert. - A JSON string representation of the . - + - Converts the to its JSON string representation. + Convert a standard pair instance to a surrogate instance. - The value to convert. - A JSON string representation of the . - + - Converts the to its JSON string representation. + The key of the pair. - The value to convert. - A JSON string representation of the . - + - Converts the to its JSON string representation. + The value of the pair. - The value to convert. - A JSON string representation of the . - + - Converts the to its JSON string representation. + Provides support for common .NET types that do not have a direct representation + in protobuf, using the definitions from bcl.proto - The value to convert. - A JSON string representation of the . - + - Converts the to its JSON string representation. + Creates a new instance of the specified type, bypassing the constructor. - The value to convert. - A JSON string representation of the . + The type to create + The new instance + If the platform does not support constructor-skipping - + - Converts the to its JSON string representation. + Writes a TimeSpan to a protobuf stream - The value to convert. - A JSON string representation of the . - + - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . + Parses a TimeSpan from a protobuf stream + - + - Converts the to its JSON string representation. + Parses a DateTime from a protobuf stream - The value to convert. - A JSON string representation of the . - + - Converts the to its JSON string representation. + Writes a DateTime to a protobuf stream - The value to convert. - A JSON string representation of the . - + - Converts the to its JSON string representation. + Parses a decimal from a protobuf stream - The value to convert. - A JSON string representation of the . - + - Converts the to its JSON string representation. + Writes a decimal to a protobuf stream - The value to convert. - A JSON string representation of the . - + - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . + Writes a Guid to a protobuf stream + - + - Converts the to its JSON string representation. + Parses a Guid from a protobuf stream - The value to convert. - A JSON string representation of the . - + - Converts the to its JSON string representation. + Contains the JSON schema extension methods. - The value to convert. - A JSON string representation of the . - + - Converts the to its JSON string representation. + Determines whether the is valid. - The value to convert. - A JSON string representation of the . + The source to test. + The schema to test with. + + true if the specified is valid; otherwise, false. + - + - Converts the to its JSON string representation. + Validates the specified . - The value to convert. - A JSON string representation of the . + The source to test. + The schema to test with. - + - Converts the to its JSON string representation. + Validates the specified . - The value to convert. - The string delimiter character. - A JSON string representation of the . + The source to test. + The schema to test with. + The validation event handler. - + - Converts the to its JSON string representation. + Specifies how object creation is handled by the . - The value to convert. - A JSON string representation of the . - + - Serializes the specified object to a JSON string. + Reuse existing objects, create new objects when needed. - The object to serialize. - A JSON string representation of the object. - + - Serializes the specified object to a JSON string. + Only reuse existing objects. - The object to serialize. - Indicates how the output is formatted. - - A JSON string representation of the object. - - + - Serializes the specified object to a JSON string using a collection of . + Always create new objects. - The object to serialize. - A collection converters used while serializing. - A JSON string representation of the object. - + - Serializes the specified object to a JSON string using a collection of . + Compares tokens to determine whether they are equal. - The object to serialize. - Indicates how the output is formatted. - A collection converters used while serializing. - A JSON string representation of the object. - + - Serializes the specified object to a JSON string using a collection of . + Determines whether the specified objects are equal. - The object to serialize. - Indicates how the output is formatted. - The used to serialize the object. - If this is null, default serialization settings will be is used. + The first object of type to compare. + The second object of type to compare. - A JSON string representation of the object. + true if the specified objects are equal; otherwise, false. - + - Deserializes the specified object to a Json object. + Returns a hash code for the specified object. - The object to deserialize. - The deserialized object from the Json string. + The for which a hash code is to be returned. + A hash code for the specified object. + The type of is a reference type and is null. - + - Deserializes the specified object to a Json object. + Instructs the how to serialize the object. - The object to deserialize. - The of object being deserialized. - The deserialized object from the Json string. - + - Deserializes the specified object to a Json object. + Initializes a new instance of the class. - The type of the object to deserialize. - The object to deserialize. - The deserialized object from the Json string. - + - Deserializes the specified JSON to the given anonymous type. + Initializes a new instance of the class with the specified container Id. - - The anonymous type to deserialize to. This can't be specified - traditionally and must be infered from the anonymous type passed - as a parameter. - - The object to deserialize. - The anonymous type object. - The deserialized anonymous type from the JSON string. + The container Id. - + - Deserializes the JSON string to the specified type. + Gets or sets the id. - The type of the object to deserialize. - The object to deserialize. - Converters to use while deserializing. - The deserialized object from the JSON string. + The id. - + - Deserializes the JSON string to the specified type. + Gets or sets the title. - The type of the object to deserialize. - The object to deserialize. - - The used to deserialize the object. - If this is null, default serialization settings will be is used. - - The deserialized object from the JSON string. + The title. - + - Deserializes the JSON string to the specified type. + Gets or sets the description. - The object to deserialize. - The type of the object to deserialize. - Converters to use while deserializing. - The deserialized object from the JSON string. + The description. - + - Deserializes the JSON string to the specified type. + Gets or sets a value that indicates whether to preserve object reference data. - The JSON to deserialize. - The type of the object to deserialize. - - The used to deserialize the object. - If this is null, default serialization settings will be is used. - - The deserialized object from the JSON string. + + true to keep object reference; otherwise, false. The default is false. + - + - Populates the object with values from the JSON string. + Converts a binary value to and from a base 64 string value. - The JSON to populate values from. - The target object to populate values onto. - + - Populates the object with values from the JSON string. + Writes the JSON representation of the object. - The JSON to populate values from. - The target object to populate values onto. - - The used to deserialize the object. - If this is null, default serialization settings will be is used. - + The to write to. + The value. + The calling serializer. - + - Serializes the to a JSON string. + Reads the JSON representation of the object. - The node to convert to JSON. - A JSON string of the XNode. + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. - + - Serializes the to a JSON string. + Determines whether this instance can convert the specified object type. - The node to convert to JSON. - Indicates how the output is formatted. - A JSON string of the XNode. + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + - + - Deserializes the from a JSON string. + Indicates that a member should be excluded from serialization; this + is only normally used when using implict fields. - The JSON string. - The deserialized XNode - + - Deserializes the from a JSON string nested in a root elment. + Indicates that a member should be excluded from serialization; this + is only normally used when using implict fields. This allows + ProtoIgnoreAttribute usage + even for partial classes where the individual members are not + under direct control. - The JSON string. - The name of the root element to append when deserializing. - The deserialized XNode - + - Serializes the XML node to a JSON string. + Creates a new ProtoPartialIgnoreAttribute instance. - The node to serialize. - A JSON string of the XmlNode. + Specifies the member to be ignored. - + - Serializes the XML node to a JSON string. + The name of the member to be ignored. - The node to serialize. - Indicates how the output is formatted. - A JSON string of the XmlNode. - + - Deserializes the XmlNode from a JSON string. + The value types allowed by the . - The JSON string. - The deserialized XmlNode - + - Deserializes the XmlNode from a JSON string nested in a root elment. + No type specified. - The JSON string. - The name of the root element to append when deserializing. - The deserialized XmlNode - + - The exception thrown when an error occurs during Json serialization or deserialization. + String type. - + - Initializes a new instance of the class. + Float type. - + - Initializes a new instance of the class - with a specified error message. + Integer type. - The error message that explains the reason for the exception. - + - Initializes a new instance of the class - with a specified error message and a reference to the inner exception that is the cause of this exception. + Boolean type. - The error message that explains the reason for the exception. - The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. - + - Serializes and deserializes objects into and from the JSON format. - The enables you to control how objects are encoded into JSON. + Object type. - + - Initializes a new instance of the class. + Array type. - + - Creates a new instance using the specified . + Null type. - The settings to be applied to the . - A new instance using the specified . - + - Populates the JSON values onto the target object. + Any type. - The that contains the JSON structure to reader values from. - The target object to populate values onto. - + - Populates the JSON values onto the target object. + Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. - The that contains the JSON structure to reader values from. - The target object to populate values onto. - + - Deserializes the Json structure contained by the specified . + Initializes a new instance of the class writing to the given . - The that contains the JSON structure to deserialize. - The being deserialized. + The container being written to. - + - Deserializes the Json structure contained by the specified - into an instance of the specified type. + Initializes a new instance of the class. - The containing the object. - The of object being deserialized. - The instance of being deserialized. - + - Deserializes the Json structure contained by the specified - into an instance of the specified type. + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. - The containing the object. - The type of the object to deserialize. - The instance of being deserialized. - + - Deserializes the Json structure contained by the specified - into an instance of the specified type. + Closes this stream and the underlying stream. - The containing the object. - The of object being deserialized. - The instance of being deserialized. - + - Serializes the specified and writes the Json structure - to a Stream using the specified . + Writes the beginning of a Json object. - The used to write the Json structure. - The to serialize. - + - Serializes the specified and writes the Json structure - to a Stream using the specified . + Writes the beginning of a Json array. - The used to write the Json structure. - The to serialize. - + - Occurs when the errors during serialization and deserialization. + Writes the start of a constructor with the given name. + The name of the constructor. - + - Gets or sets the used by the serializer when resolving references. + Writes the end. + The token. - + - Gets or sets the used by the serializer when resolving type names. + Writes the property name of a name/value pair on a Json object. + The name of the property. - + - Gets or sets how type name writing and reading is handled by the serializer. + Writes a null value. - + - Gets or sets how a type name assembly is written and resolved by the serializer. + Writes an undefined value. - The type name assembly format. - + - Gets or sets how object references are preserved by the serializer. + Writes raw JSON. + The raw JSON to write. - + - Get or set how reference loops (e.g. a class referencing itself) is handled. + Writes out a comment /*...*/ containing the specified text. + Text to place inside the comment. - + - Get or set how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. + Writes a value. + The value to write. - + - Get or set how null values are handled during serialization and deserialization. + Writes a value. + The value to write. - + - Get or set how null default are handled during serialization and deserialization. + Writes a value. + The value to write. - + - Gets or sets how objects are created during deserialization. + Writes a value. - The object creation handling. + The value to write. - + - Gets or sets how constructors are used during deserialization. + Writes a value. - The constructor handling. + The value to write. - + - Gets a collection that will be used during serialization. + Writes a value. - Collection that will be used during serialization. + The value to write. - + - Gets or sets the contract resolver used by the serializer when - serializing .NET objects to JSON and vice versa. + Writes a value. + The value to write. - + - Gets or sets the used by the serializer when invoking serialization callback methods. + Writes a value. - The context. + The value to write. - + - Contains the LINQ to JSON extension methods. + Writes a value. + The value to write. - + - Returns a collection of tokens that contains the ancestors of every token in the source collection. + Writes a value. - The type of the objects in source, constrained to . - An of that contains the source collection. - An of that contains the ancestors of every node in the source collection. + The value to write. - + - Returns a collection of tokens that contains the descendants of every token in the source collection. + Writes a value. - The type of the objects in source, constrained to . - An of that contains the source collection. - An of that contains the descendants of every node in the source collection. + The value to write. - + - Returns a collection of child properties of every object in the source collection. + Writes a value. - An of that contains the source collection. - An of that contains the properties of every object in the source collection. + The value to write. - + - Returns a collection of child values of every object in the source collection with the given key. + Writes a value. - An of that contains the source collection. - The token key. - An of that contains the values of every node in the source collection with the given key. + The value to write. - + - Returns a collection of child values of every object in the source collection. + Writes a value. - An of that contains the source collection. - An of that contains the values of every node in the source collection. + The value to write. - + - Returns a collection of converted child values of every object in the source collection with the given key. + Writes a value. - The type to convert the values to. - An of that contains the source collection. - The token key. - An that contains the converted values of every node in the source collection with the given key. + The value to write. - + - Returns a collection of converted child values of every object in the source collection. + Writes a value. - The type to convert the values to. - An of that contains the source collection. - An that contains the converted values of every node in the source collection. + The value to write. - + - Converts the value. + Writes a value. - The type to convert the value to. - A cast as a of . - A converted value. + The value to write. - + - Converts the value. + Gets the token being writen. - The source collection type. - The type to convert the value to. - A cast as a of . - A converted value. + The token being writen. - + - Returns a collection of child tokens of every array in the source collection. + Specifies the type of token. - The source collection type. - An of that contains the source collection. - An of that contains the values of every node in the source collection. - + - Returns a collection of converted child tokens of every array in the source collection. + No token type has been set. - An of that contains the source collection. - The type to convert the values to. - The source collection type. - An that contains the converted values of every node in the source collection. - + - Returns the input typed as . + A JSON object. - An of that contains the source collection. - The input typed as . - + - Returns the input typed as . + A JSON array. - The source collection type. - An of that contains the source collection. - The input typed as . - + - Represents a JSON constructor. + A JSON constructor. - + - Represents a token that can contain other tokens. + A JSON object property. - + - Raises the event. + A comment. - The instance containing the event data. - + - Raises the event. + An integer value. - The instance containing the event data. - + - Returns a collection of the child tokens of this token, in document order. + A float value. - - An of containing the child tokens of this , in document order. - - + - Returns a collection of the child values of this token, in document order. + A string value. - The type to convert the values to. - - A containing the child values of this , in document order. - - + - Returns a collection of the descendant tokens for this token in document order. + A boolean value. - An containing the descendant tokens of the . - + - Adds the specified content as children of this . + A null value. - The content to be added. - + - Adds the specified content as the first children of this . + An undefined value. - The content to be added. - + - Creates an that can be used to add tokens to the . + A date value. - An that is ready to have content written to it. - + - Replaces the children nodes of this token with the specified content. + A raw JSON value. - The content. - + - Removes the child nodes from this token. + A collection of bytes value. - + - Occurs when the list changes or an item in the list changes. + Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. - + - Occurs before an item is added to the collection. + Initializes a new instance of the class. + The token to read from. - + - Gets a value indicating whether this token has childen tokens. + Reads the next JSON token from the stream as a . - - true if this token has child values; otherwise, false. - + + A or a null reference if the next JSON token is null. + - + - Get the first child token of this token. + Reads the next JSON token from the stream as a . - - A containing the first child token of the . - + A . - + - Get the last child token of this token. + Reads the next JSON token from the stream as a . - - A containing the last child token of the . - + A . - + - Initializes a new instance of the class. + Reads the next JSON token from the stream. + + true if the next token was read successfully; false if there are no more tokens to read. + - + - Initializes a new instance of the class from another object. + Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. - A object to copy from. - + - Initializes a new instance of the class with the specified name and content. + Creates an instance of the JsonWriter class using the specified . - The constructor name. - The contents of the constructor. + The TextWriter to write to. - + - Initializes a new instance of the class with the specified name and content. + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. - The constructor name. - The contents of the constructor. - + - Initializes a new instance of the class with the specified name. + Closes this stream and the underlying stream. - The constructor name. - + - Writes this token to a . + Writes the beginning of a Json object. - A into which this method will write. - A collection of which will be used when writing the token. - + - Loads an from a . + Writes the beginning of a Json array. - A that will be read for the content of the . - A that contains the JSON that was read from the specified . - + - Gets or sets the name of this constructor. + Writes the start of a constructor with the given name. - The constructor name. + The name of the constructor. - + - Gets the node type for this . + Writes the specified end token. - The type. + The end token to write. - + - Gets the with the specified key. + Writes the property name of a name/value pair on a Json object. - The with the specified key. + The name of the property. - + - Represents a collection of objects. + Writes indent characters. - The type of token - + - An empty collection of objects. + Writes the JSON value delimiter. - + - Initializes a new instance of the struct. + Writes an indent space. - The enumerable. - + - Returns an enumerator that iterates through the collection. + Writes a null value. - - A that can be used to iterate through the collection. - - + - Returns an enumerator that iterates through a collection. + Writes an undefined value. - - An object that can be used to iterate through the collection. - - + - Determines whether the specified is equal to this instance. + Writes raw JSON. - The to compare with this instance. - - true if the specified is equal to this instance; otherwise, false. - + The raw JSON to write. - + - Returns a hash code for this instance. + Writes a value. - - A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. - + The value to write. - + - Gets the with the specified key. + Writes a value. - + The value to write. - + - Represents a JSON object. + Writes a value. + The value to write. - + - Initializes a new instance of the class. + Writes a value. + The value to write. - + - Initializes a new instance of the class from another object. + Writes a value. - A object to copy from. + The value to write. - + - Initializes a new instance of the class with the specified content. + Writes a value. - The contents of the object. + The value to write. - + - Initializes a new instance of the class with the specified content. + Writes a value. - The contents of the object. + The value to write. - + - Gets an of this object's properties. + Writes a value. - An of this object's properties. + The value to write. - + - Gets a the specified name. + Writes a value. - The property name. - A with the specified name or null. + The value to write. - + - Gets an of this object's property values. + Writes a value. - An of this object's property values. + The value to write. - + - Loads an from a . + Writes a value. - A that will be read for the content of the . - A that contains the JSON that was read from the specified . + The value to write. - + - Load a from a string that contains JSON. + Writes a value. - A that contains JSON. - A populated from the string that contains JSON. + The value to write. - + - Creates a from an object. + Writes a value. - The object that will be used to create . - A with the values of the specified object + The value to write. - + - Creates a from an object. + Writes a value. - The object that will be used to create . - The that will be used to read the object. - A with the values of the specified object + The value to write. - + - Writes this token to a . + Writes a value. - A into which this method will write. - A collection of which will be used when writing the token. + The value to write. - + - Adds the specified property name. + Writes a value. - Name of the property. - The value. + The value to write. - + - Removes the property with the specified name. + Writes a value. - Name of the property. - true if item was successfully removed; otherwise, false. + The value to write. - + - Tries the get value. + Writes out a comment /*...*/ containing the specified text. - Name of the property. - The value. - true if a value was successfully retrieved; otherwise, false. + Text to place inside the comment. - + - Returns an enumerator that iterates through the collection. + Writes out the given white space. - - A that can be used to iterate through the collection. - + The string of white space characters. - + - Raises the event with the provided arguments. + Gets or sets how many IndentChars to write for each level in the hierarchy when is set to Formatting.Indented. - Name of the property. - + - Raises the event with the provided arguments. + Gets or sets which character to use to quote attribute values. - Name of the property. - + - Occurs when a property value changes. + Gets or sets which character to use for indenting when is set to Formatting.Indented. - + - Occurs when a property value is changing. + Gets or sets a value indicating whether object names will be surrounded with quotes. - + - Gets the node type for this . + Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. - The type. - + - Gets the with the specified key. + Initializes a new instance of the class with the specified . - The with the specified key. + The TextReader containing the XML data to read. - + - Gets or sets the with the specified property name. + Reads the next JSON token from the stream. - + + true if the next token was read successfully; false if there are no more tokens to read. + - + - Gets the number of elements contained in the . + Reads the next JSON token from the stream as a . - - The number of elements contained in the . + + A or a null reference if the next JSON token is null. + - + - Represents a JSON array. + Reads the next JSON token from the stream as a . + A . - + - Initializes a new instance of the class. + Reads the next JSON token from the stream as a . + A . - + - Initializes a new instance of the class from another object. + Changes the state to closed. - A object to copy from. - + - Initializes a new instance of the class with the specified content. + Gets a value indicating whether the class can return line information. - The contents of the array. + + true if LineNumber and LinePosition can be provided; otherwise, false. + - + - Initializes a new instance of the class with the specified content. + Gets the current line number. - The contents of the array. + + The current line number or 0 if no line information is available (for example, HasLineInfo returns false). + - + - Loads an from a . + Gets the current line position. - A that will be read for the content of the . - A that contains the JSON that was read from the specified . + + The current line position or 0 if no line information is available (for example, HasLineInfo returns false). + - + - Load a from a string that contains JSON. + Instructs the to always serialize the member with the specified name. - A that contains JSON. - A populated from the string that contains JSON. - + - Creates a from an object. + Initializes a new instance of the class. - The object that will be used to create . - A with the values of the specified object - + - Creates a from an object. + Initializes a new instance of the class with the specified name. - The object that will be used to create . - The that will be used to read the object. - A with the values of the specified object + Name of the property. - + - Writes this token to a . + Gets or sets the null value handling used when serializing this property. - A into which this method will write. - A collection of which will be used when writing the token. + The null value handling. - + - Determines the index of a specific item in the . + Gets or sets the default value handling used when serializing this property. - The object to locate in the . - - The index of if found in the list; otherwise, -1. - + The default value handling. - + - Inserts an item to the at the specified index. + Gets or sets the reference loop handling used when serializing this property. - The zero-based index at which should be inserted. - The object to insert into the . - - is not a valid index in the . - The is read-only. + The reference loop handling. - + - Removes the item at the specified index. + Gets or sets the object creation handling used when deserializing this property. - The zero-based index of the item to remove. - - is not a valid index in the . - The is read-only. + The object creation handling. - + - Adds an item to the . + Gets or sets the type name handling used when serializing this property. - The object to add to the . - The is read-only. + The type name handling. - + + + Gets or sets whether this property's value is serialized as a reference. + + Whether this property's value is serialized as a reference. + + + + Gets or sets the name of the property. + + The name of the property. + + + + Gets or sets a value indicating whether this property is required. + + + A value indicating whether this property is required. + + + + + Specifies how constructors are used when initializing objects during deserialization by the . + + + + + First attempt to use the public default constructor then fall back to single paramatized constructor. + + + + + Allow Json.NET to use a non-public default constructor. + + + + + Indicates that a type is defined for protocol-buffer serialization. + + + + + Gets or sets the defined name of the type. + + + + + Gets or sets the fist offset to use with implicit field tags; + only uesd if ImplicitFields is set. + + + + + Gets or sets the mechanism used to automatically infer field tags + for members. This option should be used in advanced scenarios only. + Please review the important notes against the ImplicitFields enumeration. + + + + + Enables/disables automatic tag generation based on the existing name / order + of the defined members. This option is not used for members marked + with ProtoMemberAttribute, as intended to provide compatibility with + WCF serialization. WARNING: when adding new fields you must take + care to increase the Order for new elements, otherwise data corruption + may occur. + + If not specified, the default is assumed from . + + + + Specifies an offset to apply to [DataMember(Order=...)] markers; + this is useful when working with mex-generated classes that have + a different origin (usually 1 vs 0) than the original data-contract. + + This value is added to the Order of each member. + + + + + Parses the specified enum member name, returning it's value. + + Name of the enum member. + + + + + Parses the specified enum member name, returning it's value. + + Name of the enum member. + If set to true ignore case. + + + + + Gets a dictionary of the names and values of an Enum type. + + + + + + Gets a dictionary of the names and values of an Enum type. + + + + + + Gets a dictionary of the names and values of an Enum type. + + The enum type to get names and values for. + + + + + Gets the maximum valid value of an Enum type. Flags enums are ORed. + + The type of the returned value. Must be assignable from the enum's underlying value type. + The enum type to get the maximum value for. + + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + A collection of objects. + + + + + Initializes a new instance of the class. + + The type. + + + + When implemented in a derived class, extracts the key from the specified element. + + The element from which to extract the key. + The key for the specified element. + + + + Adds a object. + + The property to add to the collection. + + + + Gets the closest matching object. + First attempts to get an exact case match of propertyName and then + a case insensitive match. + + Name of the property. + A matching property if found. + + + + Gets a property by property name. + + The name of the property to get. + Type property name string comparison. + A matching property if found. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets or sets the object member serialization. + + The member object serialization. + + + + Gets the object's properties. + + The object's properties. + + + + Gets or sets the parametrized constructor used to create the object. + + The parametrized constructor. + + + + Get and set values for a using dynamic methods. + + + + + Initializes a new instance of the class. + + The member info. + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + Returns detailed information related to the . + + + + + Gets the associated with the validation event. + + The JsonSchemaException associated with the validation event. + + + + Gets the text description corresponding to the validation event. + + The text description. + + + + Represents a JSON object. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified content. + + The contents of the object. + + + + Initializes a new instance of the class with the specified content. + + The contents of the object. + + + + Gets an of this object's properties. + + An of this object's properties. + + + + Gets a the specified name. + + The property name. + A with the specified name or null. + + + + Gets an of this object's property values. + + An of this object's property values. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + Creates a from an object. + + The object that will be used to create . + A with the values of the specified object + + + + Creates a from an object. + + The object that will be used to create . + The that will be used to read the object. + A with the values of the specified object + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Adds the specified property name. + + Name of the property. + The value. + + + + Removes the property with the specified name. + + Name of the property. + true if item was successfully removed; otherwise, false. + + + + Tries the get value. + + Name of the property. + The value. + true if a value was successfully retrieved; otherwise, false. + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + + + + Raises the event with the provided arguments. + + Name of the property. + + + + Raises the event with the provided arguments. + + Name of the property. + + + + Returns the properties for this instance of a component. + + + A that represents the properties for this component instance. + + + + + Returns the properties for this instance of a component using the attribute array as a filter. + + An array of type that is used as a filter. + + A that represents the filtered properties for this component instance. + + + + + Returns a collection of custom attributes for this instance of a component. + + + An containing the attributes for this object. + + + + + Returns the class name of this instance of a component. + + + The class name of the object, or null if the class does not have a name. + + + + + Returns the name of this instance of a component. + + + The name of the object, or null if the object does not have a name. + + + + + Returns a type converter for this instance of a component. + + + A that is the converter for this object, or null if there is no for this object. + + + + + Returns the default event for this instance of a component. + + + An that represents the default event for this object, or null if this object does not have events. + + + + + Returns the default property for this instance of a component. + + + A that represents the default property for this object, or null if this object does not have properties. + + + + + Returns an editor of the specified type for this instance of a component. + + A that represents the editor for this object. + + An of the specified type that is the editor for this object, or null if the editor cannot be found. + + + + + Returns the events for this instance of a component using the specified attribute array as a filter. + + An array of type that is used as a filter. + + An that represents the filtered events for this component instance. + + + + + Returns the events for this instance of a component. + + + An that represents the events for this component instance. + + + + + Returns an object that contains the property described by the specified property descriptor. + + A that represents the property whose owner is to be found. + + An that represents the owner of the specified property. + + + + + Returns the responsible for binding operations performed on this object. + + The expression tree representation of the runtime value. + + The to bind this object. + + + + + Occurs when a property value changes. + + + + + Occurs when a property value is changing. + + + + + Gets the node type for this . + + The type. + + + + Gets the with the specified key. + + The with the specified key. + + + + Gets or sets the with the specified property name. + + + + + + Gets the number of elements contained in the . + + + The number of elements contained in the . + + + + The exception thrown when an error occurs while reading Json text. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Gets the line number indicating where the error occurred. + + The line number indicating where the error occurred. + + + + Gets the line position indicating where the error occurred. + + The line position indicating where the error occurred. + + + + Instructs the how to serialize the object. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified member serialization. + + The member serialization. + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Gets or sets the member serialization. + + The member serialization. + + + + Instructs the to use the specified when serializing the member or class. + + + + + Initializes a new instance of the class. + + Type of the converter. + + + + Gets the type of the converter. + + The type of the converter. + + + + Represents a BSON Oid (object id). + + + + + Initializes a new instance of the class. + + The Oid value. + + + + Gets or sets the value of the Oid. + + The value of the Oid. + + + + Indicates that the implementing type has support for protocol-buffer + extensions. + + Can be implemented by deriving from . + + + + Retrieves the extension object for the current + instance, optionally creating it if it does not already exist. + + Should a new extension object be + created if it does not already exist? + The extension object if it exists (or was created), or null + if the extension object does not exist or is not available. + The createIfMissing argument is false during serialization, + and true during deserialization upon encountering unexpected fields. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Instructs the how to serialize the collection. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with a flag indicating whether the array can contain null items + + A flag indicating whether the array can contain null items. + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Gets or sets a value indicating whether null items are allowed in the collection. + + true if null items are allowed in the collection; otherwise, false. + + + + Provides a base class for converting a to and from JSON. + + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Specifies the type of prefix that should be applied to messages. + + + + + No length prefix is applied to the data; the data is terminated only be the end of the stream. + + + + + A base-128 length prefix is applied to the data (efficient for short messages). + + + + + A fixed-length (little-endian) length prefix is applied to the data (useful for compatibility). + + + + + A fixed-length (big-endian) length prefix is applied to the data (useful for compatibility). + + + + + Represents a type at runtime for use with protobuf, allowing the field mappings (etc) to be defined + + + + + Adds a known sub-type to the inheritance model + + + + + Obtains the subtypes that are defined for the current type + + + + + Assigns the callbacks to use during serialiation/deserialization. + + The method (or null) called before serialization begins. + The method (or null) called when serialization is complete. + The method (or null) called before deserialization begins (or when a new instance is created during deserialization). + The method (or null) called when deserialization is complete. + The set of callbacks. + + + + Assigns the callbacks to use during serialiation/deserialization. + + The name of the method (or null) called before serialization begins. + The name of the method (or null) called when serialization is complete. + The name of the method (or null) called before deserialization begins (or when a new instance is created during deserialization). + The name of the method (or null) called when deserialization is complete. + The set of callbacks. + + + + Throws an exception if the type has been made immutable + + + + + Adds a member (by name) to the MetaType + + + + + Adds a member (by name) to the MetaType + + + + + Performs serialization of this type via a surrogate; all + other serialization options are ignored and handled + by the surrogate's configuration. + + + + + Adds a set of members (by name) to the MetaType + + + + + Adds a member (by name) to the MetaType + + + + + Adds a member (by name) to the MetaType, including an itemType and defaultType for representing lists + + + + + Gets the base-type for this type + + + + + When used to compile a model, should public serialization/deserialzation methods + be included for this type? + + + + + Indicates whether the current type has defined callbacks + + + + + Indicates whether the current type has defined subtypes + + + + + Returns the set of callbacks defined for this type + + + + + The runtime type that the meta-type represents + + + + + Gets or sets whether the type should use a parameterless constructor (the default), + or whether the type should skip the constructor completely. This option is not supported + on compact-framework. + + + + + Returns the ValueMember that matchs a given field number, or null if not found + + + + + Gets or sets a value indicating that an enum should be treated directly as an int/short/etc, rather + than enforcing .proto enum rules. This is useful *in particul* for [Flags] enums. + + + + + Provides addition capability for supporting unexpected fields during + protocol-buffer serialization/deserialization. This allows for loss-less + round-trip/merge, even when the data is not fully understood. + + + + + Requests a stream into which any unexpected fields can be persisted. + + A new stream suitable for storing data. + + + + Indicates that all unexpected fields have now been stored. The + implementing class is responsible for closing the stream. If + "commit" is not true the data may be discarded. + + The stream originally obtained by BeginAppend. + True if the append operation completed successfully. + + + + Requests a stream of the unexpected fields previously stored. + + A prepared stream of the unexpected fields. + + + + Indicates that all unexpected fields have now been read. The + implementing class is responsible for closing the stream. + + The stream originally obtained by BeginQuery. + + + + Requests the length of the raw binary stream; this is used + when serializing sub-entities to indicate the expected size. + + The length of the binary stream representing unexpected data. + + + + Not all frameworks are created equal (fx1.1 vs fx2.0, + micro-framework, compact-framework, + silverlight, etc). This class simply wraps up a few things that would + otherwise make the real code unnecessarily messy, providing fallback + implementations if necessary. + + + + + Gets the type of the typed collection's items. + + The type. + The type of the typed collection's items. + + + + Tests whether the list's items are their unitialized value. + + The list. + Whether the list's items are their unitialized value + + + + Gets the member's underlying type. + + The member. + The underlying type of the member. + + + + Determines whether the member is an indexed property. + + The member. + + true if the member is an indexed property; otherwise, false. + + + + + Determines whether the property is an indexed property. + + The property. + + true if the property is an indexed property; otherwise, false. + + + + + Gets the member's value on the object. + + The member. + The target object. + The member's value on the object. + + + + Sets the member's value on the target object. + + The member. + The target. + The value. + + + + Determines whether the specified MemberInfo can be read. + + The MemberInfo to determine whether can be read. + /// if set to true then allow the member to be gotten non-publicly. + + true if the specified MemberInfo can be read; otherwise, false. + + + + + Determines whether the specified MemberInfo can be set. + + The MemberInfo to determine whether can be set. + if set to true then allow the member to be set non-publicly. + + true if the specified MemberInfo can be set; otherwise, false. + + + + + Represents a method that constructs an object. + + + + + Serializes and deserializes objects into and from the JSON format. + The enables you to control how objects are encoded into JSON. + + + + + Initializes a new instance of the class. + + + + + Creates a new instance using the specified . + + The settings to be applied to the . + A new instance using the specified . + + + + Populates the JSON values onto the target object. + + The that contains the JSON structure to reader values from. + The target object to populate values onto. + + + + Populates the JSON values onto the target object. + + The that contains the JSON structure to reader values from. + The target object to populate values onto. + + + + Deserializes the Json structure contained by the specified . + + The that contains the JSON structure to deserialize. + The being deserialized. + + + + Deserializes the Json structure contained by the specified + into an instance of the specified type. + + The containing the object. + The of object being deserialized. + The instance of being deserialized. + + + + Deserializes the Json structure contained by the specified + into an instance of the specified type. + + The containing the object. + The type of the object to deserialize. + The instance of being deserialized. + + + + Deserializes the Json structure contained by the specified + into an instance of the specified type. + + The containing the object. + The of object being deserialized. + The instance of being deserialized. + + + + Serializes the specified and writes the Json structure + to a Stream using the specified . + + The used to write the Json structure. + The to serialize. + + + + Serializes the specified and writes the Json structure + to a Stream using the specified . + + The used to write the Json structure. + The to serialize. + + + + Occurs when the errors during serialization and deserialization. + + + + + Gets or sets the used by the serializer when resolving references. + + + + + Gets or sets the used by the serializer when resolving type names. + + + + + Gets or sets how type name writing and reading is handled by the serializer. + + + + + Gets or sets how a type name assembly is written and resolved by the serializer. + + The type name assembly format. + + + + Gets or sets how object references are preserved by the serializer. + + + + + Get or set how reference loops (e.g. a class referencing itself) is handled. + + + + + Get or set how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. + + + + + Get or set how null values are handled during serialization and deserialization. + + + + + Get or set how null default are handled during serialization and deserialization. + + + + + Gets or sets how objects are created during deserialization. + + The object creation handling. + + + + Gets or sets how constructors are used during deserialization. + + The constructor handling. + + + + Gets a collection that will be used during serialization. + + Collection that will be used during serialization. + + + + Gets or sets the contract resolver used by the serializer when + serializing .NET objects to JSON and vice versa. + + + + + Gets or sets the used by the serializer when invoking serialization callback methods. + + The context. + + + + Resolves from an id. + + + + + Initializes a new instance of the class. + + + + + Gets a for the specified id. + + The id. + A for the specified id. + + + + Gets or sets the loaded schemas. + + The loaded schemas. + + + + Specifies reference loop handling options for the . + + + + + Throw a when a loop is encountered. + + + + + Ignore loop references and do not serialize. + + + + + Serialize loop references. + + + + + Specifies missing member handling options for the . + + + + + Ignore a missing member and do not attempt to deserialize it. + + + + + Throw a when a missing member is encountered during deserialization. + + + + + Specifies the member serialization options for the . + + + + + All members are serialized by default. Members can be excluded using the . + + + + + Only members must be marked with the are serialized. + + + + + Converts an to and from its name string value. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets or sets a value indicating whether the written enum text should be camel case. + + true if the written enum text will be camel case; otherwise, false. + + + + Enqueue an action to take place on one of the event loop's threads + + + + + Starts the event loop with a specific number of threads to + dequeue and execute queued actions + + + + + Stops processing of enqueued actions + + + + + Indicates whether or not the loop is currently dequeueing and executing actions + + + + + Provides protobuf serialization support for a number of types + + + + + This is the more "complete" version of Serialize, which handles single instances of mapped types. + The value is written as a complete field, including field-header and (for sub-objects) a + length-prefix + In addition to that, this provides support for: + - basic values; individual int / string / Guid / etc + - IEnumerable sequences of any type handled by TrySerializeAuxiliaryType + + + + + + Writes a protocol-buffer representation of the given instance to the supplied stream. + + The existing instance to be serialized (cannot be null). + The destination stream to write to. + + + + Applies a protocol-buffer stream to an existing instance (or null), using length-prefixed + data - useful with network IO. + + The type being merged. + The existing instance to be modified (can be null). + The binary stream to apply to the instance (cannot be null). + How to encode the length prefix. + The tag used as a prefix to each record (only used with base-128 style prefixes). + The updated instance; this may be different to the instance argument if + either the original instance was null, or the stream defines a known sub-type of the + original instance. + + + + Applies a protocol-buffer stream to an existing instance (or null), using length-prefixed + data - useful with network IO. + + The type being merged. + The existing instance to be modified (can be null). + The binary stream to apply to the instance (cannot be null). + How to encode the length prefix. + The tag used as a prefix to each record (only used with base-128 style prefixes). + Used to resolve types on a per-field basis. + The updated instance; this may be different to the instance argument if + either the original instance was null, or the stream defines a known sub-type of the + original instance. + + + + Applies a protocol-buffer stream to an existing instance (or null), using length-prefixed + data - useful with network IO. + + The type being merged. + The existing instance to be modified (can be null). + The binary stream to apply to the instance (cannot be null). + How to encode the length prefix. + The tag used as a prefix to each record (only used with base-128 style prefixes). + Used to resolve types on a per-field basis. + Returns the number of bytes consumed by this operation (includes length-prefix overheads and any skipped data). + The updated instance; this may be different to the instance argument if + either the original instance was null, or the stream defines a known sub-type of the + original instance. + + + + Writes a protocol-buffer representation of the given instance to the supplied stream, + with a length-prefix. This is useful for socket programming, + as DeserializeWithLengthPrefix can be used to read the single object back + from an ongoing stream. + + The type being serialized. + The existing instance to be serialized (cannot be null). + How to encode the length prefix. + The destination stream to write to. + The tag used as a prefix to each record (only used with base-128 style prefixes). + + + + Applies a protocol-buffer stream to an existing instance (which may be null). + + The type (including inheritance) to consider. + The existing instance to be modified (can be null). + The binary stream to apply to the instance (cannot be null). + The updated instance; this may be different to the instance argument if + either the original instance was null, or the stream defines a known sub-type of the + original instance. + + + + This is the more "complete" version of Deserialize, which handles single instances of mapped types. + The value is read as a complete field, including field-header and (for sub-objects) a + length-prefix..kmc + + In addition to that, this provides support for: + - basic values; individual int / string / Guid / etc + - IList sets of any type handled by TryDeserializeAuxiliaryType + + + + + Creates a new runtime model, to which the caller + can add support for a range of types. A model + can be used "as is", or can be compiled for + optimal performance. + + + + + Applies common proxy scenarios, resolving the actual type to consider + + + + + Indicates whether the supplied type is explicitly modelled by the model + + + + + Provides the key that represents a given type in the current model. + The type is also normalized for proxies at the same time. + + + + + Provides the key that represents a given type in the current model. + + + + + Writes a protocol-buffer representation of the given instance to the supplied stream. + + Represents the type (including inheritance) to consider. + The existing instance to be serialized (cannot be null). + The destination stream to write to. + + + + Applies a protocol-buffer stream to an existing instance (which may be null). + + Represents the type (including inheritance) to consider. + The existing instance to be modified (can be null). + The binary stream to apply to the instance (cannot be null). + The updated instance; this may be different to the instance argument if + either the original instance was null, or the stream defines a known sub-type of the + original instance. + + + + Create a deep clone of the supplied instance; any sub-items are also cloned. + + + + + Indicates that while an inheritance tree exists, the exact type encountered was not + specified in that hierarchy and cannot be processed. + + + + + Indicates that the given type was not expected, and cannot be processed. + + + + + Indicates that the given type cannot be constructed; it may still be possible to + deserialize into existing instances. + + + + + Indicates the type of callback to be used + + + + + Invoked before an object is serialized + + + + + Invoked after an object is serialized + + + + + Invoked before an object is deserialized (or when a new instance is created) + + + + + Invoked after an object is deserialized + + + + + An in-memory representation of a JSON Schema. + + + + + Initializes a new instance of the class. + + + + + Reads a from the specified . + + The containing the JSON Schema to read. + The object representing the JSON Schema. + + + + Reads a from the specified . + + The containing the JSON Schema to read. + The to use when resolving schema references. + The object representing the JSON Schema. + + + + Load a from a string that contains schema JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + Parses the specified json. + + The json. + The resolver. + A populated from the string that contains JSON. + + + + Writes this schema to a . + + A into which this method will write. + + + + Writes this schema to a using the specified . + + A into which this method will write. + The resolver used. + + + + Returns a that represents the current . + + + A that represents the current . + + + + + Gets or sets the id. + + + + + Gets or sets the title. + + + + + Gets or sets whether the object is required. + + + + + Gets or sets whether the object is read only. + + + + + Gets or sets whether the object is visible to users. + + + + + Gets or sets whether the object is transient. + + + + + Gets or sets the description of the object. + + + + + Gets or sets the types of values allowed by the object. + + The type. + + + + Gets or sets the pattern. + + The pattern. + + + + Gets or sets the minimum length. + + The minimum length. + + + + Gets or sets the maximum length. + + The maximum length. + + + + Gets or sets a number that the value should be divisble by. + + A number that the value should be divisble by. + + + + Gets or sets the minimum. + + The minimum. + + + + Gets or sets the maximum. + + The maximum. + + + + Gets or sets a flag indicating whether the value can not equal the number defined by the "minimum" attribute. + + A flag indicating whether the value can not equal the number defined by the "minimum" attribute. + + + + Gets or sets a flag indicating whether the value can not equal the number defined by the "maximum" attribute. + + A flag indicating whether the value can not equal the number defined by the "maximum" attribute. + + + + Gets or sets the minimum number of items. + + The minimum number of items. + + + + Gets or sets the maximum number of items. + + The maximum number of items. + + + + Gets or sets the of items. + + The of items. + + + + Gets or sets the of properties. + + The of properties. + + + + Gets or sets the of additional properties. + + The of additional properties. + + + + Gets or sets the pattern properties. + + The pattern properties. + + + + Gets or sets a value indicating whether additional properties are allowed. + + + true if additional properties are allowed; otherwise, false. + + + + + Gets or sets the required property if this property is present. + + The required property if this property is present. + + + + Gets or sets the identity. + + The identity. + + + + Gets or sets the a collection of valid enum values allowed. + + A collection of valid enum values allowed. + + + + Gets or sets a collection of options. + + A collection of options. + + + + Gets or sets disallowed types. + + The disallow types. + + + + Gets or sets the default value. + + The default value. + + + + Gets or sets the extend . + + The extended . + + + + Gets or sets the format. + + The format. + + + + Contains the LINQ to JSON extension methods. + + + + + Returns a collection of tokens that contains the ancestors of every token in the source collection. + + The type of the objects in source, constrained to . + An of that contains the source collection. + An of that contains the ancestors of every node in the source collection. + + + + Returns a collection of tokens that contains the descendants of every token in the source collection. + + The type of the objects in source, constrained to . + An of that contains the source collection. + An of that contains the descendants of every node in the source collection. + + + + Returns a collection of child properties of every object in the source collection. + + An of that contains the source collection. + An of that contains the properties of every object in the source collection. + + + + Returns a collection of child values of every object in the source collection with the given key. + + An of that contains the source collection. + The token key. + An of that contains the values of every node in the source collection with the given key. + + + + Returns a collection of child values of every object in the source collection. + + An of that contains the source collection. + An of that contains the values of every node in the source collection. + + + + Returns a collection of converted child values of every object in the source collection with the given key. + + The type to convert the values to. + An of that contains the source collection. + The token key. + An that contains the converted values of every node in the source collection with the given key. + + + + Returns a collection of converted child values of every object in the source collection. + + The type to convert the values to. + An of that contains the source collection. + An that contains the converted values of every node in the source collection. + + + + Converts the value. + + The type to convert the value to. + A cast as a of . + A converted value. + + + + Converts the value. + + The source collection type. + The type to convert the value to. + A cast as a of . + A converted value. + + + + Returns a collection of child tokens of every array in the source collection. + + The source collection type. + An of that contains the source collection. + An of that contains the values of every node in the source collection. + + + + Returns a collection of converted child tokens of every array in the source collection. + + An of that contains the source collection. + The type to convert the values to. + The source collection type. + An that contains the converted values of every node in the source collection. + + + + Returns the input typed as . + + An of that contains the source collection. + The input typed as . + + + + Returns the input typed as . + + The source collection type. + An of that contains the source collection. + The input typed as . + + + + Converts a to and from a JavaScript date constructor (e.g. new Date(52231943)). + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing property value of the JSON that is being converted. + The calling serializer. + The object value. + + + + Used to define protocol-buffer specific behavior for + enumerated values. + + + + + Indicates whether this instance has a customised value mapping + + true if a specific value is set + + + + Gets or sets the specific value to use for this enum during serialization. + + + + + Gets or sets the defined name of the enum, as used in .proto + (this name is not used during serialization). + + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + The exception thrown when an error occurs during Json serialization or deserialization. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Provides methods for converting between common language runtime types and JSON types. + + + + + Represents JavaScript's boolean value true as a string. This field is read-only. + + + + + Represents JavaScript's boolean value false as a string. This field is read-only. + + + + + Represents JavaScript's null as a string. This field is read-only. + + + + + Represents JavaScript's undefined as a string. This field is read-only. + + + + + Represents JavaScript's positive infinity as a string. This field is read-only. + + + + + Represents JavaScript's negative infinity as a string. This field is read-only. + + + + + Represents JavaScript's NaN as a string. This field is read-only. + + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + - Removes all items from the . + Converts the to its JSON string representation. - The is read-only. + The value to convert. + The string delimiter character. + A JSON string representation of the . - + - Determines whether the contains a specific value. + Converts the to its JSON string representation. - The object to locate in the . + The value to convert. + A JSON string representation of the . + + + + Serializes the specified object to a JSON string. + + The object to serialize. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string. + + The object to serialize. + Indicates how the output is formatted. - true if is found in the ; otherwise, false. + A JSON string representation of the object. - + - Removes the first occurrence of a specific object from the . + Serializes the specified object to a JSON string using a collection of . - The object to remove from the . + The object to serialize. + A collection converters used while serializing. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string using a collection of . + + The object to serialize. + Indicates how the output is formatted. + A collection converters used while serializing. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string using a collection of . + + The object to serialize. + Indicates how the output is formatted. + The used to serialize the object. + If this is null, default serialization settings will be is used. - true if was successfully removed from the ; otherwise, false. This method also returns false if is not found in the original . + A JSON string representation of the object. - The is read-only. - + - Gets the node type for this . + Deserializes the JSON to a .NET object. - The type. + The JSON to deserialize. + The deserialized object from the Json string. - + - Gets the with the specified key. + Deserializes the JSON to a .NET object. - The with the specified key. + The JSON to deserialize. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + The deserialized object from the JSON string. - + - Gets or sets the at the specified index. + Deserializes the JSON to the specified .NET type. - + The JSON to deserialize. + The of object being deserialized. + The deserialized object from the Json string. - + - Gets the number of elements contained in the . + Deserializes the JSON to the specified .NET type. - - The number of elements contained in the . + The type of the object to deserialize to. + The JSON to deserialize. + The deserialized object from the Json string. - + - Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. + Deserializes the JSON to the given anonymous type. + + The anonymous type to deserialize to. This can't be specified + traditionally and must be infered from the anonymous type passed + as a parameter. + + The JSON to deserialize. + The anonymous type object. + The deserialized anonymous type from the JSON string. - + - Initializes a new instance of the class. + Deserializes the JSON to the specified .NET type. - The token to read from. + The type of the object to deserialize to. + The JSON to deserialize. + Converters to use while deserializing. + The deserialized object from the JSON string. - + - Reads the next JSON token from the stream as a . + Deserializes the JSON to the specified .NET type. - - A or a null reference if the next JSON token is null. - + The type of the object to deserialize to. + The object to deserialize. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + The deserialized object from the JSON string. - + - Reads the next JSON token from the stream. + Deserializes the JSON to the specified .NET type. - - true if the next token was read successfully; false if there are no more tokens to read. - + The JSON to deserialize. + The type of the object to deserialize. + Converters to use while deserializing. + The deserialized object from the JSON string. - + - Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. + Deserializes the JSON to the specified .NET type. + The JSON to deserialize. + The type of the object to deserialize to. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + The deserialized object from the JSON string. - + - Initializes a new instance of the class writing to the given . + Populates the object with values from the JSON string. - The container being written to. + The JSON to populate values from. + The target object to populate values onto. - + - Initializes a new instance of the class. + Populates the object with values from the JSON string. + + The JSON to populate values from. + The target object to populate values onto. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + + + + Serializes the XML node to a JSON string. + + The node to serialize. + A JSON string of the XmlNode. + + + + Serializes the XML node to a JSON string. + + The node to serialize. + Indicates how the output is formatted. + A JSON string of the XmlNode. + + + + Serializes the XML node to a JSON string. + + The node to serialize. + Indicates how the output is formatted. + Omits writing the root object. + A JSON string of the XmlNode. + + + + Deserializes the XmlNode from a JSON string. + + The JSON string. + The deserialized XmlNode + + + + Deserializes the XmlNode from a JSON string nested in a root elment. + + The JSON string. + The name of the root element to append when deserializing. + The deserialized XmlNode + + + + Deserializes the XmlNode from a JSON string nested in a root elment. + + The JSON string. + The name of the root element to append when deserializing. + + A flag to indicate whether to write the Json.NET array attribute. + This attribute helps preserve arrays when converting the written XML back to JSON. + + The deserialized XmlNode + + + + Serializes the to a JSON string. + + The node to convert to JSON. + A JSON string of the XNode. + + + + Serializes the to a JSON string. + + The node to convert to JSON. + Indicates how the output is formatted. + A JSON string of the XNode. + + + + Serializes the to a JSON string. + + The node to serialize. + Indicates how the output is formatted. + Omits writing the root object. + A JSON string of the XNode. + + + + Deserializes the from a JSON string. + + The JSON string. + The deserialized XNode + + + + Deserializes the from a JSON string nested in a root elment. + + The JSON string. + The name of the root element to append when deserializing. + The deserialized XNode + + + + Deserializes the from a JSON string nested in a root elment. + + The JSON string. + The name of the root element to append when deserializing. + + A flag to indicate whether to write the Json.NET array attribute. + This attribute helps preserve arrays when converting the written XML back to JSON. + + The deserialized XNode + + + + Converts a to and from JSON. + + + + + Writes the JSON representation of the object. + The to write to. + The value. + The calling serializer. - + - Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + Reads the JSON representation of the object. + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. - + - Closes this stream and the underlying stream. + Determines whether this instance can convert the specified value type. + Type of the value. + + true if this instance can convert the specified value type; otherwise, false. + - + - Writes the beginning of a Json object. + Represents an inherited type in a type hierarchy. - + - Writes the beginning of a Json array. + Creates a new SubType instance. + The field-number that is used to encapsulate the data (as a nested + message) for the derived dype. + The sub-type to be considered. - + - Writes the start of a constructor with the given name. + The field-number that is used to encapsulate the data (as a nested + message) for the derived dype. - The name of the constructor. - + - Writes the end. + The sub-type to be considered. - The token. - + - Writes the property name of a name/value pair on a Json object. + Builds a string. Unlike StringBuilder this class lets you reuse it's internal buffer. - The name of the property. - + - Writes a null value. + Specifies type name handling options for the . - + - Writes an undefined value. + Do not include the .NET type name when serializing types. - + - Writes raw JSON. + Include the .NET type name when serializing into a JSON object structure. - The raw JSON to write. - + - Writes out a comment /*...*/ containing the specified text. + Include the .NET type name when serializing into a JSON array structure. - Text to place inside the comment. - + - Writes a value. + Include the .NET type name when the type of the object being serialized is not the same as its declared type. - The value to write. - + - Writes a value. + Always include the .NET type name when serializing. - The value to write. - + - Writes a value. + Provides data for the Error event. - The value to write. - + - Writes a value. + Initializes a new instance of the class. - The value to write. + The current object. + The error context. - + - Writes a value. + Gets the current object the error event is being raised against. - The value to write. + The current object the error event is being raised against. - + - Writes a value. + Gets the error context. - The value to write. + The error context. - + - Writes a value. + Used to resolve references when serializing and deserializing JSON by the . - The value to write. - + - Writes a value. + Resolves a reference to its object. - The value to write. + The reference to resolve. + The object that - + - Writes a value. + Gets the reference for the sepecified object. - The value to write. + The object to get a reference for. + The reference to the object. - + - Writes a value. + Determines whether the specified object is referenced. - The value to write. + The object to test for a reference. + + true if the specified object is referenced; otherwise, false. + - + - Writes a value. + Adds a reference to the specified object. - The value to write. + The reference. + The object to reference. - + - Writes a value. + Resolves member mappings for a type, camel casing property names. - The value to write. - + - Writes a value. + Initializes a new instance of the class. - The value to write. - + - Writes a value. + Resolves the name of the property. - The value to write. + Name of the property. + The property name camel cased. - + - Writes a value. + Indicating whether a property is required. - The value to write. - + - Writes a value. + The property is not required. The default state. - The value to write. - + - Writes a value. + The property must be defined in JSON but can be a null value. - The value to write. - + - Gets the token being writen. + The property must be defined in JSON and cannot be a null value. - The token being writen. @@ -4736,1366 +6981,1592 @@ The type. - + - Specifies the type of token. + Specifies the settings on a object. - + - No token type has been set. + Initializes a new instance of the class. - + - A JSON object. + Gets or sets how reference loops (e.g. a class referencing itself) is handled. + Reference loop handling. - + - A JSON array. + Gets or sets how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. + Missing member handling. - + - A JSON constructor. + Gets or sets how objects are created during deserialization. + The object creation handling. - + - A JSON object property. + Gets or sets how null values are handled during serialization and deserialization. + Null value handling. - + - A comment. + Gets or sets how null default are handled during serialization and deserialization. + + The default value handling. + + + + Gets or sets a collection that will be used during serialization. + The converters. - + - An integer value. + Gets or sets how object references are preserved by the serializer. + The preserve references handling. - + - A float value. + Gets or sets how type name writing and reading is handled by the serializer. + The type name handling. - + - A string value. + Gets or sets how a type name assembly is written and resolved by the serializer. + The type name assembly format. - + - A boolean value. + Gets or sets how constructors are used during deserialization. + The constructor handling. - + - A null value. + Gets or sets the contract resolver used by the serializer when + serializing .NET objects to JSON and vice versa. + + The contract resolver. + + + + Gets or sets the used by the serializer when resolving references. + The reference resolver. - + - An undefined value. + Gets or sets the used by the serializer when resolving type names. + The binder. - + - A date value. + Gets or sets the error handler called during serialization and deserialization. + + The error handler called during serialization and deserialization. + + + + Gets or sets the used by the serializer when invoking serialization callback methods. + The context. - + - A raw JSON value. + Converts a to and from JSON. - + - A collection of bytes value. + Writes the JSON representation of the object. + The to write to. + The value. + The calling serializer. - + - Contains the JSON schema extension methods. + Reads the JSON representation of the object. + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. - + - Determines whether the is valid. + Determines whether this instance can convert the specified object type. - The source to test. - The schema to test with. + Type of the object. - true if the specified is valid; otherwise, false. + true if this instance can convert the specified object type; otherwise, false. - + - Validates the specified . + Indicates the encoding used to represent an individual value in a protobuf stream - The source to test. - The schema to test with. - + - Validates the specified . + Represents an error condition - The source to test. - The schema to test with. - The validation event handler. - + - Returns detailed information about the schema exception. + Base-128 variant-length encoding - + - Initializes a new instance of the class. + Fixed-length 8-byte encoding - + - Initializes a new instance of the class - with a specified error message. + Length-variant-prefixed encoding - The error message that explains the reason for the exception. - + - Initializes a new instance of the class - with a specified error message and a reference to the inner exception that is the cause of this exception. + Indicates the start of a group - The error message that explains the reason for the exception. - The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. - + - Gets the line number indicating where the error occurred. + Indicates the end of a group - The line number indicating where the error occurred. - + - Gets the line position indicating where the error occurred. - - The line position indicating where the error occurred. + Fixed-length 4-byte encoding + 10 - + - Resolves from an id. + This is not a formal wire-type in the "protocol buffers" spec, but + denotes a variant integer that should be interpreted using + zig-zag semantics (so -ve numbers aren't a significant overhead) - + - Initializes a new instance of the class. + Simple base class for supporting unexpected fields allowing + for loss-less round-tips/merge, even if the data is not understod. + The additional fields are (by default) stored in-memory in a buffer. + As an example of an alternative implementation, you might + choose to use the file system (temporary files) as the back-end, tracking + only the paths [such an object would ideally be IDisposable and use + a finalizer to ensure that the files are removed]. + - + - Gets a for the specified id. + Retrieves the extension object for the current + instance, optionally creating it if it does not already exist. - The id. - A for the specified id. + Should a new extension object be + created if it does not already exist? + The extension object if it exists (or was created), or null + if the extension object does not exist or is not available. + The createIfMissing argument is false during serialization, + and true during deserialization upon encountering unexpected fields. - + - Gets or sets the loaded schemas. + Provides a simple, default implementation for extension support, + optionally creating it if it does not already exist. Designed to be called by + classes implementing . - The loaded schemas. + Should a new extension object be + created if it does not already exist? + The extension field to check (and possibly update). + The extension object if it exists (or was created), or null + if the extension object does not exist or is not available. + The createIfMissing argument is false during serialization, + and true during deserialization upon encountering unexpected fields. - + - Specifies undefined schema Id handling options for the . + Appends the value as an additional (unexpected) data-field for the instance. + Note that for non-repeated sub-objects, this equates to a merge operation; + for repeated sub-objects this adds a new instance to the set; for simple + values the new value supercedes the old value. + Note that appending a value does not remove the old value from + the stream; avoid repeatedly appending values for the same field. + The type of the value to append. + The extensible object to append the value to. + The field identifier; the tag should not be defined as a known data-field for the instance. + The value to append. - + - Do not infer a schema Id. + Appends the value as an additional (unexpected) data-field for the instance. + Note that for non-repeated sub-objects, this equates to a merge operation; + for repeated sub-objects this adds a new instance to the set; for simple + values the new value supercedes the old value. + Note that appending a value does not remove the old value from + the stream; avoid repeatedly appending values for the same field. + The data-type of the field. + The data-format to use when encoding the value. + The extensible object to append the value to. + The field identifier; the tag should not be defined as a known data-field for the instance. + The value to append. - + - Use the .NET type name as the schema Id. + Appends the value as an additional (unexpected) data-field for the instance. + Note that for non-repeated sub-objects, this equates to a merge operation; + for repeated sub-objects this adds a new instance to the set; for simple + values the new value supercedes the old value. + Note that appending a value does not remove the old value from + the stream; avoid repeatedly appending values for the same field. + The data-type of the field. + The model that represents the data. + The data-format to use when encoding the value. + The extensible object to append the value to. + The field identifier; the tag should not be defined as a known data-field for the instance. + The value to append. - + - Use the assembly qualified .NET type name as the schema Id. + Queries an extensible object for an additional (unexpected) data-field for the instance. + The value returned is the composed value after merging any duplicated content; if the + value is "repeated" (a list), then use GetValues instead. + + The data-type of the field. + The extensible object to obtain the value from. + The field identifier; the tag should not be defined as a known data-field for the instance. + The effective value of the field, or the default value if not found. + + + + Queries an extensible object for an additional (unexpected) data-field for the instance. + The value returned is the composed value after merging any duplicated content; if the + value is "repeated" (a list), then use GetValues instead. + + The data-type of the field. + The extensible object to obtain the value from. + The field identifier; the tag should not be defined as a known data-field for the instance. + The data-format to use when decoding the value. + The effective value of the field, or the default value if not found. + + + + Queries an extensible object for an additional (unexpected) data-field for the instance. + The value returned (in "value") is the composed value after merging any duplicated content; + if the value is "repeated" (a list), then use GetValues instead. + + The data-type of the field. + The effective value of the field, or the default value if not found. + The extensible object to obtain the value from. + The field identifier; the tag should not be defined as a known data-field for the instance. + True if data for the field was present, false otherwise. + + + + Queries an extensible object for an additional (unexpected) data-field for the instance. + The value returned (in "value") is the composed value after merging any duplicated content; + if the value is "repeated" (a list), then use GetValues instead. + + The data-type of the field. + The effective value of the field, or the default value if not found. + The extensible object to obtain the value from. + The field identifier; the tag should not be defined as a known data-field for the instance. + The data-format to use when decoding the value. + True if data for the field was present, false otherwise. + + + + Queries an extensible object for an additional (unexpected) data-field for the instance. + The value returned (in "value") is the composed value after merging any duplicated content; + if the value is "repeated" (a list), then use GetValues instead. + + The data-type of the field. + The effective value of the field, or the default value if not found. + The extensible object to obtain the value from. + The field identifier; the tag should not be defined as a known data-field for the instance. + The data-format to use when decoding the value. + Allow tags that are present as part of the definition; for example, to query unknown enum values. + True if data for the field was present, false otherwise. + + + + Queries an extensible object for an additional (unexpected) data-field for the instance. + Each occurrence of the field is yielded separately, making this usage suitable for "repeated" + (list) fields. + + The extended data is processed lazily as the enumerator is iterated. + The data-type of the field. + The extensible object to obtain the value from. + The field identifier; the tag should not be defined as a known data-field for the instance. + An enumerator that yields each occurrence of the field. + + + + Queries an extensible object for an additional (unexpected) data-field for the instance. + Each occurrence of the field is yielded separately, making this usage suitable for "repeated" + (list) fields. + + The extended data is processed lazily as the enumerator is iterated. + The data-type of the field. + The extensible object to obtain the value from. + The field identifier; the tag should not be defined as a known data-field for the instance. + The data-format to use when decoding the value. + An enumerator that yields each occurrence of the field. + + + + Contract details for a used by the . - + - Returns detailed information related to the . + Initializes a new instance of the class. + The underlying type for the contract. - + - Gets the associated with the validation event. + Gets the object's properties. - The JsonSchemaException associated with the validation event. + The object's properties. - + - Gets the text description corresponding to the validation event. + The default serialization binder used when resolving and loading classes from type names. - The text description. - + - Represents the callback method that will handle JSON schema validation events and the . + When overridden in a derived class, controls the binding of a serialized object to a type. + Specifies the name of the serialized object. + Specifies the name of the serialized object. + + The type of the object the formatter creates a new instance of. + - + - Resolves member mappings for a type, camel casing property names. + A consistent hashing facility intended to make keyspace mapping problems + simple to solve. Includes support for live rebalancing. - + - Used by to resolves a for a given . + Adds a node to the keyspace by a given name. - + - Used by to resolves a for a given . + Rebalances a node's virtual key space by a delta of 'change' - + - Resolves the contract for a given type. + Rebalances a node's virtual key space to some total number - The type to resolve a contract for. - The contract for a given type. - + - Initializes a new instance of the class. + Removes the entire node and all keyspace associated with it - + - Initializes a new instance of the class. + Retrieves the node value through key space collision by hashing + TKey to some value and mapping that to the underlying virtual key space - - If set to true the will use a cached shared with other resolvers of the same type. - Sharing the cache will significantly performance because expensive reflection will only happen once but could cause unexpected - behavior if different instances of the resolver are suppose to produce different results. When set to false it is highly - recommended to reuse instances with the . - - + - Resolves the contract for a given type. + Initializes a consistent hashing key space where the alias count is the + number of default virtual nodes assigned to a given node - The type to resolve a contract for. - The contract for a given type. - + - Gets the serializable members for the type. + Extends IContext to provide the ability to pass in listeners for published IEvents. - The type to get serializable members for. - The serializable members for the type. + Must be a reference type - the Actor type on which action is being taken. + The IContext instance. + Collection of IEventListener. + The IContext instance. - + - Creates a for the given type. + Extends IContext to allow for an "OnException" continuation to be executed when the unit of work throws an exception. - Type of the object. - A for the given type. + Must be a reference type - the Actor type on which action is being taken. + The IContext instance. + The action to take if an exception is thrown during the unit of work. + The IContext instance. - + - Resolves the default for the contract. + Extends IContext to allow for an "OnSuccess" continuation to be executed when the unit of work succeeds. - Type of the object. - + Must be a reference type - the Actor type on which action is being taken. + The IContext instance. + The action to take once the work succeeds. + The IContext instance. - + - Creates a for the given type. + Extends IContext to allow for an Action taking the TActor instance to be passed and executed as part of the unit of work. - Type of the object. - A for the given type. + Must be a reference type - the Actor type on which action is being taken. + The IContext instance. + The action to take as part of the unit of work (called when Commit() is invoked). + The IContext instance. - + - Creates a for the given type. + If the dependency is a For + AND the plugin name matches + Else If the dependency is an Add + AND the concrete type matches - Type of the object. - A for the given type. + + - + - Creates a for the given type. + Declares a member to be used in protocol-buffer serialization, using + the given Tag. A DataFormat may be used to optimise the serialization + format (for instance, using zigzag encoding for negative numbers, or + fixed-length encoding for large values. - Type of the object. - A for the given type. - + - Creates a for the given type. + Creates a new ProtoMemberAttribute instance. - Type of the object. - A for the given type. + Specifies the unique tag used to identify this member within the type. - + - Creates a for the given type. + Gets or sets the original name defined in the .proto; not used + during serialization. - Type of the object. - A for the given type. - + - Creates a for the given type. + Gets or sets the data-format to be used when encoding this value. - Type of the object. - A for the given type. - + - Determines which contract type is created for the given type. + Gets the unique tag used to identify this member within the type. - Type of the object. - A for the given type. - + - Creates properties for the given . + Gets or sets a value indicating whether this member is mandatory. - The contract to create properties for. - Properties for the given . - + - Creates the used by the serializer to get and set values from a member. + Gets a value indicating whether this member is packed. - The member. - The used by the serializer to get and set values from a member. - + - Creates a for the given . + Gets or sets a value indicating whether this member is packed (lists/arrays). - The member's declaring types . - The member to create a for. - A created for the given . - + - Resolves the name of the property. + Additional (optional) settings that control serialization of members - Name of the property. - Name of the property. - + - Gets a value indicating whether members are being get and set using dynamic code generation. - This value is determined by the runtime permissions available. + Default; no additional options - - true if using dynamic code generation; otherwise, false. - - + - Gets or sets the default members search flags. + Indicates that repeated elements should use packed (length-prefixed) encoding - The default members search flags. - + - Gets or sets a value indicating whether compiler generated members should be serialized. + Indicates that the given item is required - - true if serialized compiler generated members; otherwise, false. - - + - Initializes a new instance of the class. + Declares a member to be used in protocol-buffer serialization, using + the given Tag and MemberName. This allows ProtoMemberAttribute usage + even for partial classes where the individual members are not + under direct control. + A DataFormat may be used to optimise the serialization + format (for instance, using zigzag encoding for negative numbers, or + fixed-length encoding for large values. - + - Resolves the name of the property. + Creates a new ProtoMemberAttribute instance. - Name of the property. - The property name camel cased. + Specifies the unique tag used to identify this member within the type. + Specifies the member to be serialized. - + - The default serialization binder used when resolving and loading classes from type names. + The name of the member to be serialized. - + - When overridden in a derived class, controls the binding of a serialized object to a type. + Contract details for a used by the . - Specifies the name of the serialized object. - Specifies the name of the serialized object. - - The type of the object the formatter creates a new instance of. - - + - Provides information surrounding an error. + Initializes a new instance of the class. + The underlying type for the contract. - + - Gets or sets the error. + Gets or sets the ISerializable object constructor. - The error. + The ISerializable object constructor. - + - Gets the original object that caused the error. + The exception thrown when an error occurs while reading Json text. - The original object that caused the error. - + - Gets the member that caused the error. + Initializes a new instance of the class. - The member that caused the error. - + - Gets or sets a value indicating whether this is handled. + Initializes a new instance of the class + with a specified error message. - true if handled; otherwise, false. + The error message that explains the reason for the exception. - + - Contract details for a used by the . + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. - + - Initializes a new instance of the class. + Converts a to and from the ISO 8601 date format (e.g. 2008-04-12T12:53Z). - The underlying type for the contract. - + - Contract details for a used by the . + Writes the JSON representation of the object. + The to write to. + The value. + The calling serializer. - + - Initializes a new instance of the class. + Reads the JSON representation of the object. - The underlying type for the contract. + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. - + - Maps a JSON property to a .NET member. + Gets or sets the date time styles used when converting a date to and from JSON. + The date time styles used when converting a date to and from JSON. - + - Returns a that represents this instance. + Gets or sets the date time format used when converting a date to and from JSON. - - A that represents this instance. - + The date time format used when converting a date to and from JSON. - + - Gets the name of the property. + Gets or sets the culture used when converting a date to and from JSON. - The name of the property. + The culture used when converting a date to and from JSON. - + - Gets the that will get and set the during serialization. + Converts an Entity Framework EntityKey to and from JSON. - The that will get and set the during serialization. - + - Gets or sets the type of the property. + Writes the JSON representation of the object. - The type of the property. + The to write to. + The value. + The calling serializer. - + - Gets or sets the for the property. - If set this converter takes presidence over the contract converter for the property type. + Reads the JSON representation of the object. - The converter. + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. - + - Gets a value indicating whether this is ignored. + Determines whether this instance can convert the specified object type. - true if ignored; otherwise, false. + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + - + - Gets a value indicating whether this is readable. + Finds all super-types that the given type descends from, including the type passed in - true if readable; otherwise, false. + The type to start at, when you want to find all super-types + list of types that the provided type inherits from, including the type argument passed in - + - Gets a value indicating whether this is writable. + Returns the types that inherit from the provided type. - true if writable; otherwise, false. + Super-type you want to find sub-types for. + list of types that inherit from the provided type. - + - Gets the member converter. + This class acts as an internal wrapper allowing us to do a dynamic + methodinfo invoke; an't put into Serializer as don't want on public + API; can't put into Serializer<T> since we need to invoke + accross classes, which isn't allowed in Silverlight) - The member converter. - + - Gets the default value. + All this does is call GetExtendedValuesTyped with the correct type for "instance"; + this ensures that we don't get issues with subclasses declaring conflicting types - + the caller must respect the fields defined for the type they pass in. - The default value. - + - Gets a value indicating whether this is required. + Reads the given value(s) from the instance's stream; the serializer + is inferred from TValue and format. For singletons, each occurrence + is merged [only applies for sub-objects], and the composed + value if yielded once; otherwise ("repeated") each occurrence + is yielded separately. - A value indicating whether this is required. + Needs to be public to be callable thru reflection in Silverlight - + - Gets a value indicating whether this property preserves object references. + Stores the given value into the instance's stream; the serializer + is inferred from TValue and format. - - true if this instance is reference; otherwise, false. - + Needs to be public to be callable thru reflection in Silverlight - + - Gets the property null value handling. + Get and set values for a using reflection. - The null value handling. - + - Gets the property default value handling. + Initializes a new instance of the class. - The default value handling. + The member info. - + - Gets the property reference loop handling. + Sets the value. - The reference loop handling. + The target to set the value on. + The value to set on the target. - + - Gets the property object creation handling. + Gets the value. - The object creation handling. + The target to get the value from. + The value. - + - Gets or sets the type name handling. + Determines whether the string contains white space. - The type name handling. + The string to test for white space. + + true if the string contains white space; otherwise, false. + - + - Gets or sets a predicate used to determine whether the property should be serialize. + Determines whether the string is all white space. Empty string will return false. - A predicate used to determine whether the property should be serialize. + The string to test whether it is all white space. + + true if the string is all white space; otherwise, false. + - + - A collection of objects. + Ensures the target string ends with the specified string. + The target. + The value. + The target string with the value string at the end. - + - Initializes a new instance of the class. + Perform an action if the string is not null or empty. - The contract. + The value. + The action to perform. - + - When implemented in a derived class, extracts the key from the specified element. + Indents the specified string. - The element from which to extract the key. - The key for the specified element. + The string to indent. + The number of characters to indent by. + - + - Adds a object. + Indents the specified string. - The property to add to the collection. + The string to indent. + The number of characters to indent by. + The indent character. + - + - Gets the closest matching object. - First attempts to get an exact case match of propertyName and then - a case insensitive match. + Numbers the lines. - Name of the property. - A matching property if found. + The string to number. + - + - Gets a property by property name. + Nulls an empty string. - The name of the property to get. - Type property name string comparison. - A matching property if found. + The string. + Null if the string was null, otherwise the string unchanged. - + - Specifies missing member handling options for the . + Determines whether the collection is null or empty. + The collection. + + true if the collection is null or empty; otherwise, false. + - + - Ignore a missing member and do not attempt to deserialize it. + Determines whether the collection is null or empty. + The collection. + + true if the collection is null or empty; otherwise, false. + - + - Throw a when a missing member is encountered during deserialization. + Determines whether the collection is null, empty or its contents are uninitialized values. + The list. + + true if the collection is null or empty or its contents are uninitialized values; otherwise, false. + - + - Specifies null value handling options for the . + Makes a slice of the specified list in between the start and end indexes. + The list. + The start index. + The end index. + A slice of the list. - + - Include null values when serializing and deserializing objects. + Makes a slice of the specified list in between the start and end indexes, + getting every so many items based upon the step. + The list. + The start index. + The end index. + The step. + A slice of the list. - + - Ignore null values when serializing and deserializing objects. + Group the collection using a function which returns the key. + The source collection to group. + The key selector. + A Dictionary with each key relating to a list of objects in a list grouped under it. - + - Specifies reference loop handling options for the . + Adds the elements of the specified collection to the specified generic IList. + The list to add to. + The collection of elements to add. - + - Throw a when a loop is encountered. + Contract details for a used by the . - + - Ignore loop references and do not serialize. + Initializes a new instance of the class. + The underlying type for the contract. - + - Serialize loop references. + Provides information surrounding an error. - + - An in-memory representation of a JSON Schema. + Gets or sets the error. + The error. - + - Initializes a new instance of the class. + Gets the original object that caused the error. + The original object that caused the error. - + - Reads a from the specified . + Gets the member that caused the error. - The containing the JSON Schema to read. - The object representing the JSON Schema. + The member that caused the error. - + - Reads a from the specified . - - The containing the JSON Schema to read. - The to use when resolving schema references. - The object representing the JSON Schema. + Gets or sets a value indicating whether this is handled. + + true if handled; otherwise, false. - + - Load a from a string that contains schema JSON. + Represents the set of serialization callbacks to be used when serializing/deserializing a type. - A that contains JSON. - A populated from the string that contains JSON. - + + Called before serializing an instance + + + Called before deserializing an instance + + + Called after serializing an instance + + + Called after deserializing an instance + + - Parses the specified json. + True if any callback is set, else False - The json. - The resolver. - A populated from the string that contains JSON. - + - Writes this schema to a . + When applied to a method, specifies that the method is called when an error occurs serializing an object. - A into which this method will write. - + - Writes this schema to a using the specified . + Maps a JSON property to a .NET member. - A into which this method will write. - The resolver used. - + - Returns a that represents the current . + Returns a that represents this instance. - A that represents the current . + A that represents this instance. - + - Gets or sets the id. + Gets the name of the property. + The name of the property. - + - Gets or sets the title. + Gets the that will get and set the during serialization. + The that will get and set the during serialization. - + - Gets or sets whether the object is optional. + Gets or sets the type of the property. + The type of the property. - + - Gets or sets whether the object is read only. + Gets or sets the for the property. + If set this converter takes presidence over the contract converter for the property type. + The converter. - + - Gets or sets whether the object is visible to users. + Gets a value indicating whether this is ignored. + true if ignored; otherwise, false. - + - Gets or sets whether the object is transient. + Gets a value indicating whether this is readable. + true if readable; otherwise, false. - + - Gets or sets the description of the object. + Gets a value indicating whether this is writable. + true if writable; otherwise, false. - + - Gets or sets the types of values allowed by the object. + Gets the member converter. - The type. + The member converter. - + - Gets or sets the pattern. + Gets the default value. - The pattern. + The default value. - + - Gets or sets the minimum length. + Gets a value indicating whether this is required. - The minimum length. + A value indicating whether this is required. - + - Gets or sets the maximum length. + Gets a value indicating whether this property preserves object references. - The maximum length. + + true if this instance is reference; otherwise, false. + - + - Gets or sets the maximum decimals. + Gets the property null value handling. - The maximum decimals. + The null value handling. - + - Gets or sets the minimum. + Gets the property default value handling. - The minimum. + The default value handling. - + - Gets or sets the maximum. + Gets the property reference loop handling. - The maximum. + The reference loop handling. - + - Gets or sets the minimum number of items. + Gets the property object creation handling. - The minimum number of items. + The object creation handling. - + - Gets or sets the maximum number of items. + Gets or sets the type name handling. - The maximum number of items. + The type name handling. - + - Gets or sets the of items. + Gets or sets a predicate used to determine whether the property should be serialize. - The of items. + A predicate used to determine whether the property should be serialize. - + - Gets or sets the of properties. + Gets or sets a predicate used to determine whether the property should be serialized. - The of properties. + A predicate used to determine whether the property should be serialized. - + - Gets or sets the of additional properties. + Gets or sets an action used to set whether the property has been deserialized. - The of additional properties. + An action used to set whether the property has been deserialized. - + - Gets or sets a value indicating whether additional properties are allowed. + Specifies reference handling options for the . - - true if additional properties are allowed; otherwise, false. - - + - Gets or sets the required property if this property is present. + Do not preserve references when serializing types. - The required property if this property is present. - + - Gets or sets the identity. + Preserve references when serializing into a JSON object structure. - The identity. - + - Gets or sets the a collection of valid enum values allowed. + Preserve references when serializing into a JSON array structure. - A collection of valid enum values allowed. - + - Gets or sets a collection of options. + Preserve references when serializing. - A collection of options. - + - Gets or sets disallowed types. + Specifies null value handling options for the . - The disallow types. - + - Gets or sets the default value. + Include null values when serializing and deserializing objects. - The default value. - + - Gets or sets the extend . + Ignore null values when serializing and deserializing objects. - The extended . - + - Gets or sets the format. + Represents a view of a . - The format. - + - Generates a from a specified . + Initializes a new instance of the class. + The name. + Type of the property. - + - Generate a from the specified type. + When overridden in a derived class, returns whether resetting an object changes its value. - The type to generate a from. - A generated from the specified type. + + true if resetting the component changes its value; otherwise, false. + + The component to test for reset capability. + - + - Generate a from the specified type. + When overridden in a derived class, gets the current value of the property on a component. - The type to generate a from. - The used to resolve schema references. - A generated from the specified type. + + The value of a property for a given component. + + The component with the property for which to retrieve the value. + - + - Generate a from the specified type. + When overridden in a derived class, resets the value for this property of the component to the default value. - The type to generate a from. - Specify whether the generated root will be nullable. - A generated from the specified type. + The component with the property value that is to be reset to the default value. + - + - Generate a from the specified type. + When overridden in a derived class, sets the value of the component to a different value. - The type to generate a from. - The used to resolve schema references. - Specify whether the generated root will be nullable. - A generated from the specified type. + The component with the property value that is to be set. + The new value. + - + - Gets or sets how undefined schemas are handled by the serializer. + When overridden in a derived class, determines a value indicating whether the value of this property needs to be persisted. + + true if the property should be persisted; otherwise, false. + + The component with the property to be examined for persistence. + - + - Gets or sets the contract resolver. + When overridden in a derived class, gets the type of the component this property is bound to. - The contract resolver. + + A that represents the type of component this property is bound to. When the or methods are invoked, the object specified might be an instance of this type. + - + - The value types allowed by the . + When overridden in a derived class, gets a value indicating whether this property is read-only. + + + true if the property is read-only; otherwise, false. + + + + + When overridden in a derived class, gets the type of the property. + + A that represents the type of the property. + - + - No type specified. + Gets the hash code for the name of the member. + + + The hash code for the name of the member. + - + - String type. + Specifies default value handling options for the . - + - Float type. + Include default values when serializing and deserializing objects. - + - Integer type. + Ignore default values when serializing and deserializing objects. - + - Boolean type. + Converts a to and from JSON and BSON. - + - Object type. + Writes the JSON representation of the object. + The to write to. + The value. + The calling serializer. - + - Array type. + Reads the JSON representation of the object. + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. - + - Null type. + Determines whether this instance can convert the specified object type. + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + - + - Any type. + A stateful reader, used to read a protobuf stream. Typical usage would be (sequentially) to call + ReadFieldHeader and (after matching the field) an appropriate Read* method. - + - Contract details for a used by the . + Creates a new reader against a stream + The source stream + The model to use for serialization; this can be null, but this will impair the ability to deserialize sub-objects - + - Initializes a new instance of the class. + Releases resources used by the reader, but importantly does not Dispose the + underlying stream; in many typical use-cases the stream is used for different + processes, so it is assumed that the consumer will Dispose their stream separately. - The underlying type for the contract. - + - Gets or sets the object member serialization. + Reads an unsigned 32-bit integer from the stream; supported wire-types: Variant, Fixed32, Fixed64 - The member object serialization. - + - Gets the object's properties. + Reads a signed 16-bit integer from the stream: Variant, Fixed32, Fixed64, SignedVariant - The object's properties. - + - Gets or sets the parametrized constructor used to create the object. + Reads an unsigned 16-bit integer from the stream; supported wire-types: Variant, Fixed32, Fixed64 - The parametrized constructor. - + - Contract details for a used by the . + Reads an unsigned 8-bit integer from the stream; supported wire-types: Variant, Fixed32, Fixed64 - + - Initializes a new instance of the class. + Reads a signed 8-bit integer from the stream; supported wire-types: Variant, Fixed32, Fixed64, SignedVariant - The underlying type for the contract. - + - Get and set values for a using reflection. + Reads a signed 32-bit integer from the stream; supported wire-types: Variant, Fixed32, Fixed64, SignedVariant - + - Initializes a new instance of the class. + Reads a signed 64-bit integer from the stream; supported wire-types: Variant, Fixed32, Fixed64, SignedVariant - The member info. - + - Sets the value. + Reads a string from the stream (using UTF8); supported wire-types: String - The target to set the value on. - The value to set on the target. - + - Gets the value. + Throws an exception indication that the given value cannot be mapped to an enum. - The target to get the value from. - The value. - + - When applied to a method, specifies that the method is called when an error occurs serializing an object. + Reads a double-precision number from the stream; supported wire-types: Fixed32, Fixed64 - + - Represents a method that constructs an object. + Reads (merges) a sub-message from the stream, internally calling StartSubItem and EndSubItem, and (in between) + parsing the message in accordance with the model associated with the reader - + - Specifies type name handling options for the . + Makes the end of consuming a nested message in the stream; the stream must be either at the correct EndGroup + marker, or all fields of the sub-message must have been consumed (in either case, this means ReadFieldHeader + should return zero) - + - Do not include the .NET type name when serializing types. + Begins consuming a nested message in the stream; supported wire-types: StartGroup, String + The token returned must be help and used when callining EndSubItem - + - Include the .NET type name when serializing into a JSON object structure. + Reads a field header from the stream, setting the wire-type and retuning the field number. If no + more fields are available, then 0 is returned. This methods respects sub-messages. - + - Include the .NET type name when serializing into a JSON array structure. + Looks ahead to see whether the next field in the stream is what we expect + (typically; what we've just finished reading - for example ot read successive list items) - + - Include the .NET type name when the type of the object being serialized is not the same as its declared type. + Compares the streams current wire-type to the hinted wire-type, updating the reader if necessary; for example, + a Variant may be updated to SignedVariant. If the hinted wire-type is unrelated then no change is made. - + - Always include the .NET type name when serializing. + Verifies that the stream's current wire-type is as expected, or a specialized sub-type (for example, + SignedVariant) - in which case the current wire-type is updated. Otherwise an exception is thrown. - + - Converts the value to the specified type. + Discards the data for the current field. - The type to convert the value to. - The value to convert. - The converted type. - + - Converts the value to the specified type. + Reads an unsigned 64-bit integer from the stream; supported wire-types: Variant, Fixed32, Fixed64 - The type to convert the value to. - The value to convert. - The culture to use when converting. - The converted type. - + - Converts the value to the specified type. + Reads a single-precision number from the stream; supported wire-types: Fixed32, Fixed64 - The value to convert. - The culture to use when converting. - The type to convert the value to. - The converted type. - + - Converts the value to the specified type. + Reads a boolean value from the stream; supported wire-types: Variant, Fixed32, Fixed64 - The type to convert the value to. - The value to convert. - The converted value if the conversion was successful or the default value of T if it failed. - - true if initialValue was converted successfully; otherwise, false. - + - + - Converts the value to the specified type. + Reads a byte-sequence from the stream, appending them to an existing byte-sequence (which can be null); supported wire-types: String - The type to convert the value to. - The value to convert. - The culture to use when converting. - The converted value if the conversion was successful or the default value of T if it failed. - - true if initialValue was converted successfully; otherwise, false. - - + - Converts the value to the specified type. + Reads the length-prefix of a message from a stream without buffering additional data, allowing a fixed-length + reader to be created. - The value to convert. - The culture to use when converting. - The type to convert the value to. - The converted value if the conversion was successful or the default value of T if it failed. - - true if initialValue was converted successfully; otherwise, false. - - + - Converts the value to the specified type. If the value is unable to be converted, the - value is checked whether it assignable to the specified type. + Reads the length-prefix of a message from a stream without buffering additional data, allowing a fixed-length + reader to be created. - The type to convert or cast the value to. - The value to convert. - The converted type. If conversion was unsuccessful, the initial value is returned if assignable to the target type - + + The number of bytes consumed; 0 if no data available + + - Converts the value to the specified type. If the value is unable to be converted, the - value is checked whether it assignable to the specified type. + Copies the current field into the instance as extension data - The type to convert or cast the value to. - The value to convert. - The culture to use when converting. - The converted type. If conversion was unsuccessful, the initial value is returned if assignable to the target type - + - Converts the value to the specified type. If the value is unable to be converted, the - value is checked whether it assignable to the specified type. + Indicates whether the reader still has data remaining in the current sub-item, + additionally setting the wire-type for the next field if there is more data. + This is used when decoding packed data. - The value to convert. - The culture to use when converting. - The type to convert or cast the value to. - - The converted type. If conversion was unsuccessful, the initial value - is returned if assignable to the target type. - - + - Converts the value to the specified type. If the value is unable to be converted, the - value is checked whether it assignable to the specified type. + Gets the number of the field being processed. - The type to convert the value to. - The value to convert. - The converted value if the conversion was successful or the default value of T if it failed. - - true if initialValue was converted successfully or is assignable; otherwise, false. - - + - Converts the value to the specified type. If the value is unable to be converted, the - value is checked whether it assignable to the specified type. + Indicates the underlying proto serialization format on the wire. - The type to convert the value to. - The value to convert. - The culture to use when converting. - The converted value if the conversion was successful or the default value of T if it failed. - - true if initialValue was converted successfully or is assignable; otherwise, false. - - + - Converts the value to the specified type. If the value is unable to be converted, the - value is checked whether it assignable to the specified type. + Returns the position of the current reader (note that this is not necessarily the same as the position + in the underlying stream, if multiple readers are used on the same stream) - The value to convert. - The culture to use when converting. - The type to convert the value to. - The converted value if the conversion was successful or the default value of T if it failed. - - true if initialValue was converted successfully or is assignable; otherwise, false. - - + - Parses the specified enum member name, returning it's value. + Provides protobuf serialization support for a number of types that can be defined at runtime - Name of the enum member. - - + - Parses the specified enum member name, returning it's value. + Returns a sequence of the Type instances that can be + processed by this model. - Name of the enum member. - If set to true ignore case. - - + - Gets a dictionary of the names and values of an Enum type. + Adds support for an additional type in this model, optionally + appplying inbuilt patterns. - + Inbuild patterns include: + [ProtoContract]/[ProtoMember(n)] + [DataContract]/[DataMember(Order=n)] + [XmlType]/[XmlElement(Order=n)] + [On{Des|S}erializ{ing|ed}] + ShouldSerialize*/*Specified + + The type to be supported + Whether to apply the inbuilt patterns, or + jut add the type with no additional configuration. + The MetaType representing this type, allowing + further configuration. - + - Gets a dictionary of the names and values of an Enum type. + Verifies that the model is still open to changes; if not, an exception is thrown - - + - Gets a dictionary of the names and values of an Enum type. + Prevents further changes to this model - The enum type to get names and values for. - - + - Gets the maximum valid value of an Enum type. Flags enums are ORed. + Provides the key that represents a given type in the current model. - The type of the returned value. Must be assignable from the enum's underlying value type. - The enum type to get the maximum value for. - - + - Specifies the type of Json token. + Writes a protocol-buffer representation of the given instance to the supplied stream. + Represents the type (including inheritance) to consider. + The existing instance to be serialized (cannot be null). + The destination stream to write to. - + - This is returned by the if a method has not been called. + Applies a protocol-buffer stream to an existing instance (which may be null). + Represents the type (including inheritance) to consider. + The existing instance to be modified (can be null). + The binary stream to apply to the instance (cannot be null). + The updated instance; this may be different to the instance argument if + either the original instance was null, or the stream defines a known sub-type of the + original instance. - + - An object start token. + The default model, used to support ProtoBuf.Serializer - + - An array start token. + Obtains the MetaType associated with a given Type for the current model, + allowing additional configuration. - + - A constructor start token. + Should serializers be compiled on demand? It may be useful + to disable this for debugging purposes. - + - An object property name. + Should support for unexpected types be added automatically? + If false, an exception is thrown when unexpected types + are encountered. - + - A comment. + Provides a simple buffer-based implementation of an extension object. - + - Raw JSON. + Represents the callback method that will handle JSON schema validation events and the . - + - An interger. + Represents a JSON constructor. - + - A float. + Initializes a new instance of the class. - + - A string. + Initializes a new instance of the class from another object. + A object to copy from. - + - A boolean. + Initializes a new instance of the class with the specified name and content. + The constructor name. + The contents of the constructor. - + - A null token. + Initializes a new instance of the class with the specified name and content. + The constructor name. + The contents of the constructor. - + - An undefined token. + Initializes a new instance of the class with the specified name. + The constructor name. - + - An object end token. + Writes this token to a . + A into which this method will write. + A collection of which will be used when writing the token. - + - An array end token. + Loads an from a . + A that will be read for the content of the . + A that contains the JSON that was read from the specified . - + - A constructor end token. + Gets or sets the name of this constructor. + The constructor name. - + - A Date. + Gets the node type for this . + The type. - + - Byte data. + Gets the with the specified key. + The with the specified key. @@ -6154,211 +8625,90 @@ Causes child objects to be indented according to the and settings. - - - Builds a string. Unlike StringBuilder this class lets you reuse it's internal buffer. - - - - - Determines whether the collection is null or empty. - - The collection. - - true if the collection is null or empty; otherwise, false. - - - - - Determines whether the collection is null or empty. - - The collection. - - true if the collection is null or empty; otherwise, false. - - - - - Determines whether the collection is null, empty or its contents are uninitialized values. - - The list. - - true if the collection is null or empty or its contents are uninitialized values; otherwise, false. - - - - - Makes a slice of the specified list in between the start and end indexes. - - The list. - The start index. - The end index. - A slice of the list. - - - - Makes a slice of the specified list in between the start and end indexes, - getting every so many items based upon the step. - - The list. - The start index. - The end index. - The step. - A slice of the list. - - - - Group the collection using a function which returns the key. - - The source collection to group. - The key selector. - A Dictionary with each key relating to a list of objects in a list grouped under it. - - - - Adds the elements of the specified collection to the specified generic IList. - - The list to add to. - The collection of elements to add. - - - - Gets the type of the typed collection's items. - - The type. - The type of the typed collection's items. - - - - Tests whether the list's items are their unitialized value. - - The list. - Whether the list's items are their unitialized value - - - - Gets the member's underlying type. - - The member. - The underlying type of the member. - - - - Determines whether the member is an indexed property. - - The member. - - true if the member is an indexed property; otherwise, false. - - - + - Determines whether the property is an indexed property. + Represents a collection of . - The property. - - true if the property is an indexed property; otherwise, false. - - + - Gets the member's value on the object. + Converts a to and from JSON and BSON. - The member. - The target object. - The member's value on the object. - + - Sets the member's value on the target object. + Writes the JSON representation of the object. - The member. - The target. + The to write to. The value. + The calling serializer. - - - Determines whether the specified MemberInfo can be read. - - The MemberInfo to determine whether can be read. - /// if set to true then allow the member to be gotten non-publicly. - - true if the specified MemberInfo can be read; otherwise, false. - - - - - Determines whether the specified MemberInfo can be set. - - The MemberInfo to determine whether can be set. - if set to true then allow the member to be set non-publicly. - - true if the specified MemberInfo can be set; otherwise, false. - - - + - Determines whether the string contains white space. + Reads the JSON representation of the object. - The string to test for white space. - - true if the string contains white space; otherwise, false. - + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. - + - Determines whether the string is all white space. Empty string will return false. + Determines whether this instance can convert the specified object type. - The string to test whether it is all white space. + Type of the object. - true if the string is all white space; otherwise, false. + true if this instance can convert the specified object type; otherwise, false. - + - Ensures the target string ends with the specified string. + Create a custom object - The target. - The value. - The target string with the value string at the end. + - + - Perform an action if the string is not null or empty. + Writes the JSON representation of the object. + The to write to. The value. - The action to perform. + The calling serializer. - + - Indents the specified string. + Reads the JSON representation of the object. - The string to indent. - The number of characters to indent by. - + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. - + - Indents the specified string. + Creates an object which will then be populated by the serializer. - The string to indent. - The number of characters to indent by. - The indent character. + Type of the object. - + - Numbers the lines. + Determines whether this instance can convert the specified object type. - The string to number. - + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + - + - Nulls an empty string. + Gets a value indicating whether this can write JSON. - The string. - Null if the string was null, otherwise the string unchanged. + + true if this can write JSON; otherwise, false. + diff --git a/lib/Symbiote.Core.dll b/lib/Symbiote.Core.dll new file mode 100644 index 0000000..e7fb4a7 Binary files /dev/null and b/lib/Symbiote.Core.dll differ diff --git a/lib/Symbiote.Core.pdb b/lib/Symbiote.Core.pdb new file mode 100644 index 0000000..b04b06f Binary files /dev/null and b/lib/Symbiote.Core.pdb differ diff --git a/lib/Symbiote.Core/Microsoft.Practices.ServiceLocation.dll b/lib/Symbiote.Core/Microsoft.Practices.ServiceLocation.dll deleted file mode 100644 index 3f88954..0000000 Binary files a/lib/Symbiote.Core/Microsoft.Practices.ServiceLocation.dll and /dev/null differ diff --git a/lib/Symbiote.Core/Microsoft.Practices.ServiceLocation.xml b/lib/Symbiote.Core/Microsoft.Practices.ServiceLocation.xml deleted file mode 100644 index 6c6f2fe..0000000 --- a/lib/Symbiote.Core/Microsoft.Practices.ServiceLocation.xml +++ /dev/null @@ -1,280 +0,0 @@ - - - - Microsoft.Practices.ServiceLocation - - - - - The standard exception thrown when a ServiceLocator has an error in resolving an object. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class with a specified error message. - - - The message that describes the error. - - - - - Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. - - - The error message that explains the reason for the exception. - - - The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. - - - - - Initializes a new instance of the class with serialized data. - - - The that holds the serialized object data about the exception being thrown. - - - The that contains contextual information about the source or destination. - - - The parameter is null. - - - The class name is null or is zero (0). - - - - - The generic Service Locator interface. This interface is used - to retrieve services (instances identified by type and optional - name) from a container. - - - - - Get an instance of the given . - - Type of object requested. - if there is an error resolving - the service instance. - The requested service instance. - - - - Get an instance of the given named . - - Type of object requested. - Name the object was registered with. - if there is an error resolving - the service instance. - The requested service instance. - - - - Get all instances of the given currently - registered in the container. - - Type of object requested. - if there is are errors resolving - the service instance. - A sequence of instances of the requested . - - - - Get an instance of the given . - - Type of object requested. - if there is are errors resolving - the service instance. - The requested service instance. - - - - Get an instance of the given named . - - Type of object requested. - Name the object was registered with. - if there is are errors resolving - the service instance. - The requested service instance. - - - - Get all instances of the given currently - registered in the container. - - Type of object requested. - if there is are errors resolving - the service instance. - A sequence of instances of the requested . - - - - A strongly-typed resource class, for looking up localized strings, etc. - - - - - Returns the cached ResourceManager instance used by this class. - - - - - Overrides the current thread's CurrentUICulture property for all - resource lookups using this strongly typed resource class. - - - - - Looks up a localized string similar to Activation error occured while trying to get all instances of type {0}. - - - - - Looks up a localized string similar to Activation error occured while trying to get instance of type {0}, key "{1}". - - - - - This class provides the ambient container for this application. If your - framework defines such an ambient container, use ServiceLocator.Current - to get it. - - - - - Set the delegate that is used to retrieve the current container. - - Delegate that, when called, will return - the current ambient container. - - - - The current ambient container. - - - - - This class is a helper that provides a default implementation - for most of the methods of . - - - - - Implementation of . - - The requested service. - if there is an error in resolving the service instance. - The requested object. - - - - Get an instance of the given . - - Type of object requested. - if there is an error resolving - the service instance. - The requested service instance. - - - - Get an instance of the given named . - - Type of object requested. - Name the object was registered with. - if there is an error resolving - the service instance. - The requested service instance. - - - - Get all instances of the given currently - registered in the container. - - Type of object requested. - if there is are errors resolving - the service instance. - A sequence of instances of the requested . - - - - Get an instance of the given . - - Type of object requested. - if there is are errors resolving - the service instance. - The requested service instance. - - - - Get an instance of the given named . - - Type of object requested. - Name the object was registered with. - if there is are errors resolving - the service instance. - The requested service instance. - - - - Get all instances of the given currently - registered in the container. - - Type of object requested. - if there is are errors resolving - the service instance. - A sequence of instances of the requested . - - - - When implemented by inheriting classes, this method will do the actual work of resolving - the requested service instance. - - Type of instance requested. - Name of registered service you want. May be null. - The requested service instance. - - - - When implemented by inheriting classes, this method will do the actual work of - resolving all the requested service instances. - - Type of service requested. - Sequence of service instance objects. - - - - Format the exception message for use in an - that occurs while resolving a single service. - - The actual exception thrown by the implementation. - Type of service requested. - Name requested. - The formatted exception message string. - - - - Format the exception message for use in an - that occurs while resolving multiple service instances. - - The actual exception thrown by the implementation. - Type of service requested. - The formatted exception message string. - - - - This delegate type is used to provide a method that will - return the current container. Used with the - static accessor class. - - An . - - - diff --git a/lib/Symbiote.Core/Newtonsoft.Json.dll b/lib/Symbiote.Core/Newtonsoft.Json.dll deleted file mode 100644 index 4703b89..0000000 Binary files a/lib/Symbiote.Core/Newtonsoft.Json.dll and /dev/null differ diff --git a/lib/Symbiote.Core/Newtonsoft.Json.pdb b/lib/Symbiote.Core/Newtonsoft.Json.pdb deleted file mode 100644 index df5da99..0000000 Binary files a/lib/Symbiote.Core/Newtonsoft.Json.pdb and /dev/null differ diff --git a/lib/Symbiote.Core/Newtonsoft.Json.xml b/lib/Symbiote.Core/Newtonsoft.Json.xml deleted file mode 100644 index e5e3da7..0000000 --- a/lib/Symbiote.Core/Newtonsoft.Json.xml +++ /dev/null @@ -1,6364 +0,0 @@ - - - - Newtonsoft.Json - - - - - Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. - - - - - Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. - - - - - Initializes a new instance of the class with the specified . - - - - - Reads the next JSON token from the stream. - - true if the next token was read successfully; false if there are no more tokens to read. - - - - Reads the next JSON token from the stream as a . - - A or a null reference if the next JSON token is null. - - - - Skips the children of the current token. - - - - - Sets the current token. - - The new token. - - - - Sets the current token and value. - - The new token. - The value. - - - - Sets the state based on current token type. - - - - - Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. - - - - - Releases unmanaged and - optionally - managed resources - - true to release both managed and unmanaged resources; false to release only unmanaged resources. - - - - Changes the to Closed. - - - - - Gets the current reader state. - - The current reader state. - - - - Gets the quotation mark character used to enclose the value of a string. - - - - - Gets the type of the current Json token. - - - - - Gets the text value of the current Json token. - - - - - Gets The Common Language Runtime (CLR) type for the current Json token. - - - - - Gets the depth of the current token in the JSON document. - - The depth of the current token in the JSON document. - - - - Specifies the state of the reader. - - - - - The Read method has not been called. - - - - - The end of the file has been reached successfully. - - - - - Reader is at a property. - - - - - Reader is at the start of an object. - - - - - Reader is in an object. - - - - - Reader is at the start of an array. - - - - - Reader is in an array. - - - - - The Close method has been called. - - - - - Reader has just read a value. - - - - - Reader is at the start of a constructor. - - - - - Reader in a constructor. - - - - - An error occurred that prevents the read operation from continuing. - - - - - The end of the file has been reached successfully. - - - - - Initializes a new instance of the class. - - The stream. - - - - Initializes a new instance of the class. - - The stream. - if set to true the root object will be read as a JSON array. - The used when reading values from BSON. - - - - Reads the next JSON token from the stream as a . - - - A or a null reference if the next JSON token is null. - - - - - Reads the next JSON token from the stream. - - - true if the next token was read successfully; false if there are no more tokens to read. - - - - - Gets or sets a value indicating whether the root object will be read as a JSON array. - - - true if the root object will be read as a JSON array; otherwise, false. - - - - - Gets or sets the used when reading values from BSON. - - The used when reading values from BSON. - - - - Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. - - - - - Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. - - - - - Creates an instance of the JsonWriter class. - - - - - Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. - - - - - Closes this stream and the underlying stream. - - - - - Writes the beginning of a Json object. - - - - - Writes the end of a Json object. - - - - - Writes the beginning of a Json array. - - - - - Writes the end of an array. - - - - - Writes the start of a constructor with the given name. - - The name of the constructor. - - - - Writes the end constructor. - - - - - Writes the property name of a name/value pair on a Json object. - - The name of the property. - - - - Writes the end of the current Json object or array. - - - - - Writes the current token. - - The to read the token from. - - - - Writes the specified end token. - - The end token to write. - - - - Writes indent characters. - - - - - Writes the JSON value delimiter. - - - - - Writes an indent space. - - - - - Writes a null value. - - - - - Writes an undefined value. - - - - - Writes raw JSON without changing the writer's state. - - The raw JSON to write. - - - - Writes raw JSON where a value is expected and updates the writer's state. - - The raw JSON to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - An error will raised if the value cannot be written as a single JSON token. - - The value to write. - - - - Writes out a comment /*...*/ containing the specified text. - - Text to place inside the comment. - - - - Writes out the given white space. - - The string of white space characters. - - - - Gets the top. - - The top. - - - - Gets the state of the writer. - - - - - Indicates how the output is formatted. - - - - - Initializes a new instance of the class. - - The stream. - - - - Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. - - - - - Writes the end. - - The token. - - - - Writes out a comment /*...*/ containing the specified text. - - Text to place inside the comment. - - - - Writes the start of a constructor with the given name. - - The name of the constructor. - - - - Writes raw JSON. - - The raw JSON to write. - - - - Writes raw JSON where a value is expected and updates the writer's state. - - The raw JSON to write. - - - - Writes the beginning of a Json array. - - - - - Writes the beginning of a Json object. - - - - - Writes the property name of a name/value pair on a Json object. - - The name of the property. - - - - Writes a null value. - - - - - Writes an undefined value. - - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value that represents a BSON object id. - - - - - - Writes a BSON regex. - - The regex pattern. - The regex options. - - - - Gets or sets the used when writing values to BSON. - When set to no conversion will occur. - - The used when writing values to BSON. - - - - Represents a BSON Oid (object id). - - - - - Initializes a new instance of the class. - - The Oid value. - - - - Gets or sets the value of the Oid. - - The value of the Oid. - - - - Converts a binary value to and from a base 64 string value. - - - - - Converts an object to and from JSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Gets the of the JSON produced by the JsonConverter. - - The of the JSON produced by the JsonConverter. - - - - Gets a value indicating whether this can read JSON. - - true if this can read JSON; otherwise, false. - - - - Gets a value indicating whether this can write JSON. - - true if this can write JSON; otherwise, false. - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Converts a to and from JSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified value type. - - Type of the value. - - true if this instance can convert the specified value type; otherwise, false. - - - - - Converts a to and from JSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified value type. - - Type of the value. - - true if this instance can convert the specified value type; otherwise, false. - - - - - Create a custom object - - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Creates an object which will then be populated by the serializer. - - Type of the object. - - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Gets a value indicating whether this can write JSON. - - - true if this can write JSON; otherwise, false. - - - - - Provides a base class for converting a to and from JSON. - - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Converts an Entity Framework EntityKey to and from JSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Converts a to and from JSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Converts a to and from JSON and BSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Converts a to and from JSON and BSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Converts an to and from its name string value. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Specifies how constructors are used when initializing objects during deserialization by the . - - - - - First attempt to use the public default constructor then fall back to single paramatized constructor. - - - - - Allow Json.NET to use a non-public default constructor. - - - - - Represents a raw JSON string. - - - - - Represents a value in JSON (string, integer, date, etc). - - - - - Represents an abstract JSON token. - - - - - Represents a collection of objects. - - The type of token - - - - Gets the with the specified key. - - - - - - Provides an interface to enable a class to return line and position information. - - - - - Gets a value indicating whether the class can return line information. - - - true if LineNumber and LinePosition can be provided; otherwise, false. - - - - - Gets the current line number. - - The current line number or 0 if no line information is available (for example, HasLineInfo returns false). - - - - Gets the current line position. - - The current line position or 0 if no line information is available (for example, HasLineInfo returns false). - - - - Compares the values of two tokens, including the values of all descendant tokens. - - The first to compare. - The second to compare. - true if the tokens are equal; otherwise false. - - - - Adds the specified content immediately after this token. - - A content object that contains simple content or a collection of content objects to be added after this token. - - - - Adds the specified content immediately before this token. - - A content object that contains simple content or a collection of content objects to be added before this token. - - - - Returns a collection of the ancestor tokens of this token. - - A collection of the ancestor tokens of this token. - - - - Returns a collection of the sibling tokens after this token, in document order. - - A collection of the sibling tokens after this tokens, in document order. - - - - Returns a collection of the sibling tokens before this token, in document order. - - A collection of the sibling tokens before this token, in document order. - - - - Gets the with the specified key converted to the specified type. - - The type to convert the token to. - The token key. - The converted token value. - - - - Returns a collection of the child tokens of this token, in document order. - - An of containing the child tokens of this , in document order. - - - - Returns a collection of the child tokens of this token, in document order, filtered by the specified type. - - The type to filter the child tokens on. - A containing the child tokens of this , in document order. - - - - Returns a collection of the child values of this token, in document order. - - The type to convert the values to. - A containing the child values of this , in document order. - - - - Removes this token from its parent. - - - - - Replaces this token with the specified token. - - The value. - - - - Writes this token to a . - - A into which this method will write. - A collection of which will be used when writing the token. - - - - Returns the indented JSON for this token. - - - The indented JSON for this token. - - - - - Returns the JSON for this token using the given formatting and converters. - - Indicates how the output is formatted. - A collection of which will be used when writing the token. - The JSON for this token using the given formatting and converters. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Creates an for this token. - - An that can be used to read this token and its descendants. - - - - Creates a from an object. - - The object that will be used to create . - A with the value of the specified object - - - - Creates a from an object using the specified . - - The object that will be used to create . - The that will be used when reading the object. - A with the value of the specified object - - - - Creates a from a . - - An positioned at the token to read into this . - - An that contains the token and its descendant tokens - that were read from the reader. The runtime type of the token is determined - by the token type of the first token encountered in the reader. - - - - - Selects the token that matches the object path. - - - The object path from the current to the - to be returned. This must be a string of property names or array indexes separated - by periods, such as Tables[0].DefaultView[0].Price in C# or - Tables(0).DefaultView(0).Price in Visual Basic. - - The that matches the object path or a null reference if no matching token is found. - - - - Selects the token that matches the object path. - - - The object path from the current to the - to be returned. This must be a string of property names or array indexes separated - by periods, such as Tables[0].DefaultView[0].Price in C# or - Tables(0).DefaultView(0).Price in Visual Basic. - - A flag to indicate whether an error should be thrown if no token is found. - The that matches the object path. - - - - Gets a comparer that can compare two tokens for value equality. - - A that can compare two nodes for value equality. - - - - Gets or sets the parent. - - The parent. - - - - Gets the root of this . - - The root of this . - - - - Gets the node type for this . - - The type. - - - - Gets a value indicating whether this token has childen tokens. - - - true if this token has child values; otherwise, false. - - - - - Gets the next sibling token of this node. - - The that contains the next sibling token. - - - - Gets the previous sibling token of this node. - - The that contains the previous sibling token. - - - - Gets the with the specified key. - - The with the specified key. - - - - Get the first child token of this token. - - A containing the first child token of the . - - - - Get the last child token of this token. - - A containing the last child token of the . - - - - Initializes a new instance of the class from another object. - - A object to copy from. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Creates a comment with the given value. - - The value. - A comment with the given value. - - - - Creates a string with the given value. - - The value. - A string with the given value. - - - - Writes this token to a . - - A into which this method will write. - A collection of which will be used when writing the token. - - - - Indicates whether the current object is equal to another object of the same type. - - - true if the current object is equal to the parameter; otherwise, false. - - An object to compare with this object. - - - - Determines whether the specified is equal to the current . - - The to compare with the current . - - true if the specified is equal to the current ; otherwise, false. - - - The parameter is null. - - - - - Serves as a hash function for a particular type. - - - A hash code for the current . - - - - - Gets a value indicating whether this token has childen tokens. - - - true if this token has child values; otherwise, false. - - - - - Gets the node type for this . - - The type. - - - - Gets or sets the underlying token value. - - The underlying token value. - - - - Initializes a new instance of the class from another object. - - A object to copy from. - - - - Initializes a new instance of the class. - - The raw json. - - - - Creates an instance of with the content of the reader's current token. - - The reader. - An instance of with the content of the reader's current token. - - - - Indicating whether a property is required. - - - - - The property is not required. The default state. - - - - - The property must be defined in JSON but can be a null value. - - - - - The property must be defined in JSON and cannot be a null value. - - - - - Contract details for a used by the . - - - - - Contract details for a used by the . - - - - - Gets the underlying type for the contract. - - The underlying type for the contract. - - - - Gets or sets the type created during deserialization. - - The type created during deserialization. - - - - Gets or sets whether this type contract is serialized as a reference. - - Whether this type contract is serialized as a reference. - - - - Gets or sets the default for this contract. - - The converter. - - - - Gets or sets the method called immediately after deserialization of the object. - - The method called immediately after deserialization of the object. - - - - Gets or sets the method called during deserialization of the object. - - The method called during deserialization of the object. - - - - Gets or sets the method called after serialization of the object graph. - - The method called after serialization of the object graph. - - - - Gets or sets the method called before serialization of the object. - - The method called before serialization of the object. - - - - Gets or sets the default creator method used to create the object. - - The default creator method used to create the object. - - - - Gets or sets a value indicating whether [default creator non public]. - - true if the default object creator is non-public; otherwise, false. - - - - Gets or sets the method called when an error is thrown during the serialization of the object. - - The method called when an error is thrown during the serialization of the object. - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Gets or sets the ISerializable object constructor. - - The ISerializable object constructor. - - - - Contract details for a used by the . - - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Contract details for a used by the . - - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Get and set values for a using dynamic methods. - - - - - Provides methods to get and set values. - - - - - Sets the value. - - The target to set the value on. - The value to set on the target. - - - - Gets the value. - - The target to get the value from. - The value. - - - - Initializes a new instance of the class. - - The member info. - - - - Sets the value. - - The target to set the value on. - The value to set on the target. - - - - Gets the value. - - The target to get the value from. - The value. - - - - Provides data for the Error event. - - - - - Initializes a new instance of the class. - - The current object. - The error context. - - - - Gets the current object the error event is being raised against. - - The current object the error event is being raised against. - - - - Gets the error context. - - The error context. - - - - Represents a view of a . - - - - - Initializes a new instance of the class. - - The name. - Type of the property. - - - - When overridden in a derived class, returns whether resetting an object changes its value. - - - true if resetting the component changes its value; otherwise, false. - - The component to test for reset capability. - - - - - When overridden in a derived class, gets the current value of the property on a component. - - - The value of a property for a given component. - - The component with the property for which to retrieve the value. - - - - - When overridden in a derived class, resets the value for this property of the component to the default value. - - The component with the property value that is to be reset to the default value. - - - - - When overridden in a derived class, sets the value of the component to a different value. - - The component with the property value that is to be set. - The new value. - - - - - When overridden in a derived class, determines a value indicating whether the value of this property needs to be persisted. - - - true if the property should be persisted; otherwise, false. - - The component with the property to be examined for persistence. - - - - - When overridden in a derived class, gets the type of the component this property is bound to. - - - A that represents the type of component this property is bound to. When the or methods are invoked, the object specified might be an instance of this type. - - - - - When overridden in a derived class, gets a value indicating whether this property is read-only. - - - true if the property is read-only; otherwise, false. - - - - - When overridden in a derived class, gets the type of the property. - - - A that represents the type of the property. - - - - - Gets the hash code for the name of the member. - - - - The hash code for the name of the member. - - - - - Represents a view of a . - - - - - Initializes a new instance of the class. - - The value. - - - - Returns the properties for this instance of a component. - - - A that represents the properties for this component instance. - - - - - Returns the properties for this instance of a component using the attribute array as a filter. - - An array of type that is used as a filter. - - A that represents the filtered properties for this component instance. - - - - - Returns a collection of custom attributes for this instance of a component. - - - An containing the attributes for this object. - - - - - Returns the class name of this instance of a component. - - - The class name of the object, or null if the class does not have a name. - - - - - Returns the name of this instance of a component. - - - The name of the object, or null if the object does not have a name. - - - - - Returns a type converter for this instance of a component. - - - A that is the converter for this object, or null if there is no for this object. - - - - - Returns the default event for this instance of a component. - - - An that represents the default event for this object, or null if this object does not have events. - - - - - Returns the default property for this instance of a component. - - - A that represents the default property for this object, or null if this object does not have properties. - - - - - Returns an editor of the specified type for this instance of a component. - - A that represents the editor for this object. - - An of the specified type that is the editor for this object, or null if the editor cannot be found. - - - - - Returns the events for this instance of a component using the specified attribute array as a filter. - - An array of type that is used as a filter. - - An that represents the filtered events for this component instance. - - - - - Returns the events for this instance of a component. - - - An that represents the events for this component instance. - - - - - Returns an object that contains the property described by the specified property descriptor. - - A that represents the property whose owner is to be found. - - An that represents the owner of the specified property. - - - - - Used to resolve references when serializing and deserializing JSON by the . - - - - - Resolves a reference to its object. - - The reference to resolve. - The object that - - - - Gets the reference for the sepecified object. - - The object to get a reference for. - The reference to the object. - - - - Determines whether the specified object is referenced. - - The object to test for a reference. - - true if the specified object is referenced; otherwise, false. - - - - - Adds a reference to the specified object. - - The reference. - The object to reference. - - - - Specifies reference handling options for the . - - - - - Do not preserve references when serializing types. - - - - - Preserve references when serializing into a JSON object structure. - - - - - Preserve references when serializing into a JSON array structure. - - - - - Preserve references when serializing. - - - - - Instructs the how to serialize the collection. - - - - - Instructs the how to serialize the object. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class with the specified container Id. - - The container Id. - - - - Gets or sets the id. - - The id. - - - - Gets or sets the title. - - The title. - - - - Gets or sets the description. - - The description. - - - - Gets or sets a value that indicates whether to preserve object reference data. - - - true to keep object reference; otherwise, false. The default is false. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class with a flag indicating whether the array can contain null items - - A flag indicating whether the array can contain null items. - - - - Initializes a new instance of the class with the specified container Id. - - The container Id. - - - - Gets or sets a value indicating whether null items are allowed in the collection. - - true if null items are allowed in the collection; otherwise, false. - - - - Specifies default value handling options for the . - - - - - Include default values when serializing and deserializing objects. - - - - - Ignore default values when serializing and deserializing objects. - - - - - Instructs the to use the specified when serializing the member or class. - - - - - Initializes a new instance of the class. - - Type of the converter. - - - - Gets the type of the converter. - - The type of the converter. - - - - Instructs the how to serialize the object. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class with the specified member serialization. - - The member serialization. - - - - Initializes a new instance of the class with the specified container Id. - - The container Id. - - - - Gets or sets the member serialization. - - The member serialization. - - - - Specifies the settings on a object. - - - - - Initializes a new instance of the class. - - - - - Gets or sets how reference loops (e.g. a class referencing itself) is handled. - - Reference loop handling. - - - - Gets or sets how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. - - Missing member handling. - - - - Gets or sets how objects are created during deserialization. - - The object creation handling. - - - - Gets or sets how null values are handled during serialization and deserialization. - - Null value handling. - - - - Gets or sets how null default are handled during serialization and deserialization. - - The default value handling. - - - - Gets or sets a collection that will be used during serialization. - - The converters. - - - - Gets or sets how object references are preserved by the serializer. - - The preserve references handling. - - - - Gets or sets how type name writing and reading is handled by the serializer. - - The type name handling. - - - - Gets or sets how a type name assembly is written and resolved by the serializer. - - The type name assembly format. - - - - Gets or sets how constructors are used during deserialization. - - The constructor handling. - - - - Gets or sets the contract resolver used by the serializer when - serializing .NET objects to JSON and vice versa. - - The contract resolver. - - - - Gets or sets the used by the serializer when resolving references. - - The reference resolver. - - - - Gets or sets the used by the serializer when resolving type names. - - The binder. - - - - Gets or sets the error handler called during serialization and deserialization. - - The error handler called during serialization and deserialization. - - - - Gets or sets the used by the serializer when invoking serialization callback methods. - - The context. - - - - Represents a reader that provides validation. - - - - - Initializes a new instance of the class that - validates the content returned from the given . - - The to read from while validating. - - - - Reads the next JSON token from the stream as a . - - - A or a null reference if the next JSON token is null. - - - - - Reads the next JSON token from the stream. - - - true if the next token was read successfully; false if there are no more tokens to read. - - - - - Sets an event handler for receiving schema validation errors. - - - - - Gets the text value of the current Json token. - - - - - - Gets the depth of the current token in the JSON document. - - The depth of the current token in the JSON document. - - - - Gets the quotation mark character used to enclose the value of a string. - - - - - - Gets the type of the current Json token. - - - - - - Gets The Common Language Runtime (CLR) type for the current Json token. - - - - - - Gets or sets the schema. - - The schema. - - - - Gets the used to construct this . - - The specified in the constructor. - - - - Compares tokens to determine whether they are equal. - - - - - Determines whether the specified objects are equal. - - The first object of type to compare. - The second object of type to compare. - - true if the specified objects are equal; otherwise, false. - - - - - Returns a hash code for the specified object. - - The for which a hash code is to be returned. - A hash code for the specified object. - The type of is a reference type and is null. - - - - Specifies the member serialization options for the . - - - - - All members are serialized by default. Members can be excluded using the . - - - - - Only members must be marked with the are serialized. - - - - - Specifies how object creation is handled by the . - - - - - Reuse existing objects, create new objects when needed. - - - - - Only reuse existing objects. - - - - - Always create new objects. - - - - - Converts a to and from the ISO 8601 date format (e.g. 2008-04-12T12:53Z). - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Gets or sets the date time styles used when converting a date to and from JSON. - - The date time styles used when converting a date to and from JSON. - - - - Gets or sets the date time format used when converting a date to and from JSON. - - The date time format used when converting a date to and from JSON. - - - - Gets or sets the culture used when converting a date to and from JSON. - - The culture used when converting a date to and from JSON. - - - - Converts a to and from a JavaScript date constructor (e.g. new Date(52231943)). - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing property value of the JSON that is being converted. - The calling serializer. - The object value. - - - - Specifies whether a DateTime object represents a local time, a Coordinated Universal Time (UTC), or is not specified as either local time or UTC. - - - - - The time represented is local time. - - - - - The time represented is UTC. - - - - - The time represented is not specified as either local time or Coordinated Universal Time (UTC). - - - - - Preserves the DateTimeKind field of a date when a DateTime object is converted to a string and the string is then converted back to a DateTime object. - - - - - Converts an to and from JSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The calling serializer. - The value. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Checks if the attributeName is a namespace attribute. - - Attribute name to test. - The attribute name prefix if it has one, otherwise an empty string. - True if attribute name is for a namespace attribute, otherwise false. - - - - Determines whether this instance can convert the specified value type. - - Type of the value. - - true if this instance can convert the specified value type; otherwise, false. - - - - - Gets or sets the name of the root element to insert when deserializing to XML if the JSON structure has produces multiple root elements. - - The name of the deserialize root element. - - - - Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. - - - - - Initializes a new instance of the class with the specified . - - The TextReader containing the XML data to read. - - - - Reads the next JSON token from the stream. - - - true if the next token was read successfully; false if there are no more tokens to read. - - - - - Reads the next JSON token from the stream as a . - - - A or a null reference if the next JSON token is null. - - - - - Changes the state to closed. - - - - - Gets a value indicating whether the class can return line information. - - - true if LineNumber and LinePosition can be provided; otherwise, false. - - - - - Gets the current line number. - - - The current line number or 0 if no line information is available (for example, HasLineInfo returns false). - - - - - Gets the current line position. - - - The current line position or 0 if no line information is available (for example, HasLineInfo returns false). - - - - - Instructs the to always serialize the member with the specified name. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class with the specified name. - - Name of the property. - - - - Gets or sets the null value handling used when serializing this property. - - The null value handling. - - - - Gets or sets the default value handling used when serializing this property. - - The default value handling. - - - - Gets or sets the reference loop handling used when serializing this property. - - The reference loop handling. - - - - Gets or sets the object creation handling used when deserializing this property. - - The object creation handling. - - - - Gets or sets the type name handling used when serializing this property. - - The type name handling. - - - - Gets or sets whether this property's value is serialized as a reference. - - Whether this property's value is serialized as a reference. - - - - Gets or sets the name of the property. - - The name of the property. - - - - Gets or sets a value indicating whether this property is required. - - - A value indicating whether this property is required. - - - - - Instructs the not to serialize the public field or public read/write property value. - - - - - Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. - - - - - Creates an instance of the JsonWriter class using the specified . - - The TextWriter to write to. - - - - Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. - - - - - Closes this stream and the underlying stream. - - - - - Writes the beginning of a Json object. - - - - - Writes the beginning of a Json array. - - - - - Writes the start of a constructor with the given name. - - The name of the constructor. - - - - Writes the specified end token. - - The end token to write. - - - - Writes the property name of a name/value pair on a Json object. - - The name of the property. - - - - Writes indent characters. - - - - - Writes the JSON value delimiter. - - - - - Writes an indent space. - - - - - Writes a null value. - - - - - Writes an undefined value. - - - - - Writes raw JSON. - - The raw JSON to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes out a comment /*...*/ containing the specified text. - - Text to place inside the comment. - - - - Writes out the given white space. - - The string of white space characters. - - - - Gets or sets how many IndentChars to write for each level in the hierarchy when is set to Formatting.Indented. - - - - - Gets or sets which character to use to quote attribute values. - - - - - Gets or sets which character to use for indenting when is set to Formatting.Indented. - - - - - Gets or sets a value indicating whether object names will be surrounded with quotes. - - - - - The exception thrown when an error occurs while reading Json text. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class - with a specified error message. - - The error message that explains the reason for the exception. - - - - Initializes a new instance of the class - with a specified error message and a reference to the inner exception that is the cause of this exception. - - The error message that explains the reason for the exception. - The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. - - - - The exception thrown when an error occurs while reading Json text. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class - with a specified error message. - - The error message that explains the reason for the exception. - - - - Initializes a new instance of the class - with a specified error message and a reference to the inner exception that is the cause of this exception. - - The error message that explains the reason for the exception. - The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. - - - - Gets the line number indicating where the error occurred. - - The line number indicating where the error occurred. - - - - Gets the line position indicating where the error occurred. - - The line position indicating where the error occurred. - - - - Represents a collection of . - - - - - Provides methods for converting between common language runtime types and JSON types. - - - - - Represents JavaScript's boolean value true as a string. This field is read-only. - - - - - Represents JavaScript's boolean value false as a string. This field is read-only. - - - - - Represents JavaScript's null as a string. This field is read-only. - - - - - Represents JavaScript's undefined as a string. This field is read-only. - - - - - Represents JavaScript's positive infinity as a string. This field is read-only. - - - - - Represents JavaScript's negative infinity as a string. This field is read-only. - - - - - Represents JavaScript's NaN as a string. This field is read-only. - - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - The string delimiter character. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Serializes the specified object to a JSON string. - - The object to serialize. - A JSON string representation of the object. - - - - Serializes the specified object to a JSON string. - - The object to serialize. - Indicates how the output is formatted. - - A JSON string representation of the object. - - - - - Serializes the specified object to a JSON string using a collection of . - - The object to serialize. - A collection converters used while serializing. - A JSON string representation of the object. - - - - Serializes the specified object to a JSON string using a collection of . - - The object to serialize. - Indicates how the output is formatted. - A collection converters used while serializing. - A JSON string representation of the object. - - - - Serializes the specified object to a JSON string using a collection of . - - The object to serialize. - Indicates how the output is formatted. - The used to serialize the object. - If this is null, default serialization settings will be is used. - - A JSON string representation of the object. - - - - - Deserializes the specified object to a Json object. - - The object to deserialize. - The deserialized object from the Json string. - - - - Deserializes the specified object to a Json object. - - The object to deserialize. - The of object being deserialized. - The deserialized object from the Json string. - - - - Deserializes the specified object to a Json object. - - The type of the object to deserialize. - The object to deserialize. - The deserialized object from the Json string. - - - - Deserializes the specified JSON to the given anonymous type. - - - The anonymous type to deserialize to. This can't be specified - traditionally and must be infered from the anonymous type passed - as a parameter. - - The object to deserialize. - The anonymous type object. - The deserialized anonymous type from the JSON string. - - - - Deserializes the JSON string to the specified type. - - The type of the object to deserialize. - The object to deserialize. - Converters to use while deserializing. - The deserialized object from the JSON string. - - - - Deserializes the JSON string to the specified type. - - The type of the object to deserialize. - The object to deserialize. - - The used to deserialize the object. - If this is null, default serialization settings will be is used. - - The deserialized object from the JSON string. - - - - Deserializes the JSON string to the specified type. - - The object to deserialize. - The type of the object to deserialize. - Converters to use while deserializing. - The deserialized object from the JSON string. - - - - Deserializes the JSON string to the specified type. - - The JSON to deserialize. - The type of the object to deserialize. - - The used to deserialize the object. - If this is null, default serialization settings will be is used. - - The deserialized object from the JSON string. - - - - Populates the object with values from the JSON string. - - The JSON to populate values from. - The target object to populate values onto. - - - - Populates the object with values from the JSON string. - - The JSON to populate values from. - The target object to populate values onto. - - The used to deserialize the object. - If this is null, default serialization settings will be is used. - - - - - Serializes the to a JSON string. - - The node to convert to JSON. - A JSON string of the XNode. - - - - Serializes the to a JSON string. - - The node to convert to JSON. - Indicates how the output is formatted. - A JSON string of the XNode. - - - - Deserializes the from a JSON string. - - The JSON string. - The deserialized XNode - - - - Deserializes the from a JSON string nested in a root elment. - - The JSON string. - The name of the root element to append when deserializing. - The deserialized XNode - - - - Serializes the XML node to a JSON string. - - The node to serialize. - A JSON string of the XmlNode. - - - - Serializes the XML node to a JSON string. - - The node to serialize. - Indicates how the output is formatted. - A JSON string of the XmlNode. - - - - Deserializes the XmlNode from a JSON string. - - The JSON string. - The deserialized XmlNode - - - - Deserializes the XmlNode from a JSON string nested in a root elment. - - The JSON string. - The name of the root element to append when deserializing. - The deserialized XmlNode - - - - The exception thrown when an error occurs during Json serialization or deserialization. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class - with a specified error message. - - The error message that explains the reason for the exception. - - - - Initializes a new instance of the class - with a specified error message and a reference to the inner exception that is the cause of this exception. - - The error message that explains the reason for the exception. - The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. - - - - Serializes and deserializes objects into and from the JSON format. - The enables you to control how objects are encoded into JSON. - - - - - Initializes a new instance of the class. - - - - - Creates a new instance using the specified . - - The settings to be applied to the . - A new instance using the specified . - - - - Populates the JSON values onto the target object. - - The that contains the JSON structure to reader values from. - The target object to populate values onto. - - - - Populates the JSON values onto the target object. - - The that contains the JSON structure to reader values from. - The target object to populate values onto. - - - - Deserializes the Json structure contained by the specified . - - The that contains the JSON structure to deserialize. - The being deserialized. - - - - Deserializes the Json structure contained by the specified - into an instance of the specified type. - - The containing the object. - The of object being deserialized. - The instance of being deserialized. - - - - Deserializes the Json structure contained by the specified - into an instance of the specified type. - - The containing the object. - The type of the object to deserialize. - The instance of being deserialized. - - - - Deserializes the Json structure contained by the specified - into an instance of the specified type. - - The containing the object. - The of object being deserialized. - The instance of being deserialized. - - - - Serializes the specified and writes the Json structure - to a Stream using the specified . - - The used to write the Json structure. - The to serialize. - - - - Serializes the specified and writes the Json structure - to a Stream using the specified . - - The used to write the Json structure. - The to serialize. - - - - Occurs when the errors during serialization and deserialization. - - - - - Gets or sets the used by the serializer when resolving references. - - - - - Gets or sets the used by the serializer when resolving type names. - - - - - Gets or sets how type name writing and reading is handled by the serializer. - - - - - Gets or sets how a type name assembly is written and resolved by the serializer. - - The type name assembly format. - - - - Gets or sets how object references are preserved by the serializer. - - - - - Get or set how reference loops (e.g. a class referencing itself) is handled. - - - - - Get or set how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. - - - - - Get or set how null values are handled during serialization and deserialization. - - - - - Get or set how null default are handled during serialization and deserialization. - - - - - Gets or sets how objects are created during deserialization. - - The object creation handling. - - - - Gets or sets how constructors are used during deserialization. - - The constructor handling. - - - - Gets a collection that will be used during serialization. - - Collection that will be used during serialization. - - - - Gets or sets the contract resolver used by the serializer when - serializing .NET objects to JSON and vice versa. - - - - - Gets or sets the used by the serializer when invoking serialization callback methods. - - The context. - - - - Contains the LINQ to JSON extension methods. - - - - - Returns a collection of tokens that contains the ancestors of every token in the source collection. - - The type of the objects in source, constrained to . - An of that contains the source collection. - An of that contains the ancestors of every node in the source collection. - - - - Returns a collection of tokens that contains the descendants of every token in the source collection. - - The type of the objects in source, constrained to . - An of that contains the source collection. - An of that contains the descendants of every node in the source collection. - - - - Returns a collection of child properties of every object in the source collection. - - An of that contains the source collection. - An of that contains the properties of every object in the source collection. - - - - Returns a collection of child values of every object in the source collection with the given key. - - An of that contains the source collection. - The token key. - An of that contains the values of every node in the source collection with the given key. - - - - Returns a collection of child values of every object in the source collection. - - An of that contains the source collection. - An of that contains the values of every node in the source collection. - - - - Returns a collection of converted child values of every object in the source collection with the given key. - - The type to convert the values to. - An of that contains the source collection. - The token key. - An that contains the converted values of every node in the source collection with the given key. - - - - Returns a collection of converted child values of every object in the source collection. - - The type to convert the values to. - An of that contains the source collection. - An that contains the converted values of every node in the source collection. - - - - Converts the value. - - The type to convert the value to. - A cast as a of . - A converted value. - - - - Converts the value. - - The source collection type. - The type to convert the value to. - A cast as a of . - A converted value. - - - - Returns a collection of child tokens of every array in the source collection. - - The source collection type. - An of that contains the source collection. - An of that contains the values of every node in the source collection. - - - - Returns a collection of converted child tokens of every array in the source collection. - - An of that contains the source collection. - The type to convert the values to. - The source collection type. - An that contains the converted values of every node in the source collection. - - - - Returns the input typed as . - - An of that contains the source collection. - The input typed as . - - - - Returns the input typed as . - - The source collection type. - An of that contains the source collection. - The input typed as . - - - - Represents a JSON constructor. - - - - - Represents a token that can contain other tokens. - - - - - Raises the event. - - The instance containing the event data. - - - - Raises the event. - - The instance containing the event data. - - - - Returns a collection of the child tokens of this token, in document order. - - - An of containing the child tokens of this , in document order. - - - - - Returns a collection of the child values of this token, in document order. - - The type to convert the values to. - - A containing the child values of this , in document order. - - - - - Returns a collection of the descendant tokens for this token in document order. - - An containing the descendant tokens of the . - - - - Adds the specified content as children of this . - - The content to be added. - - - - Adds the specified content as the first children of this . - - The content to be added. - - - - Creates an that can be used to add tokens to the . - - An that is ready to have content written to it. - - - - Replaces the children nodes of this token with the specified content. - - The content. - - - - Removes the child nodes from this token. - - - - - Occurs when the list changes or an item in the list changes. - - - - - Occurs before an item is added to the collection. - - - - - Gets a value indicating whether this token has childen tokens. - - - true if this token has child values; otherwise, false. - - - - - Get the first child token of this token. - - - A containing the first child token of the . - - - - - Get the last child token of this token. - - - A containing the last child token of the . - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class from another object. - - A object to copy from. - - - - Initializes a new instance of the class with the specified name and content. - - The constructor name. - The contents of the constructor. - - - - Initializes a new instance of the class with the specified name and content. - - The constructor name. - The contents of the constructor. - - - - Initializes a new instance of the class with the specified name. - - The constructor name. - - - - Writes this token to a . - - A into which this method will write. - A collection of which will be used when writing the token. - - - - Loads an from a . - - A that will be read for the content of the . - A that contains the JSON that was read from the specified . - - - - Gets or sets the name of this constructor. - - The constructor name. - - - - Gets the node type for this . - - The type. - - - - Gets the with the specified key. - - The with the specified key. - - - - Represents a collection of objects. - - The type of token - - - - An empty collection of objects. - - - - - Initializes a new instance of the struct. - - The enumerable. - - - - Returns an enumerator that iterates through the collection. - - - A that can be used to iterate through the collection. - - - - - Returns an enumerator that iterates through a collection. - - - An object that can be used to iterate through the collection. - - - - - Determines whether the specified is equal to this instance. - - The to compare with this instance. - - true if the specified is equal to this instance; otherwise, false. - - - - - Returns a hash code for this instance. - - - A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. - - - - - Gets the with the specified key. - - - - - - Represents a JSON object. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class from another object. - - A object to copy from. - - - - Initializes a new instance of the class with the specified content. - - The contents of the object. - - - - Initializes a new instance of the class with the specified content. - - The contents of the object. - - - - Gets an of this object's properties. - - An of this object's properties. - - - - Gets a the specified name. - - The property name. - A with the specified name or null. - - - - Gets an of this object's property values. - - An of this object's property values. - - - - Loads an from a . - - A that will be read for the content of the . - A that contains the JSON that was read from the specified . - - - - Load a from a string that contains JSON. - - A that contains JSON. - A populated from the string that contains JSON. - - - - Creates a from an object. - - The object that will be used to create . - A with the values of the specified object - - - - Creates a from an object. - - The object that will be used to create . - The that will be used to read the object. - A with the values of the specified object - - - - Writes this token to a . - - A into which this method will write. - A collection of which will be used when writing the token. - - - - Adds the specified property name. - - Name of the property. - The value. - - - - Removes the property with the specified name. - - Name of the property. - true if item was successfully removed; otherwise, false. - - - - Tries the get value. - - Name of the property. - The value. - true if a value was successfully retrieved; otherwise, false. - - - - Returns an enumerator that iterates through the collection. - - - A that can be used to iterate through the collection. - - - - - Raises the event with the provided arguments. - - Name of the property. - - - - Raises the event with the provided arguments. - - Name of the property. - - - - Occurs when a property value changes. - - - - - Occurs when a property value is changing. - - - - - Gets the node type for this . - - The type. - - - - Gets the with the specified key. - - The with the specified key. - - - - Gets or sets the with the specified property name. - - - - - - Gets the number of elements contained in the . - - - The number of elements contained in the . - - - - Represents a JSON array. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class from another object. - - A object to copy from. - - - - Initializes a new instance of the class with the specified content. - - The contents of the array. - - - - Initializes a new instance of the class with the specified content. - - The contents of the array. - - - - Loads an from a . - - A that will be read for the content of the . - A that contains the JSON that was read from the specified . - - - - Load a from a string that contains JSON. - - A that contains JSON. - A populated from the string that contains JSON. - - - - Creates a from an object. - - The object that will be used to create . - A with the values of the specified object - - - - Creates a from an object. - - The object that will be used to create . - The that will be used to read the object. - A with the values of the specified object - - - - Writes this token to a . - - A into which this method will write. - A collection of which will be used when writing the token. - - - - Determines the index of a specific item in the . - - The object to locate in the . - - The index of if found in the list; otherwise, -1. - - - - - Inserts an item to the at the specified index. - - The zero-based index at which should be inserted. - The object to insert into the . - - is not a valid index in the . - The is read-only. - - - - Removes the item at the specified index. - - The zero-based index of the item to remove. - - is not a valid index in the . - The is read-only. - - - - Adds an item to the . - - The object to add to the . - The is read-only. - - - - Removes all items from the . - - The is read-only. - - - - Determines whether the contains a specific value. - - The object to locate in the . - - true if is found in the ; otherwise, false. - - - - - Removes the first occurrence of a specific object from the . - - The object to remove from the . - - true if was successfully removed from the ; otherwise, false. This method also returns false if is not found in the original . - - The is read-only. - - - - Gets the node type for this . - - The type. - - - - Gets the with the specified key. - - The with the specified key. - - - - Gets or sets the at the specified index. - - - - - - Gets the number of elements contained in the . - - - The number of elements contained in the . - - - - Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. - - - - - Initializes a new instance of the class. - - The token to read from. - - - - Reads the next JSON token from the stream as a . - - - A or a null reference if the next JSON token is null. - - - - - Reads the next JSON token from the stream. - - - true if the next token was read successfully; false if there are no more tokens to read. - - - - - Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. - - - - - Initializes a new instance of the class writing to the given . - - The container being written to. - - - - Initializes a new instance of the class. - - - - - Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. - - - - - Closes this stream and the underlying stream. - - - - - Writes the beginning of a Json object. - - - - - Writes the beginning of a Json array. - - - - - Writes the start of a constructor with the given name. - - The name of the constructor. - - - - Writes the end. - - The token. - - - - Writes the property name of a name/value pair on a Json object. - - The name of the property. - - - - Writes a null value. - - - - - Writes an undefined value. - - - - - Writes raw JSON. - - The raw JSON to write. - - - - Writes out a comment /*...*/ containing the specified text. - - Text to place inside the comment. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Gets the token being writen. - - The token being writen. - - - - Represents a JSON property. - - - - - Initializes a new instance of the class from another object. - - A object to copy from. - - - - Returns a collection of the child tokens of this token, in document order. - - - An of containing the child tokens of this , in document order. - - - - - Initializes a new instance of the class. - - The property name. - The property content. - - - - Initializes a new instance of the class. - - The property name. - The property content. - - - - Writes this token to a . - - A into which this method will write. - A collection of which will be used when writing the token. - - - - Loads an from a . - - A that will be read for the content of the . - A that contains the JSON that was read from the specified . - - - - Gets the property name. - - The property name. - - - - Gets or sets the property value. - - The property value. - - - - Gets the node type for this . - - The type. - - - - Specifies the type of token. - - - - - No token type has been set. - - - - - A JSON object. - - - - - A JSON array. - - - - - A JSON constructor. - - - - - A JSON object property. - - - - - A comment. - - - - - An integer value. - - - - - A float value. - - - - - A string value. - - - - - A boolean value. - - - - - A null value. - - - - - An undefined value. - - - - - A date value. - - - - - A raw JSON value. - - - - - A collection of bytes value. - - - - - Contains the JSON schema extension methods. - - - - - Determines whether the is valid. - - The source to test. - The schema to test with. - - true if the specified is valid; otherwise, false. - - - - - Validates the specified . - - The source to test. - The schema to test with. - - - - Validates the specified . - - The source to test. - The schema to test with. - The validation event handler. - - - - Returns detailed information about the schema exception. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class - with a specified error message. - - The error message that explains the reason for the exception. - - - - Initializes a new instance of the class - with a specified error message and a reference to the inner exception that is the cause of this exception. - - The error message that explains the reason for the exception. - The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. - - - - Gets the line number indicating where the error occurred. - - The line number indicating where the error occurred. - - - - Gets the line position indicating where the error occurred. - - The line position indicating where the error occurred. - - - - Resolves from an id. - - - - - Initializes a new instance of the class. - - - - - Gets a for the specified id. - - The id. - A for the specified id. - - - - Gets or sets the loaded schemas. - - The loaded schemas. - - - - Specifies undefined schema Id handling options for the . - - - - - Do not infer a schema Id. - - - - - Use the .NET type name as the schema Id. - - - - - Use the assembly qualified .NET type name as the schema Id. - - - - - Returns detailed information related to the . - - - - - Gets the associated with the validation event. - - The JsonSchemaException associated with the validation event. - - - - Gets the text description corresponding to the validation event. - - The text description. - - - - Represents the callback method that will handle JSON schema validation events and the . - - - - - Resolves member mappings for a type, camel casing property names. - - - - - Used by to resolves a for a given . - - - - - Used by to resolves a for a given . - - - - - Resolves the contract for a given type. - - The type to resolve a contract for. - The contract for a given type. - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - - If set to true the will use a cached shared with other resolvers of the same type. - Sharing the cache will significantly performance because expensive reflection will only happen once but could cause unexpected - behavior if different instances of the resolver are suppose to produce different results. When set to false it is highly - recommended to reuse instances with the . - - - - - Resolves the contract for a given type. - - The type to resolve a contract for. - The contract for a given type. - - - - Gets the serializable members for the type. - - The type to get serializable members for. - The serializable members for the type. - - - - Creates a for the given type. - - Type of the object. - A for the given type. - - - - Resolves the default for the contract. - - Type of the object. - - - - - Creates a for the given type. - - Type of the object. - A for the given type. - - - - Creates a for the given type. - - Type of the object. - A for the given type. - - - - Creates a for the given type. - - Type of the object. - A for the given type. - - - - Creates a for the given type. - - Type of the object. - A for the given type. - - - - Creates a for the given type. - - Type of the object. - A for the given type. - - - - Creates a for the given type. - - Type of the object. - A for the given type. - - - - Determines which contract type is created for the given type. - - Type of the object. - A for the given type. - - - - Creates properties for the given . - - The contract to create properties for. - Properties for the given . - - - - Creates the used by the serializer to get and set values from a member. - - The member. - The used by the serializer to get and set values from a member. - - - - Creates a for the given . - - The member's declaring types . - The member to create a for. - A created for the given . - - - - Resolves the name of the property. - - Name of the property. - Name of the property. - - - - Gets a value indicating whether members are being get and set using dynamic code generation. - This value is determined by the runtime permissions available. - - - true if using dynamic code generation; otherwise, false. - - - - - Gets or sets the default members search flags. - - The default members search flags. - - - - Gets or sets a value indicating whether compiler generated members should be serialized. - - - true if serialized compiler generated members; otherwise, false. - - - - - Initializes a new instance of the class. - - - - - Resolves the name of the property. - - Name of the property. - The property name camel cased. - - - - The default serialization binder used when resolving and loading classes from type names. - - - - - When overridden in a derived class, controls the binding of a serialized object to a type. - - Specifies the name of the serialized object. - Specifies the name of the serialized object. - - The type of the object the formatter creates a new instance of. - - - - - Provides information surrounding an error. - - - - - Gets or sets the error. - - The error. - - - - Gets the original object that caused the error. - - The original object that caused the error. - - - - Gets the member that caused the error. - - The member that caused the error. - - - - Gets or sets a value indicating whether this is handled. - - true if handled; otherwise, false. - - - - Contract details for a used by the . - - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Contract details for a used by the . - - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Maps a JSON property to a .NET member. - - - - - Returns a that represents this instance. - - - A that represents this instance. - - - - - Gets the name of the property. - - The name of the property. - - - - Gets the that will get and set the during serialization. - - The that will get and set the during serialization. - - - - Gets or sets the type of the property. - - The type of the property. - - - - Gets or sets the for the property. - If set this converter takes presidence over the contract converter for the property type. - - The converter. - - - - Gets a value indicating whether this is ignored. - - true if ignored; otherwise, false. - - - - Gets a value indicating whether this is readable. - - true if readable; otherwise, false. - - - - Gets a value indicating whether this is writable. - - true if writable; otherwise, false. - - - - Gets the member converter. - - The member converter. - - - - Gets the default value. - - The default value. - - - - Gets a value indicating whether this is required. - - A value indicating whether this is required. - - - - Gets a value indicating whether this property preserves object references. - - - true if this instance is reference; otherwise, false. - - - - - Gets the property null value handling. - - The null value handling. - - - - Gets the property default value handling. - - The default value handling. - - - - Gets the property reference loop handling. - - The reference loop handling. - - - - Gets the property object creation handling. - - The object creation handling. - - - - Gets or sets the type name handling. - - The type name handling. - - - - Gets or sets a predicate used to determine whether the property should be serialize. - - A predicate used to determine whether the property should be serialize. - - - - A collection of objects. - - - - - Initializes a new instance of the class. - - The contract. - - - - When implemented in a derived class, extracts the key from the specified element. - - The element from which to extract the key. - The key for the specified element. - - - - Adds a object. - - The property to add to the collection. - - - - Gets the closest matching object. - First attempts to get an exact case match of propertyName and then - a case insensitive match. - - Name of the property. - A matching property if found. - - - - Gets a property by property name. - - The name of the property to get. - Type property name string comparison. - A matching property if found. - - - - Specifies missing member handling options for the . - - - - - Ignore a missing member and do not attempt to deserialize it. - - - - - Throw a when a missing member is encountered during deserialization. - - - - - Specifies null value handling options for the . - - - - - Include null values when serializing and deserializing objects. - - - - - Ignore null values when serializing and deserializing objects. - - - - - Specifies reference loop handling options for the . - - - - - Throw a when a loop is encountered. - - - - - Ignore loop references and do not serialize. - - - - - Serialize loop references. - - - - - An in-memory representation of a JSON Schema. - - - - - Initializes a new instance of the class. - - - - - Reads a from the specified . - - The containing the JSON Schema to read. - The object representing the JSON Schema. - - - - Reads a from the specified . - - The containing the JSON Schema to read. - The to use when resolving schema references. - The object representing the JSON Schema. - - - - Load a from a string that contains schema JSON. - - A that contains JSON. - A populated from the string that contains JSON. - - - - Parses the specified json. - - The json. - The resolver. - A populated from the string that contains JSON. - - - - Writes this schema to a . - - A into which this method will write. - - - - Writes this schema to a using the specified . - - A into which this method will write. - The resolver used. - - - - Returns a that represents the current . - - - A that represents the current . - - - - - Gets or sets the id. - - - - - Gets or sets the title. - - - - - Gets or sets whether the object is optional. - - - - - Gets or sets whether the object is read only. - - - - - Gets or sets whether the object is visible to users. - - - - - Gets or sets whether the object is transient. - - - - - Gets or sets the description of the object. - - - - - Gets or sets the types of values allowed by the object. - - The type. - - - - Gets or sets the pattern. - - The pattern. - - - - Gets or sets the minimum length. - - The minimum length. - - - - Gets or sets the maximum length. - - The maximum length. - - - - Gets or sets the maximum decimals. - - The maximum decimals. - - - - Gets or sets the minimum. - - The minimum. - - - - Gets or sets the maximum. - - The maximum. - - - - Gets or sets the minimum number of items. - - The minimum number of items. - - - - Gets or sets the maximum number of items. - - The maximum number of items. - - - - Gets or sets the of items. - - The of items. - - - - Gets or sets the of properties. - - The of properties. - - - - Gets or sets the of additional properties. - - The of additional properties. - - - - Gets or sets a value indicating whether additional properties are allowed. - - - true if additional properties are allowed; otherwise, false. - - - - - Gets or sets the required property if this property is present. - - The required property if this property is present. - - - - Gets or sets the identity. - - The identity. - - - - Gets or sets the a collection of valid enum values allowed. - - A collection of valid enum values allowed. - - - - Gets or sets a collection of options. - - A collection of options. - - - - Gets or sets disallowed types. - - The disallow types. - - - - Gets or sets the default value. - - The default value. - - - - Gets or sets the extend . - - The extended . - - - - Gets or sets the format. - - The format. - - - - Generates a from a specified . - - - - - Generate a from the specified type. - - The type to generate a from. - A generated from the specified type. - - - - Generate a from the specified type. - - The type to generate a from. - The used to resolve schema references. - A generated from the specified type. - - - - Generate a from the specified type. - - The type to generate a from. - Specify whether the generated root will be nullable. - A generated from the specified type. - - - - Generate a from the specified type. - - The type to generate a from. - The used to resolve schema references. - Specify whether the generated root will be nullable. - A generated from the specified type. - - - - Gets or sets how undefined schemas are handled by the serializer. - - - - - Gets or sets the contract resolver. - - The contract resolver. - - - - The value types allowed by the . - - - - - No type specified. - - - - - String type. - - - - - Float type. - - - - - Integer type. - - - - - Boolean type. - - - - - Object type. - - - - - Array type. - - - - - Null type. - - - - - Any type. - - - - - Contract details for a used by the . - - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Gets or sets the object member serialization. - - The member object serialization. - - - - Gets the object's properties. - - The object's properties. - - - - Gets or sets the parametrized constructor used to create the object. - - The parametrized constructor. - - - - Contract details for a used by the . - - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Get and set values for a using reflection. - - - - - Initializes a new instance of the class. - - The member info. - - - - Sets the value. - - The target to set the value on. - The value to set on the target. - - - - Gets the value. - - The target to get the value from. - The value. - - - - When applied to a method, specifies that the method is called when an error occurs serializing an object. - - - - - Represents a method that constructs an object. - - - - - Specifies type name handling options for the . - - - - - Do not include the .NET type name when serializing types. - - - - - Include the .NET type name when serializing into a JSON object structure. - - - - - Include the .NET type name when serializing into a JSON array structure. - - - - - Include the .NET type name when the type of the object being serialized is not the same as its declared type. - - - - - Always include the .NET type name when serializing. - - - - - Converts the value to the specified type. - - The type to convert the value to. - The value to convert. - The converted type. - - - - Converts the value to the specified type. - - The type to convert the value to. - The value to convert. - The culture to use when converting. - The converted type. - - - - Converts the value to the specified type. - - The value to convert. - The culture to use when converting. - The type to convert the value to. - The converted type. - - - - Converts the value to the specified type. - - The type to convert the value to. - The value to convert. - The converted value if the conversion was successful or the default value of T if it failed. - - true if initialValue was converted successfully; otherwise, false. - - - - - Converts the value to the specified type. - - The type to convert the value to. - The value to convert. - The culture to use when converting. - The converted value if the conversion was successful or the default value of T if it failed. - - true if initialValue was converted successfully; otherwise, false. - - - - - Converts the value to the specified type. - - The value to convert. - The culture to use when converting. - The type to convert the value to. - The converted value if the conversion was successful or the default value of T if it failed. - - true if initialValue was converted successfully; otherwise, false. - - - - - Converts the value to the specified type. If the value is unable to be converted, the - value is checked whether it assignable to the specified type. - - The type to convert or cast the value to. - The value to convert. - The converted type. If conversion was unsuccessful, the initial value is returned if assignable to the target type - - - - Converts the value to the specified type. If the value is unable to be converted, the - value is checked whether it assignable to the specified type. - - The type to convert or cast the value to. - The value to convert. - The culture to use when converting. - The converted type. If conversion was unsuccessful, the initial value is returned if assignable to the target type - - - - Converts the value to the specified type. If the value is unable to be converted, the - value is checked whether it assignable to the specified type. - - The value to convert. - The culture to use when converting. - The type to convert or cast the value to. - - The converted type. If conversion was unsuccessful, the initial value - is returned if assignable to the target type. - - - - - Converts the value to the specified type. If the value is unable to be converted, the - value is checked whether it assignable to the specified type. - - The type to convert the value to. - The value to convert. - The converted value if the conversion was successful or the default value of T if it failed. - - true if initialValue was converted successfully or is assignable; otherwise, false. - - - - - Converts the value to the specified type. If the value is unable to be converted, the - value is checked whether it assignable to the specified type. - - The type to convert the value to. - The value to convert. - The culture to use when converting. - The converted value if the conversion was successful or the default value of T if it failed. - - true if initialValue was converted successfully or is assignable; otherwise, false. - - - - - Converts the value to the specified type. If the value is unable to be converted, the - value is checked whether it assignable to the specified type. - - The value to convert. - The culture to use when converting. - The type to convert the value to. - The converted value if the conversion was successful or the default value of T if it failed. - - true if initialValue was converted successfully or is assignable; otherwise, false. - - - - - Parses the specified enum member name, returning it's value. - - Name of the enum member. - - - - - Parses the specified enum member name, returning it's value. - - Name of the enum member. - If set to true ignore case. - - - - - Gets a dictionary of the names and values of an Enum type. - - - - - - Gets a dictionary of the names and values of an Enum type. - - - - - - Gets a dictionary of the names and values of an Enum type. - - The enum type to get names and values for. - - - - - Gets the maximum valid value of an Enum type. Flags enums are ORed. - - The type of the returned value. Must be assignable from the enum's underlying value type. - The enum type to get the maximum value for. - - - - - Specifies the type of Json token. - - - - - This is returned by the if a method has not been called. - - - - - An object start token. - - - - - An array start token. - - - - - A constructor start token. - - - - - An object property name. - - - - - A comment. - - - - - Raw JSON. - - - - - An interger. - - - - - A float. - - - - - A string. - - - - - A boolean. - - - - - A null token. - - - - - An undefined token. - - - - - An object end token. - - - - - An array end token. - - - - - A constructor end token. - - - - - A Date. - - - - - Byte data. - - - - - Specifies the state of the . - - - - - An exception has been thrown, which has left the in an invalid state. - You may call the method to put the in the Closed state. - Any other method calls results in an being thrown. - - - - - The method has been called. - - - - - An object is being written. - - - - - A array is being written. - - - - - A constructor is being written. - - - - - A property is being written. - - - - - A write method has not been called. - - - - - Specifies formatting options for the . - - - - - No special formatting is applied. This is the default. - - - - - Causes child objects to be indented according to the and settings. - - - - - Builds a string. Unlike StringBuilder this class lets you reuse it's internal buffer. - - - - - Determines whether the collection is null or empty. - - The collection. - - true if the collection is null or empty; otherwise, false. - - - - - Determines whether the collection is null or empty. - - The collection. - - true if the collection is null or empty; otherwise, false. - - - - - Determines whether the collection is null, empty or its contents are uninitialized values. - - The list. - - true if the collection is null or empty or its contents are uninitialized values; otherwise, false. - - - - - Makes a slice of the specified list in between the start and end indexes. - - The list. - The start index. - The end index. - A slice of the list. - - - - Makes a slice of the specified list in between the start and end indexes, - getting every so many items based upon the step. - - The list. - The start index. - The end index. - The step. - A slice of the list. - - - - Group the collection using a function which returns the key. - - The source collection to group. - The key selector. - A Dictionary with each key relating to a list of objects in a list grouped under it. - - - - Adds the elements of the specified collection to the specified generic IList. - - The list to add to. - The collection of elements to add. - - - - Gets the type of the typed collection's items. - - The type. - The type of the typed collection's items. - - - - Tests whether the list's items are their unitialized value. - - The list. - Whether the list's items are their unitialized value - - - - Gets the member's underlying type. - - The member. - The underlying type of the member. - - - - Determines whether the member is an indexed property. - - The member. - - true if the member is an indexed property; otherwise, false. - - - - - Determines whether the property is an indexed property. - - The property. - - true if the property is an indexed property; otherwise, false. - - - - - Gets the member's value on the object. - - The member. - The target object. - The member's value on the object. - - - - Sets the member's value on the target object. - - The member. - The target. - The value. - - - - Determines whether the specified MemberInfo can be read. - - The MemberInfo to determine whether can be read. - /// if set to true then allow the member to be gotten non-publicly. - - true if the specified MemberInfo can be read; otherwise, false. - - - - - Determines whether the specified MemberInfo can be set. - - The MemberInfo to determine whether can be set. - if set to true then allow the member to be set non-publicly. - - true if the specified MemberInfo can be set; otherwise, false. - - - - - Determines whether the string contains white space. - - The string to test for white space. - - true if the string contains white space; otherwise, false. - - - - - Determines whether the string is all white space. Empty string will return false. - - The string to test whether it is all white space. - - true if the string is all white space; otherwise, false. - - - - - Ensures the target string ends with the specified string. - - The target. - The value. - The target string with the value string at the end. - - - - Perform an action if the string is not null or empty. - - The value. - The action to perform. - - - - Indents the specified string. - - The string to indent. - The number of characters to indent by. - - - - - Indents the specified string. - - The string to indent. - The number of characters to indent by. - The indent character. - - - - - Numbers the lines. - - The string to number. - - - - - Nulls an empty string. - - The string. - Null if the string was null, otherwise the string unchanged. - - - diff --git a/lib/Symbiote.Core/Symbiote.Core.dll b/lib/Symbiote.Core/Symbiote.Core.dll deleted file mode 100644 index 425b69a..0000000 Binary files a/lib/Symbiote.Core/Symbiote.Core.dll and /dev/null differ diff --git a/lib/Symbiote.Core/Symbiote.Core.pdb b/lib/Symbiote.Core/Symbiote.Core.pdb deleted file mode 100644 index 9e4470a..0000000 Binary files a/lib/Symbiote.Core/Symbiote.Core.pdb and /dev/null differ diff --git a/lib/Symbiote.Daemon/Magnum.dll b/lib/Symbiote.Daemon/Magnum.dll deleted file mode 100644 index aa6d4ee..0000000 Binary files a/lib/Symbiote.Daemon/Magnum.dll and /dev/null differ diff --git a/lib/Symbiote.Daemon/Microsoft.Practices.ServiceLocation.dll b/lib/Symbiote.Daemon/Microsoft.Practices.ServiceLocation.dll deleted file mode 100644 index 3f88954..0000000 Binary files a/lib/Symbiote.Daemon/Microsoft.Practices.ServiceLocation.dll and /dev/null differ diff --git a/lib/Symbiote.Daemon/Microsoft.Practices.ServiceLocation.xml b/lib/Symbiote.Daemon/Microsoft.Practices.ServiceLocation.xml deleted file mode 100644 index 6c6f2fe..0000000 --- a/lib/Symbiote.Daemon/Microsoft.Practices.ServiceLocation.xml +++ /dev/null @@ -1,280 +0,0 @@ - - - - Microsoft.Practices.ServiceLocation - - - - - The standard exception thrown when a ServiceLocator has an error in resolving an object. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class with a specified error message. - - - The message that describes the error. - - - - - Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. - - - The error message that explains the reason for the exception. - - - The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. - - - - - Initializes a new instance of the class with serialized data. - - - The that holds the serialized object data about the exception being thrown. - - - The that contains contextual information about the source or destination. - - - The parameter is null. - - - The class name is null or is zero (0). - - - - - The generic Service Locator interface. This interface is used - to retrieve services (instances identified by type and optional - name) from a container. - - - - - Get an instance of the given . - - Type of object requested. - if there is an error resolving - the service instance. - The requested service instance. - - - - Get an instance of the given named . - - Type of object requested. - Name the object was registered with. - if there is an error resolving - the service instance. - The requested service instance. - - - - Get all instances of the given currently - registered in the container. - - Type of object requested. - if there is are errors resolving - the service instance. - A sequence of instances of the requested . - - - - Get an instance of the given . - - Type of object requested. - if there is are errors resolving - the service instance. - The requested service instance. - - - - Get an instance of the given named . - - Type of object requested. - Name the object was registered with. - if there is are errors resolving - the service instance. - The requested service instance. - - - - Get all instances of the given currently - registered in the container. - - Type of object requested. - if there is are errors resolving - the service instance. - A sequence of instances of the requested . - - - - A strongly-typed resource class, for looking up localized strings, etc. - - - - - Returns the cached ResourceManager instance used by this class. - - - - - Overrides the current thread's CurrentUICulture property for all - resource lookups using this strongly typed resource class. - - - - - Looks up a localized string similar to Activation error occured while trying to get all instances of type {0}. - - - - - Looks up a localized string similar to Activation error occured while trying to get instance of type {0}, key "{1}". - - - - - This class provides the ambient container for this application. If your - framework defines such an ambient container, use ServiceLocator.Current - to get it. - - - - - Set the delegate that is used to retrieve the current container. - - Delegate that, when called, will return - the current ambient container. - - - - The current ambient container. - - - - - This class is a helper that provides a default implementation - for most of the methods of . - - - - - Implementation of . - - The requested service. - if there is an error in resolving the service instance. - The requested object. - - - - Get an instance of the given . - - Type of object requested. - if there is an error resolving - the service instance. - The requested service instance. - - - - Get an instance of the given named . - - Type of object requested. - Name the object was registered with. - if there is an error resolving - the service instance. - The requested service instance. - - - - Get all instances of the given currently - registered in the container. - - Type of object requested. - if there is are errors resolving - the service instance. - A sequence of instances of the requested . - - - - Get an instance of the given . - - Type of object requested. - if there is are errors resolving - the service instance. - The requested service instance. - - - - Get an instance of the given named . - - Type of object requested. - Name the object was registered with. - if there is are errors resolving - the service instance. - The requested service instance. - - - - Get all instances of the given currently - registered in the container. - - Type of object requested. - if there is are errors resolving - the service instance. - A sequence of instances of the requested . - - - - When implemented by inheriting classes, this method will do the actual work of resolving - the requested service instance. - - Type of instance requested. - Name of registered service you want. May be null. - The requested service instance. - - - - When implemented by inheriting classes, this method will do the actual work of - resolving all the requested service instances. - - Type of service requested. - Sequence of service instance objects. - - - - Format the exception message for use in an - that occurs while resolving a single service. - - The actual exception thrown by the implementation. - Type of service requested. - Name requested. - The formatted exception message string. - - - - Format the exception message for use in an - that occurs while resolving multiple service instances. - - The actual exception thrown by the implementation. - Type of service requested. - The formatted exception message string. - - - - This delegate type is used to provide a method that will - return the current container. Used with the - static accessor class. - - An . - - - diff --git a/lib/Symbiote.Daemon/Newtonsoft.Json.dll b/lib/Symbiote.Daemon/Newtonsoft.Json.dll deleted file mode 100644 index 4703b89..0000000 Binary files a/lib/Symbiote.Daemon/Newtonsoft.Json.dll and /dev/null differ diff --git a/lib/Symbiote.Daemon/Newtonsoft.Json.pdb b/lib/Symbiote.Daemon/Newtonsoft.Json.pdb deleted file mode 100644 index df5da99..0000000 Binary files a/lib/Symbiote.Daemon/Newtonsoft.Json.pdb and /dev/null differ diff --git a/lib/Symbiote.Daemon/Symbiote.Core.dll b/lib/Symbiote.Daemon/Symbiote.Core.dll deleted file mode 100644 index 425b69a..0000000 Binary files a/lib/Symbiote.Daemon/Symbiote.Core.dll and /dev/null differ diff --git a/lib/Symbiote.Daemon/Symbiote.Core.pdb b/lib/Symbiote.Daemon/Symbiote.Core.pdb deleted file mode 100644 index 9e4470a..0000000 Binary files a/lib/Symbiote.Daemon/Symbiote.Core.pdb and /dev/null differ diff --git a/lib/Symbiote.Daemon/Symbiote.Daemon.dll b/lib/Symbiote.Daemon/Symbiote.Daemon.dll deleted file mode 100644 index 0ab09cf..0000000 Binary files a/lib/Symbiote.Daemon/Symbiote.Daemon.dll and /dev/null differ diff --git a/lib/Symbiote.Daemon/Symbiote.Daemon.pdb b/lib/Symbiote.Daemon/Symbiote.Daemon.pdb deleted file mode 100644 index 9513d31..0000000 Binary files a/lib/Symbiote.Daemon/Symbiote.Daemon.pdb and /dev/null differ diff --git a/lib/Symbiote.Daemon/Topshelf.dll b/lib/Symbiote.Daemon/Topshelf.dll deleted file mode 100644 index 13969ff..0000000 Binary files a/lib/Symbiote.Daemon/Topshelf.dll and /dev/null differ diff --git a/lib/Symbiote.Daemon/Topshelf.pdb b/lib/Symbiote.Daemon/Topshelf.pdb deleted file mode 100644 index 0cde186..0000000 Binary files a/lib/Symbiote.Daemon/Topshelf.pdb and /dev/null differ diff --git a/lib/Symbiote.Daemon/log4net.dll b/lib/Symbiote.Daemon/log4net.dll deleted file mode 100644 index ffc57e1..0000000 Binary files a/lib/Symbiote.Daemon/log4net.dll and /dev/null differ diff --git a/lib/Symbiote.JsonRpc.Client/Microsoft.Practices.ServiceLocation.dll b/lib/Symbiote.JsonRpc.Client/Microsoft.Practices.ServiceLocation.dll deleted file mode 100644 index 3f88954..0000000 Binary files a/lib/Symbiote.JsonRpc.Client/Microsoft.Practices.ServiceLocation.dll and /dev/null differ diff --git a/lib/Symbiote.JsonRpc.Client/Microsoft.Practices.ServiceLocation.xml b/lib/Symbiote.JsonRpc.Client/Microsoft.Practices.ServiceLocation.xml deleted file mode 100644 index 6c6f2fe..0000000 --- a/lib/Symbiote.JsonRpc.Client/Microsoft.Practices.ServiceLocation.xml +++ /dev/null @@ -1,280 +0,0 @@ - - - - Microsoft.Practices.ServiceLocation - - - - - The standard exception thrown when a ServiceLocator has an error in resolving an object. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class with a specified error message. - - - The message that describes the error. - - - - - Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. - - - The error message that explains the reason for the exception. - - - The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. - - - - - Initializes a new instance of the class with serialized data. - - - The that holds the serialized object data about the exception being thrown. - - - The that contains contextual information about the source or destination. - - - The parameter is null. - - - The class name is null or is zero (0). - - - - - The generic Service Locator interface. This interface is used - to retrieve services (instances identified by type and optional - name) from a container. - - - - - Get an instance of the given . - - Type of object requested. - if there is an error resolving - the service instance. - The requested service instance. - - - - Get an instance of the given named . - - Type of object requested. - Name the object was registered with. - if there is an error resolving - the service instance. - The requested service instance. - - - - Get all instances of the given currently - registered in the container. - - Type of object requested. - if there is are errors resolving - the service instance. - A sequence of instances of the requested . - - - - Get an instance of the given . - - Type of object requested. - if there is are errors resolving - the service instance. - The requested service instance. - - - - Get an instance of the given named . - - Type of object requested. - Name the object was registered with. - if there is are errors resolving - the service instance. - The requested service instance. - - - - Get all instances of the given currently - registered in the container. - - Type of object requested. - if there is are errors resolving - the service instance. - A sequence of instances of the requested . - - - - A strongly-typed resource class, for looking up localized strings, etc. - - - - - Returns the cached ResourceManager instance used by this class. - - - - - Overrides the current thread's CurrentUICulture property for all - resource lookups using this strongly typed resource class. - - - - - Looks up a localized string similar to Activation error occured while trying to get all instances of type {0}. - - - - - Looks up a localized string similar to Activation error occured while trying to get instance of type {0}, key "{1}". - - - - - This class provides the ambient container for this application. If your - framework defines such an ambient container, use ServiceLocator.Current - to get it. - - - - - Set the delegate that is used to retrieve the current container. - - Delegate that, when called, will return - the current ambient container. - - - - The current ambient container. - - - - - This class is a helper that provides a default implementation - for most of the methods of . - - - - - Implementation of . - - The requested service. - if there is an error in resolving the service instance. - The requested object. - - - - Get an instance of the given . - - Type of object requested. - if there is an error resolving - the service instance. - The requested service instance. - - - - Get an instance of the given named . - - Type of object requested. - Name the object was registered with. - if there is an error resolving - the service instance. - The requested service instance. - - - - Get all instances of the given currently - registered in the container. - - Type of object requested. - if there is are errors resolving - the service instance. - A sequence of instances of the requested . - - - - Get an instance of the given . - - Type of object requested. - if there is are errors resolving - the service instance. - The requested service instance. - - - - Get an instance of the given named . - - Type of object requested. - Name the object was registered with. - if there is are errors resolving - the service instance. - The requested service instance. - - - - Get all instances of the given currently - registered in the container. - - Type of object requested. - if there is are errors resolving - the service instance. - A sequence of instances of the requested . - - - - When implemented by inheriting classes, this method will do the actual work of resolving - the requested service instance. - - Type of instance requested. - Name of registered service you want. May be null. - The requested service instance. - - - - When implemented by inheriting classes, this method will do the actual work of - resolving all the requested service instances. - - Type of service requested. - Sequence of service instance objects. - - - - Format the exception message for use in an - that occurs while resolving a single service. - - The actual exception thrown by the implementation. - Type of service requested. - Name requested. - The formatted exception message string. - - - - Format the exception message for use in an - that occurs while resolving multiple service instances. - - The actual exception thrown by the implementation. - Type of service requested. - The formatted exception message string. - - - - This delegate type is used to provide a method that will - return the current container. Used with the - static accessor class. - - An . - - - diff --git a/lib/Symbiote.JsonRpc.Client/Newtonsoft.Json.dll b/lib/Symbiote.JsonRpc.Client/Newtonsoft.Json.dll deleted file mode 100644 index 4703b89..0000000 Binary files a/lib/Symbiote.JsonRpc.Client/Newtonsoft.Json.dll and /dev/null differ diff --git a/lib/Symbiote.JsonRpc.Client/Newtonsoft.Json.pdb b/lib/Symbiote.JsonRpc.Client/Newtonsoft.Json.pdb deleted file mode 100644 index df5da99..0000000 Binary files a/lib/Symbiote.JsonRpc.Client/Newtonsoft.Json.pdb and /dev/null differ diff --git a/lib/Symbiote.JsonRpc.Client/Newtonsoft.Json.xml b/lib/Symbiote.JsonRpc.Client/Newtonsoft.Json.xml deleted file mode 100644 index e5e3da7..0000000 --- a/lib/Symbiote.JsonRpc.Client/Newtonsoft.Json.xml +++ /dev/null @@ -1,6364 +0,0 @@ - - - - Newtonsoft.Json - - - - - Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. - - - - - Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. - - - - - Initializes a new instance of the class with the specified . - - - - - Reads the next JSON token from the stream. - - true if the next token was read successfully; false if there are no more tokens to read. - - - - Reads the next JSON token from the stream as a . - - A or a null reference if the next JSON token is null. - - - - Skips the children of the current token. - - - - - Sets the current token. - - The new token. - - - - Sets the current token and value. - - The new token. - The value. - - - - Sets the state based on current token type. - - - - - Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. - - - - - Releases unmanaged and - optionally - managed resources - - true to release both managed and unmanaged resources; false to release only unmanaged resources. - - - - Changes the to Closed. - - - - - Gets the current reader state. - - The current reader state. - - - - Gets the quotation mark character used to enclose the value of a string. - - - - - Gets the type of the current Json token. - - - - - Gets the text value of the current Json token. - - - - - Gets The Common Language Runtime (CLR) type for the current Json token. - - - - - Gets the depth of the current token in the JSON document. - - The depth of the current token in the JSON document. - - - - Specifies the state of the reader. - - - - - The Read method has not been called. - - - - - The end of the file has been reached successfully. - - - - - Reader is at a property. - - - - - Reader is at the start of an object. - - - - - Reader is in an object. - - - - - Reader is at the start of an array. - - - - - Reader is in an array. - - - - - The Close method has been called. - - - - - Reader has just read a value. - - - - - Reader is at the start of a constructor. - - - - - Reader in a constructor. - - - - - An error occurred that prevents the read operation from continuing. - - - - - The end of the file has been reached successfully. - - - - - Initializes a new instance of the class. - - The stream. - - - - Initializes a new instance of the class. - - The stream. - if set to true the root object will be read as a JSON array. - The used when reading values from BSON. - - - - Reads the next JSON token from the stream as a . - - - A or a null reference if the next JSON token is null. - - - - - Reads the next JSON token from the stream. - - - true if the next token was read successfully; false if there are no more tokens to read. - - - - - Gets or sets a value indicating whether the root object will be read as a JSON array. - - - true if the root object will be read as a JSON array; otherwise, false. - - - - - Gets or sets the used when reading values from BSON. - - The used when reading values from BSON. - - - - Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. - - - - - Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. - - - - - Creates an instance of the JsonWriter class. - - - - - Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. - - - - - Closes this stream and the underlying stream. - - - - - Writes the beginning of a Json object. - - - - - Writes the end of a Json object. - - - - - Writes the beginning of a Json array. - - - - - Writes the end of an array. - - - - - Writes the start of a constructor with the given name. - - The name of the constructor. - - - - Writes the end constructor. - - - - - Writes the property name of a name/value pair on a Json object. - - The name of the property. - - - - Writes the end of the current Json object or array. - - - - - Writes the current token. - - The to read the token from. - - - - Writes the specified end token. - - The end token to write. - - - - Writes indent characters. - - - - - Writes the JSON value delimiter. - - - - - Writes an indent space. - - - - - Writes a null value. - - - - - Writes an undefined value. - - - - - Writes raw JSON without changing the writer's state. - - The raw JSON to write. - - - - Writes raw JSON where a value is expected and updates the writer's state. - - The raw JSON to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - An error will raised if the value cannot be written as a single JSON token. - - The value to write. - - - - Writes out a comment /*...*/ containing the specified text. - - Text to place inside the comment. - - - - Writes out the given white space. - - The string of white space characters. - - - - Gets the top. - - The top. - - - - Gets the state of the writer. - - - - - Indicates how the output is formatted. - - - - - Initializes a new instance of the class. - - The stream. - - - - Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. - - - - - Writes the end. - - The token. - - - - Writes out a comment /*...*/ containing the specified text. - - Text to place inside the comment. - - - - Writes the start of a constructor with the given name. - - The name of the constructor. - - - - Writes raw JSON. - - The raw JSON to write. - - - - Writes raw JSON where a value is expected and updates the writer's state. - - The raw JSON to write. - - - - Writes the beginning of a Json array. - - - - - Writes the beginning of a Json object. - - - - - Writes the property name of a name/value pair on a Json object. - - The name of the property. - - - - Writes a null value. - - - - - Writes an undefined value. - - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value that represents a BSON object id. - - - - - - Writes a BSON regex. - - The regex pattern. - The regex options. - - - - Gets or sets the used when writing values to BSON. - When set to no conversion will occur. - - The used when writing values to BSON. - - - - Represents a BSON Oid (object id). - - - - - Initializes a new instance of the class. - - The Oid value. - - - - Gets or sets the value of the Oid. - - The value of the Oid. - - - - Converts a binary value to and from a base 64 string value. - - - - - Converts an object to and from JSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Gets the of the JSON produced by the JsonConverter. - - The of the JSON produced by the JsonConverter. - - - - Gets a value indicating whether this can read JSON. - - true if this can read JSON; otherwise, false. - - - - Gets a value indicating whether this can write JSON. - - true if this can write JSON; otherwise, false. - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Converts a to and from JSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified value type. - - Type of the value. - - true if this instance can convert the specified value type; otherwise, false. - - - - - Converts a to and from JSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified value type. - - Type of the value. - - true if this instance can convert the specified value type; otherwise, false. - - - - - Create a custom object - - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Creates an object which will then be populated by the serializer. - - Type of the object. - - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Gets a value indicating whether this can write JSON. - - - true if this can write JSON; otherwise, false. - - - - - Provides a base class for converting a to and from JSON. - - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Converts an Entity Framework EntityKey to and from JSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Converts a to and from JSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Converts a to and from JSON and BSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Converts a to and from JSON and BSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Converts an to and from its name string value. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Specifies how constructors are used when initializing objects during deserialization by the . - - - - - First attempt to use the public default constructor then fall back to single paramatized constructor. - - - - - Allow Json.NET to use a non-public default constructor. - - - - - Represents a raw JSON string. - - - - - Represents a value in JSON (string, integer, date, etc). - - - - - Represents an abstract JSON token. - - - - - Represents a collection of objects. - - The type of token - - - - Gets the with the specified key. - - - - - - Provides an interface to enable a class to return line and position information. - - - - - Gets a value indicating whether the class can return line information. - - - true if LineNumber and LinePosition can be provided; otherwise, false. - - - - - Gets the current line number. - - The current line number or 0 if no line information is available (for example, HasLineInfo returns false). - - - - Gets the current line position. - - The current line position or 0 if no line information is available (for example, HasLineInfo returns false). - - - - Compares the values of two tokens, including the values of all descendant tokens. - - The first to compare. - The second to compare. - true if the tokens are equal; otherwise false. - - - - Adds the specified content immediately after this token. - - A content object that contains simple content or a collection of content objects to be added after this token. - - - - Adds the specified content immediately before this token. - - A content object that contains simple content or a collection of content objects to be added before this token. - - - - Returns a collection of the ancestor tokens of this token. - - A collection of the ancestor tokens of this token. - - - - Returns a collection of the sibling tokens after this token, in document order. - - A collection of the sibling tokens after this tokens, in document order. - - - - Returns a collection of the sibling tokens before this token, in document order. - - A collection of the sibling tokens before this token, in document order. - - - - Gets the with the specified key converted to the specified type. - - The type to convert the token to. - The token key. - The converted token value. - - - - Returns a collection of the child tokens of this token, in document order. - - An of containing the child tokens of this , in document order. - - - - Returns a collection of the child tokens of this token, in document order, filtered by the specified type. - - The type to filter the child tokens on. - A containing the child tokens of this , in document order. - - - - Returns a collection of the child values of this token, in document order. - - The type to convert the values to. - A containing the child values of this , in document order. - - - - Removes this token from its parent. - - - - - Replaces this token with the specified token. - - The value. - - - - Writes this token to a . - - A into which this method will write. - A collection of which will be used when writing the token. - - - - Returns the indented JSON for this token. - - - The indented JSON for this token. - - - - - Returns the JSON for this token using the given formatting and converters. - - Indicates how the output is formatted. - A collection of which will be used when writing the token. - The JSON for this token using the given formatting and converters. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Creates an for this token. - - An that can be used to read this token and its descendants. - - - - Creates a from an object. - - The object that will be used to create . - A with the value of the specified object - - - - Creates a from an object using the specified . - - The object that will be used to create . - The that will be used when reading the object. - A with the value of the specified object - - - - Creates a from a . - - An positioned at the token to read into this . - - An that contains the token and its descendant tokens - that were read from the reader. The runtime type of the token is determined - by the token type of the first token encountered in the reader. - - - - - Selects the token that matches the object path. - - - The object path from the current to the - to be returned. This must be a string of property names or array indexes separated - by periods, such as Tables[0].DefaultView[0].Price in C# or - Tables(0).DefaultView(0).Price in Visual Basic. - - The that matches the object path or a null reference if no matching token is found. - - - - Selects the token that matches the object path. - - - The object path from the current to the - to be returned. This must be a string of property names or array indexes separated - by periods, such as Tables[0].DefaultView[0].Price in C# or - Tables(0).DefaultView(0).Price in Visual Basic. - - A flag to indicate whether an error should be thrown if no token is found. - The that matches the object path. - - - - Gets a comparer that can compare two tokens for value equality. - - A that can compare two nodes for value equality. - - - - Gets or sets the parent. - - The parent. - - - - Gets the root of this . - - The root of this . - - - - Gets the node type for this . - - The type. - - - - Gets a value indicating whether this token has childen tokens. - - - true if this token has child values; otherwise, false. - - - - - Gets the next sibling token of this node. - - The that contains the next sibling token. - - - - Gets the previous sibling token of this node. - - The that contains the previous sibling token. - - - - Gets the with the specified key. - - The with the specified key. - - - - Get the first child token of this token. - - A containing the first child token of the . - - - - Get the last child token of this token. - - A containing the last child token of the . - - - - Initializes a new instance of the class from another object. - - A object to copy from. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Creates a comment with the given value. - - The value. - A comment with the given value. - - - - Creates a string with the given value. - - The value. - A string with the given value. - - - - Writes this token to a . - - A into which this method will write. - A collection of which will be used when writing the token. - - - - Indicates whether the current object is equal to another object of the same type. - - - true if the current object is equal to the parameter; otherwise, false. - - An object to compare with this object. - - - - Determines whether the specified is equal to the current . - - The to compare with the current . - - true if the specified is equal to the current ; otherwise, false. - - - The parameter is null. - - - - - Serves as a hash function for a particular type. - - - A hash code for the current . - - - - - Gets a value indicating whether this token has childen tokens. - - - true if this token has child values; otherwise, false. - - - - - Gets the node type for this . - - The type. - - - - Gets or sets the underlying token value. - - The underlying token value. - - - - Initializes a new instance of the class from another object. - - A object to copy from. - - - - Initializes a new instance of the class. - - The raw json. - - - - Creates an instance of with the content of the reader's current token. - - The reader. - An instance of with the content of the reader's current token. - - - - Indicating whether a property is required. - - - - - The property is not required. The default state. - - - - - The property must be defined in JSON but can be a null value. - - - - - The property must be defined in JSON and cannot be a null value. - - - - - Contract details for a used by the . - - - - - Contract details for a used by the . - - - - - Gets the underlying type for the contract. - - The underlying type for the contract. - - - - Gets or sets the type created during deserialization. - - The type created during deserialization. - - - - Gets or sets whether this type contract is serialized as a reference. - - Whether this type contract is serialized as a reference. - - - - Gets or sets the default for this contract. - - The converter. - - - - Gets or sets the method called immediately after deserialization of the object. - - The method called immediately after deserialization of the object. - - - - Gets or sets the method called during deserialization of the object. - - The method called during deserialization of the object. - - - - Gets or sets the method called after serialization of the object graph. - - The method called after serialization of the object graph. - - - - Gets or sets the method called before serialization of the object. - - The method called before serialization of the object. - - - - Gets or sets the default creator method used to create the object. - - The default creator method used to create the object. - - - - Gets or sets a value indicating whether [default creator non public]. - - true if the default object creator is non-public; otherwise, false. - - - - Gets or sets the method called when an error is thrown during the serialization of the object. - - The method called when an error is thrown during the serialization of the object. - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Gets or sets the ISerializable object constructor. - - The ISerializable object constructor. - - - - Contract details for a used by the . - - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Contract details for a used by the . - - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Get and set values for a using dynamic methods. - - - - - Provides methods to get and set values. - - - - - Sets the value. - - The target to set the value on. - The value to set on the target. - - - - Gets the value. - - The target to get the value from. - The value. - - - - Initializes a new instance of the class. - - The member info. - - - - Sets the value. - - The target to set the value on. - The value to set on the target. - - - - Gets the value. - - The target to get the value from. - The value. - - - - Provides data for the Error event. - - - - - Initializes a new instance of the class. - - The current object. - The error context. - - - - Gets the current object the error event is being raised against. - - The current object the error event is being raised against. - - - - Gets the error context. - - The error context. - - - - Represents a view of a . - - - - - Initializes a new instance of the class. - - The name. - Type of the property. - - - - When overridden in a derived class, returns whether resetting an object changes its value. - - - true if resetting the component changes its value; otherwise, false. - - The component to test for reset capability. - - - - - When overridden in a derived class, gets the current value of the property on a component. - - - The value of a property for a given component. - - The component with the property for which to retrieve the value. - - - - - When overridden in a derived class, resets the value for this property of the component to the default value. - - The component with the property value that is to be reset to the default value. - - - - - When overridden in a derived class, sets the value of the component to a different value. - - The component with the property value that is to be set. - The new value. - - - - - When overridden in a derived class, determines a value indicating whether the value of this property needs to be persisted. - - - true if the property should be persisted; otherwise, false. - - The component with the property to be examined for persistence. - - - - - When overridden in a derived class, gets the type of the component this property is bound to. - - - A that represents the type of component this property is bound to. When the or methods are invoked, the object specified might be an instance of this type. - - - - - When overridden in a derived class, gets a value indicating whether this property is read-only. - - - true if the property is read-only; otherwise, false. - - - - - When overridden in a derived class, gets the type of the property. - - - A that represents the type of the property. - - - - - Gets the hash code for the name of the member. - - - - The hash code for the name of the member. - - - - - Represents a view of a . - - - - - Initializes a new instance of the class. - - The value. - - - - Returns the properties for this instance of a component. - - - A that represents the properties for this component instance. - - - - - Returns the properties for this instance of a component using the attribute array as a filter. - - An array of type that is used as a filter. - - A that represents the filtered properties for this component instance. - - - - - Returns a collection of custom attributes for this instance of a component. - - - An containing the attributes for this object. - - - - - Returns the class name of this instance of a component. - - - The class name of the object, or null if the class does not have a name. - - - - - Returns the name of this instance of a component. - - - The name of the object, or null if the object does not have a name. - - - - - Returns a type converter for this instance of a component. - - - A that is the converter for this object, or null if there is no for this object. - - - - - Returns the default event for this instance of a component. - - - An that represents the default event for this object, or null if this object does not have events. - - - - - Returns the default property for this instance of a component. - - - A that represents the default property for this object, or null if this object does not have properties. - - - - - Returns an editor of the specified type for this instance of a component. - - A that represents the editor for this object. - - An of the specified type that is the editor for this object, or null if the editor cannot be found. - - - - - Returns the events for this instance of a component using the specified attribute array as a filter. - - An array of type that is used as a filter. - - An that represents the filtered events for this component instance. - - - - - Returns the events for this instance of a component. - - - An that represents the events for this component instance. - - - - - Returns an object that contains the property described by the specified property descriptor. - - A that represents the property whose owner is to be found. - - An that represents the owner of the specified property. - - - - - Used to resolve references when serializing and deserializing JSON by the . - - - - - Resolves a reference to its object. - - The reference to resolve. - The object that - - - - Gets the reference for the sepecified object. - - The object to get a reference for. - The reference to the object. - - - - Determines whether the specified object is referenced. - - The object to test for a reference. - - true if the specified object is referenced; otherwise, false. - - - - - Adds a reference to the specified object. - - The reference. - The object to reference. - - - - Specifies reference handling options for the . - - - - - Do not preserve references when serializing types. - - - - - Preserve references when serializing into a JSON object structure. - - - - - Preserve references when serializing into a JSON array structure. - - - - - Preserve references when serializing. - - - - - Instructs the how to serialize the collection. - - - - - Instructs the how to serialize the object. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class with the specified container Id. - - The container Id. - - - - Gets or sets the id. - - The id. - - - - Gets or sets the title. - - The title. - - - - Gets or sets the description. - - The description. - - - - Gets or sets a value that indicates whether to preserve object reference data. - - - true to keep object reference; otherwise, false. The default is false. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class with a flag indicating whether the array can contain null items - - A flag indicating whether the array can contain null items. - - - - Initializes a new instance of the class with the specified container Id. - - The container Id. - - - - Gets or sets a value indicating whether null items are allowed in the collection. - - true if null items are allowed in the collection; otherwise, false. - - - - Specifies default value handling options for the . - - - - - Include default values when serializing and deserializing objects. - - - - - Ignore default values when serializing and deserializing objects. - - - - - Instructs the to use the specified when serializing the member or class. - - - - - Initializes a new instance of the class. - - Type of the converter. - - - - Gets the type of the converter. - - The type of the converter. - - - - Instructs the how to serialize the object. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class with the specified member serialization. - - The member serialization. - - - - Initializes a new instance of the class with the specified container Id. - - The container Id. - - - - Gets or sets the member serialization. - - The member serialization. - - - - Specifies the settings on a object. - - - - - Initializes a new instance of the class. - - - - - Gets or sets how reference loops (e.g. a class referencing itself) is handled. - - Reference loop handling. - - - - Gets or sets how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. - - Missing member handling. - - - - Gets or sets how objects are created during deserialization. - - The object creation handling. - - - - Gets or sets how null values are handled during serialization and deserialization. - - Null value handling. - - - - Gets or sets how null default are handled during serialization and deserialization. - - The default value handling. - - - - Gets or sets a collection that will be used during serialization. - - The converters. - - - - Gets or sets how object references are preserved by the serializer. - - The preserve references handling. - - - - Gets or sets how type name writing and reading is handled by the serializer. - - The type name handling. - - - - Gets or sets how a type name assembly is written and resolved by the serializer. - - The type name assembly format. - - - - Gets or sets how constructors are used during deserialization. - - The constructor handling. - - - - Gets or sets the contract resolver used by the serializer when - serializing .NET objects to JSON and vice versa. - - The contract resolver. - - - - Gets or sets the used by the serializer when resolving references. - - The reference resolver. - - - - Gets or sets the used by the serializer when resolving type names. - - The binder. - - - - Gets or sets the error handler called during serialization and deserialization. - - The error handler called during serialization and deserialization. - - - - Gets or sets the used by the serializer when invoking serialization callback methods. - - The context. - - - - Represents a reader that provides validation. - - - - - Initializes a new instance of the class that - validates the content returned from the given . - - The to read from while validating. - - - - Reads the next JSON token from the stream as a . - - - A or a null reference if the next JSON token is null. - - - - - Reads the next JSON token from the stream. - - - true if the next token was read successfully; false if there are no more tokens to read. - - - - - Sets an event handler for receiving schema validation errors. - - - - - Gets the text value of the current Json token. - - - - - - Gets the depth of the current token in the JSON document. - - The depth of the current token in the JSON document. - - - - Gets the quotation mark character used to enclose the value of a string. - - - - - - Gets the type of the current Json token. - - - - - - Gets The Common Language Runtime (CLR) type for the current Json token. - - - - - - Gets or sets the schema. - - The schema. - - - - Gets the used to construct this . - - The specified in the constructor. - - - - Compares tokens to determine whether they are equal. - - - - - Determines whether the specified objects are equal. - - The first object of type to compare. - The second object of type to compare. - - true if the specified objects are equal; otherwise, false. - - - - - Returns a hash code for the specified object. - - The for which a hash code is to be returned. - A hash code for the specified object. - The type of is a reference type and is null. - - - - Specifies the member serialization options for the . - - - - - All members are serialized by default. Members can be excluded using the . - - - - - Only members must be marked with the are serialized. - - - - - Specifies how object creation is handled by the . - - - - - Reuse existing objects, create new objects when needed. - - - - - Only reuse existing objects. - - - - - Always create new objects. - - - - - Converts a to and from the ISO 8601 date format (e.g. 2008-04-12T12:53Z). - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Gets or sets the date time styles used when converting a date to and from JSON. - - The date time styles used when converting a date to and from JSON. - - - - Gets or sets the date time format used when converting a date to and from JSON. - - The date time format used when converting a date to and from JSON. - - - - Gets or sets the culture used when converting a date to and from JSON. - - The culture used when converting a date to and from JSON. - - - - Converts a to and from a JavaScript date constructor (e.g. new Date(52231943)). - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing property value of the JSON that is being converted. - The calling serializer. - The object value. - - - - Specifies whether a DateTime object represents a local time, a Coordinated Universal Time (UTC), or is not specified as either local time or UTC. - - - - - The time represented is local time. - - - - - The time represented is UTC. - - - - - The time represented is not specified as either local time or Coordinated Universal Time (UTC). - - - - - Preserves the DateTimeKind field of a date when a DateTime object is converted to a string and the string is then converted back to a DateTime object. - - - - - Converts an to and from JSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The calling serializer. - The value. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Checks if the attributeName is a namespace attribute. - - Attribute name to test. - The attribute name prefix if it has one, otherwise an empty string. - True if attribute name is for a namespace attribute, otherwise false. - - - - Determines whether this instance can convert the specified value type. - - Type of the value. - - true if this instance can convert the specified value type; otherwise, false. - - - - - Gets or sets the name of the root element to insert when deserializing to XML if the JSON structure has produces multiple root elements. - - The name of the deserialize root element. - - - - Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. - - - - - Initializes a new instance of the class with the specified . - - The TextReader containing the XML data to read. - - - - Reads the next JSON token from the stream. - - - true if the next token was read successfully; false if there are no more tokens to read. - - - - - Reads the next JSON token from the stream as a . - - - A or a null reference if the next JSON token is null. - - - - - Changes the state to closed. - - - - - Gets a value indicating whether the class can return line information. - - - true if LineNumber and LinePosition can be provided; otherwise, false. - - - - - Gets the current line number. - - - The current line number or 0 if no line information is available (for example, HasLineInfo returns false). - - - - - Gets the current line position. - - - The current line position or 0 if no line information is available (for example, HasLineInfo returns false). - - - - - Instructs the to always serialize the member with the specified name. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class with the specified name. - - Name of the property. - - - - Gets or sets the null value handling used when serializing this property. - - The null value handling. - - - - Gets or sets the default value handling used when serializing this property. - - The default value handling. - - - - Gets or sets the reference loop handling used when serializing this property. - - The reference loop handling. - - - - Gets or sets the object creation handling used when deserializing this property. - - The object creation handling. - - - - Gets or sets the type name handling used when serializing this property. - - The type name handling. - - - - Gets or sets whether this property's value is serialized as a reference. - - Whether this property's value is serialized as a reference. - - - - Gets or sets the name of the property. - - The name of the property. - - - - Gets or sets a value indicating whether this property is required. - - - A value indicating whether this property is required. - - - - - Instructs the not to serialize the public field or public read/write property value. - - - - - Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. - - - - - Creates an instance of the JsonWriter class using the specified . - - The TextWriter to write to. - - - - Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. - - - - - Closes this stream and the underlying stream. - - - - - Writes the beginning of a Json object. - - - - - Writes the beginning of a Json array. - - - - - Writes the start of a constructor with the given name. - - The name of the constructor. - - - - Writes the specified end token. - - The end token to write. - - - - Writes the property name of a name/value pair on a Json object. - - The name of the property. - - - - Writes indent characters. - - - - - Writes the JSON value delimiter. - - - - - Writes an indent space. - - - - - Writes a null value. - - - - - Writes an undefined value. - - - - - Writes raw JSON. - - The raw JSON to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes out a comment /*...*/ containing the specified text. - - Text to place inside the comment. - - - - Writes out the given white space. - - The string of white space characters. - - - - Gets or sets how many IndentChars to write for each level in the hierarchy when is set to Formatting.Indented. - - - - - Gets or sets which character to use to quote attribute values. - - - - - Gets or sets which character to use for indenting when is set to Formatting.Indented. - - - - - Gets or sets a value indicating whether object names will be surrounded with quotes. - - - - - The exception thrown when an error occurs while reading Json text. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class - with a specified error message. - - The error message that explains the reason for the exception. - - - - Initializes a new instance of the class - with a specified error message and a reference to the inner exception that is the cause of this exception. - - The error message that explains the reason for the exception. - The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. - - - - The exception thrown when an error occurs while reading Json text. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class - with a specified error message. - - The error message that explains the reason for the exception. - - - - Initializes a new instance of the class - with a specified error message and a reference to the inner exception that is the cause of this exception. - - The error message that explains the reason for the exception. - The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. - - - - Gets the line number indicating where the error occurred. - - The line number indicating where the error occurred. - - - - Gets the line position indicating where the error occurred. - - The line position indicating where the error occurred. - - - - Represents a collection of . - - - - - Provides methods for converting between common language runtime types and JSON types. - - - - - Represents JavaScript's boolean value true as a string. This field is read-only. - - - - - Represents JavaScript's boolean value false as a string. This field is read-only. - - - - - Represents JavaScript's null as a string. This field is read-only. - - - - - Represents JavaScript's undefined as a string. This field is read-only. - - - - - Represents JavaScript's positive infinity as a string. This field is read-only. - - - - - Represents JavaScript's negative infinity as a string. This field is read-only. - - - - - Represents JavaScript's NaN as a string. This field is read-only. - - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - The string delimiter character. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Serializes the specified object to a JSON string. - - The object to serialize. - A JSON string representation of the object. - - - - Serializes the specified object to a JSON string. - - The object to serialize. - Indicates how the output is formatted. - - A JSON string representation of the object. - - - - - Serializes the specified object to a JSON string using a collection of . - - The object to serialize. - A collection converters used while serializing. - A JSON string representation of the object. - - - - Serializes the specified object to a JSON string using a collection of . - - The object to serialize. - Indicates how the output is formatted. - A collection converters used while serializing. - A JSON string representation of the object. - - - - Serializes the specified object to a JSON string using a collection of . - - The object to serialize. - Indicates how the output is formatted. - The used to serialize the object. - If this is null, default serialization settings will be is used. - - A JSON string representation of the object. - - - - - Deserializes the specified object to a Json object. - - The object to deserialize. - The deserialized object from the Json string. - - - - Deserializes the specified object to a Json object. - - The object to deserialize. - The of object being deserialized. - The deserialized object from the Json string. - - - - Deserializes the specified object to a Json object. - - The type of the object to deserialize. - The object to deserialize. - The deserialized object from the Json string. - - - - Deserializes the specified JSON to the given anonymous type. - - - The anonymous type to deserialize to. This can't be specified - traditionally and must be infered from the anonymous type passed - as a parameter. - - The object to deserialize. - The anonymous type object. - The deserialized anonymous type from the JSON string. - - - - Deserializes the JSON string to the specified type. - - The type of the object to deserialize. - The object to deserialize. - Converters to use while deserializing. - The deserialized object from the JSON string. - - - - Deserializes the JSON string to the specified type. - - The type of the object to deserialize. - The object to deserialize. - - The used to deserialize the object. - If this is null, default serialization settings will be is used. - - The deserialized object from the JSON string. - - - - Deserializes the JSON string to the specified type. - - The object to deserialize. - The type of the object to deserialize. - Converters to use while deserializing. - The deserialized object from the JSON string. - - - - Deserializes the JSON string to the specified type. - - The JSON to deserialize. - The type of the object to deserialize. - - The used to deserialize the object. - If this is null, default serialization settings will be is used. - - The deserialized object from the JSON string. - - - - Populates the object with values from the JSON string. - - The JSON to populate values from. - The target object to populate values onto. - - - - Populates the object with values from the JSON string. - - The JSON to populate values from. - The target object to populate values onto. - - The used to deserialize the object. - If this is null, default serialization settings will be is used. - - - - - Serializes the to a JSON string. - - The node to convert to JSON. - A JSON string of the XNode. - - - - Serializes the to a JSON string. - - The node to convert to JSON. - Indicates how the output is formatted. - A JSON string of the XNode. - - - - Deserializes the from a JSON string. - - The JSON string. - The deserialized XNode - - - - Deserializes the from a JSON string nested in a root elment. - - The JSON string. - The name of the root element to append when deserializing. - The deserialized XNode - - - - Serializes the XML node to a JSON string. - - The node to serialize. - A JSON string of the XmlNode. - - - - Serializes the XML node to a JSON string. - - The node to serialize. - Indicates how the output is formatted. - A JSON string of the XmlNode. - - - - Deserializes the XmlNode from a JSON string. - - The JSON string. - The deserialized XmlNode - - - - Deserializes the XmlNode from a JSON string nested in a root elment. - - The JSON string. - The name of the root element to append when deserializing. - The deserialized XmlNode - - - - The exception thrown when an error occurs during Json serialization or deserialization. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class - with a specified error message. - - The error message that explains the reason for the exception. - - - - Initializes a new instance of the class - with a specified error message and a reference to the inner exception that is the cause of this exception. - - The error message that explains the reason for the exception. - The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. - - - - Serializes and deserializes objects into and from the JSON format. - The enables you to control how objects are encoded into JSON. - - - - - Initializes a new instance of the class. - - - - - Creates a new instance using the specified . - - The settings to be applied to the . - A new instance using the specified . - - - - Populates the JSON values onto the target object. - - The that contains the JSON structure to reader values from. - The target object to populate values onto. - - - - Populates the JSON values onto the target object. - - The that contains the JSON structure to reader values from. - The target object to populate values onto. - - - - Deserializes the Json structure contained by the specified . - - The that contains the JSON structure to deserialize. - The being deserialized. - - - - Deserializes the Json structure contained by the specified - into an instance of the specified type. - - The containing the object. - The of object being deserialized. - The instance of being deserialized. - - - - Deserializes the Json structure contained by the specified - into an instance of the specified type. - - The containing the object. - The type of the object to deserialize. - The instance of being deserialized. - - - - Deserializes the Json structure contained by the specified - into an instance of the specified type. - - The containing the object. - The of object being deserialized. - The instance of being deserialized. - - - - Serializes the specified and writes the Json structure - to a Stream using the specified . - - The used to write the Json structure. - The to serialize. - - - - Serializes the specified and writes the Json structure - to a Stream using the specified . - - The used to write the Json structure. - The to serialize. - - - - Occurs when the errors during serialization and deserialization. - - - - - Gets or sets the used by the serializer when resolving references. - - - - - Gets or sets the used by the serializer when resolving type names. - - - - - Gets or sets how type name writing and reading is handled by the serializer. - - - - - Gets or sets how a type name assembly is written and resolved by the serializer. - - The type name assembly format. - - - - Gets or sets how object references are preserved by the serializer. - - - - - Get or set how reference loops (e.g. a class referencing itself) is handled. - - - - - Get or set how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. - - - - - Get or set how null values are handled during serialization and deserialization. - - - - - Get or set how null default are handled during serialization and deserialization. - - - - - Gets or sets how objects are created during deserialization. - - The object creation handling. - - - - Gets or sets how constructors are used during deserialization. - - The constructor handling. - - - - Gets a collection that will be used during serialization. - - Collection that will be used during serialization. - - - - Gets or sets the contract resolver used by the serializer when - serializing .NET objects to JSON and vice versa. - - - - - Gets or sets the used by the serializer when invoking serialization callback methods. - - The context. - - - - Contains the LINQ to JSON extension methods. - - - - - Returns a collection of tokens that contains the ancestors of every token in the source collection. - - The type of the objects in source, constrained to . - An of that contains the source collection. - An of that contains the ancestors of every node in the source collection. - - - - Returns a collection of tokens that contains the descendants of every token in the source collection. - - The type of the objects in source, constrained to . - An of that contains the source collection. - An of that contains the descendants of every node in the source collection. - - - - Returns a collection of child properties of every object in the source collection. - - An of that contains the source collection. - An of that contains the properties of every object in the source collection. - - - - Returns a collection of child values of every object in the source collection with the given key. - - An of that contains the source collection. - The token key. - An of that contains the values of every node in the source collection with the given key. - - - - Returns a collection of child values of every object in the source collection. - - An of that contains the source collection. - An of that contains the values of every node in the source collection. - - - - Returns a collection of converted child values of every object in the source collection with the given key. - - The type to convert the values to. - An of that contains the source collection. - The token key. - An that contains the converted values of every node in the source collection with the given key. - - - - Returns a collection of converted child values of every object in the source collection. - - The type to convert the values to. - An of that contains the source collection. - An that contains the converted values of every node in the source collection. - - - - Converts the value. - - The type to convert the value to. - A cast as a of . - A converted value. - - - - Converts the value. - - The source collection type. - The type to convert the value to. - A cast as a of . - A converted value. - - - - Returns a collection of child tokens of every array in the source collection. - - The source collection type. - An of that contains the source collection. - An of that contains the values of every node in the source collection. - - - - Returns a collection of converted child tokens of every array in the source collection. - - An of that contains the source collection. - The type to convert the values to. - The source collection type. - An that contains the converted values of every node in the source collection. - - - - Returns the input typed as . - - An of that contains the source collection. - The input typed as . - - - - Returns the input typed as . - - The source collection type. - An of that contains the source collection. - The input typed as . - - - - Represents a JSON constructor. - - - - - Represents a token that can contain other tokens. - - - - - Raises the event. - - The instance containing the event data. - - - - Raises the event. - - The instance containing the event data. - - - - Returns a collection of the child tokens of this token, in document order. - - - An of containing the child tokens of this , in document order. - - - - - Returns a collection of the child values of this token, in document order. - - The type to convert the values to. - - A containing the child values of this , in document order. - - - - - Returns a collection of the descendant tokens for this token in document order. - - An containing the descendant tokens of the . - - - - Adds the specified content as children of this . - - The content to be added. - - - - Adds the specified content as the first children of this . - - The content to be added. - - - - Creates an that can be used to add tokens to the . - - An that is ready to have content written to it. - - - - Replaces the children nodes of this token with the specified content. - - The content. - - - - Removes the child nodes from this token. - - - - - Occurs when the list changes or an item in the list changes. - - - - - Occurs before an item is added to the collection. - - - - - Gets a value indicating whether this token has childen tokens. - - - true if this token has child values; otherwise, false. - - - - - Get the first child token of this token. - - - A containing the first child token of the . - - - - - Get the last child token of this token. - - - A containing the last child token of the . - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class from another object. - - A object to copy from. - - - - Initializes a new instance of the class with the specified name and content. - - The constructor name. - The contents of the constructor. - - - - Initializes a new instance of the class with the specified name and content. - - The constructor name. - The contents of the constructor. - - - - Initializes a new instance of the class with the specified name. - - The constructor name. - - - - Writes this token to a . - - A into which this method will write. - A collection of which will be used when writing the token. - - - - Loads an from a . - - A that will be read for the content of the . - A that contains the JSON that was read from the specified . - - - - Gets or sets the name of this constructor. - - The constructor name. - - - - Gets the node type for this . - - The type. - - - - Gets the with the specified key. - - The with the specified key. - - - - Represents a collection of objects. - - The type of token - - - - An empty collection of objects. - - - - - Initializes a new instance of the struct. - - The enumerable. - - - - Returns an enumerator that iterates through the collection. - - - A that can be used to iterate through the collection. - - - - - Returns an enumerator that iterates through a collection. - - - An object that can be used to iterate through the collection. - - - - - Determines whether the specified is equal to this instance. - - The to compare with this instance. - - true if the specified is equal to this instance; otherwise, false. - - - - - Returns a hash code for this instance. - - - A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. - - - - - Gets the with the specified key. - - - - - - Represents a JSON object. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class from another object. - - A object to copy from. - - - - Initializes a new instance of the class with the specified content. - - The contents of the object. - - - - Initializes a new instance of the class with the specified content. - - The contents of the object. - - - - Gets an of this object's properties. - - An of this object's properties. - - - - Gets a the specified name. - - The property name. - A with the specified name or null. - - - - Gets an of this object's property values. - - An of this object's property values. - - - - Loads an from a . - - A that will be read for the content of the . - A that contains the JSON that was read from the specified . - - - - Load a from a string that contains JSON. - - A that contains JSON. - A populated from the string that contains JSON. - - - - Creates a from an object. - - The object that will be used to create . - A with the values of the specified object - - - - Creates a from an object. - - The object that will be used to create . - The that will be used to read the object. - A with the values of the specified object - - - - Writes this token to a . - - A into which this method will write. - A collection of which will be used when writing the token. - - - - Adds the specified property name. - - Name of the property. - The value. - - - - Removes the property with the specified name. - - Name of the property. - true if item was successfully removed; otherwise, false. - - - - Tries the get value. - - Name of the property. - The value. - true if a value was successfully retrieved; otherwise, false. - - - - Returns an enumerator that iterates through the collection. - - - A that can be used to iterate through the collection. - - - - - Raises the event with the provided arguments. - - Name of the property. - - - - Raises the event with the provided arguments. - - Name of the property. - - - - Occurs when a property value changes. - - - - - Occurs when a property value is changing. - - - - - Gets the node type for this . - - The type. - - - - Gets the with the specified key. - - The with the specified key. - - - - Gets or sets the with the specified property name. - - - - - - Gets the number of elements contained in the . - - - The number of elements contained in the . - - - - Represents a JSON array. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class from another object. - - A object to copy from. - - - - Initializes a new instance of the class with the specified content. - - The contents of the array. - - - - Initializes a new instance of the class with the specified content. - - The contents of the array. - - - - Loads an from a . - - A that will be read for the content of the . - A that contains the JSON that was read from the specified . - - - - Load a from a string that contains JSON. - - A that contains JSON. - A populated from the string that contains JSON. - - - - Creates a from an object. - - The object that will be used to create . - A with the values of the specified object - - - - Creates a from an object. - - The object that will be used to create . - The that will be used to read the object. - A with the values of the specified object - - - - Writes this token to a . - - A into which this method will write. - A collection of which will be used when writing the token. - - - - Determines the index of a specific item in the . - - The object to locate in the . - - The index of if found in the list; otherwise, -1. - - - - - Inserts an item to the at the specified index. - - The zero-based index at which should be inserted. - The object to insert into the . - - is not a valid index in the . - The is read-only. - - - - Removes the item at the specified index. - - The zero-based index of the item to remove. - - is not a valid index in the . - The is read-only. - - - - Adds an item to the . - - The object to add to the . - The is read-only. - - - - Removes all items from the . - - The is read-only. - - - - Determines whether the contains a specific value. - - The object to locate in the . - - true if is found in the ; otherwise, false. - - - - - Removes the first occurrence of a specific object from the . - - The object to remove from the . - - true if was successfully removed from the ; otherwise, false. This method also returns false if is not found in the original . - - The is read-only. - - - - Gets the node type for this . - - The type. - - - - Gets the with the specified key. - - The with the specified key. - - - - Gets or sets the at the specified index. - - - - - - Gets the number of elements contained in the . - - - The number of elements contained in the . - - - - Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. - - - - - Initializes a new instance of the class. - - The token to read from. - - - - Reads the next JSON token from the stream as a . - - - A or a null reference if the next JSON token is null. - - - - - Reads the next JSON token from the stream. - - - true if the next token was read successfully; false if there are no more tokens to read. - - - - - Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. - - - - - Initializes a new instance of the class writing to the given . - - The container being written to. - - - - Initializes a new instance of the class. - - - - - Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. - - - - - Closes this stream and the underlying stream. - - - - - Writes the beginning of a Json object. - - - - - Writes the beginning of a Json array. - - - - - Writes the start of a constructor with the given name. - - The name of the constructor. - - - - Writes the end. - - The token. - - - - Writes the property name of a name/value pair on a Json object. - - The name of the property. - - - - Writes a null value. - - - - - Writes an undefined value. - - - - - Writes raw JSON. - - The raw JSON to write. - - - - Writes out a comment /*...*/ containing the specified text. - - Text to place inside the comment. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Gets the token being writen. - - The token being writen. - - - - Represents a JSON property. - - - - - Initializes a new instance of the class from another object. - - A object to copy from. - - - - Returns a collection of the child tokens of this token, in document order. - - - An of containing the child tokens of this , in document order. - - - - - Initializes a new instance of the class. - - The property name. - The property content. - - - - Initializes a new instance of the class. - - The property name. - The property content. - - - - Writes this token to a . - - A into which this method will write. - A collection of which will be used when writing the token. - - - - Loads an from a . - - A that will be read for the content of the . - A that contains the JSON that was read from the specified . - - - - Gets the property name. - - The property name. - - - - Gets or sets the property value. - - The property value. - - - - Gets the node type for this . - - The type. - - - - Specifies the type of token. - - - - - No token type has been set. - - - - - A JSON object. - - - - - A JSON array. - - - - - A JSON constructor. - - - - - A JSON object property. - - - - - A comment. - - - - - An integer value. - - - - - A float value. - - - - - A string value. - - - - - A boolean value. - - - - - A null value. - - - - - An undefined value. - - - - - A date value. - - - - - A raw JSON value. - - - - - A collection of bytes value. - - - - - Contains the JSON schema extension methods. - - - - - Determines whether the is valid. - - The source to test. - The schema to test with. - - true if the specified is valid; otherwise, false. - - - - - Validates the specified . - - The source to test. - The schema to test with. - - - - Validates the specified . - - The source to test. - The schema to test with. - The validation event handler. - - - - Returns detailed information about the schema exception. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class - with a specified error message. - - The error message that explains the reason for the exception. - - - - Initializes a new instance of the class - with a specified error message and a reference to the inner exception that is the cause of this exception. - - The error message that explains the reason for the exception. - The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. - - - - Gets the line number indicating where the error occurred. - - The line number indicating where the error occurred. - - - - Gets the line position indicating where the error occurred. - - The line position indicating where the error occurred. - - - - Resolves from an id. - - - - - Initializes a new instance of the class. - - - - - Gets a for the specified id. - - The id. - A for the specified id. - - - - Gets or sets the loaded schemas. - - The loaded schemas. - - - - Specifies undefined schema Id handling options for the . - - - - - Do not infer a schema Id. - - - - - Use the .NET type name as the schema Id. - - - - - Use the assembly qualified .NET type name as the schema Id. - - - - - Returns detailed information related to the . - - - - - Gets the associated with the validation event. - - The JsonSchemaException associated with the validation event. - - - - Gets the text description corresponding to the validation event. - - The text description. - - - - Represents the callback method that will handle JSON schema validation events and the . - - - - - Resolves member mappings for a type, camel casing property names. - - - - - Used by to resolves a for a given . - - - - - Used by to resolves a for a given . - - - - - Resolves the contract for a given type. - - The type to resolve a contract for. - The contract for a given type. - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - - If set to true the will use a cached shared with other resolvers of the same type. - Sharing the cache will significantly performance because expensive reflection will only happen once but could cause unexpected - behavior if different instances of the resolver are suppose to produce different results. When set to false it is highly - recommended to reuse instances with the . - - - - - Resolves the contract for a given type. - - The type to resolve a contract for. - The contract for a given type. - - - - Gets the serializable members for the type. - - The type to get serializable members for. - The serializable members for the type. - - - - Creates a for the given type. - - Type of the object. - A for the given type. - - - - Resolves the default for the contract. - - Type of the object. - - - - - Creates a for the given type. - - Type of the object. - A for the given type. - - - - Creates a for the given type. - - Type of the object. - A for the given type. - - - - Creates a for the given type. - - Type of the object. - A for the given type. - - - - Creates a for the given type. - - Type of the object. - A for the given type. - - - - Creates a for the given type. - - Type of the object. - A for the given type. - - - - Creates a for the given type. - - Type of the object. - A for the given type. - - - - Determines which contract type is created for the given type. - - Type of the object. - A for the given type. - - - - Creates properties for the given . - - The contract to create properties for. - Properties for the given . - - - - Creates the used by the serializer to get and set values from a member. - - The member. - The used by the serializer to get and set values from a member. - - - - Creates a for the given . - - The member's declaring types . - The member to create a for. - A created for the given . - - - - Resolves the name of the property. - - Name of the property. - Name of the property. - - - - Gets a value indicating whether members are being get and set using dynamic code generation. - This value is determined by the runtime permissions available. - - - true if using dynamic code generation; otherwise, false. - - - - - Gets or sets the default members search flags. - - The default members search flags. - - - - Gets or sets a value indicating whether compiler generated members should be serialized. - - - true if serialized compiler generated members; otherwise, false. - - - - - Initializes a new instance of the class. - - - - - Resolves the name of the property. - - Name of the property. - The property name camel cased. - - - - The default serialization binder used when resolving and loading classes from type names. - - - - - When overridden in a derived class, controls the binding of a serialized object to a type. - - Specifies the name of the serialized object. - Specifies the name of the serialized object. - - The type of the object the formatter creates a new instance of. - - - - - Provides information surrounding an error. - - - - - Gets or sets the error. - - The error. - - - - Gets the original object that caused the error. - - The original object that caused the error. - - - - Gets the member that caused the error. - - The member that caused the error. - - - - Gets or sets a value indicating whether this is handled. - - true if handled; otherwise, false. - - - - Contract details for a used by the . - - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Contract details for a used by the . - - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Maps a JSON property to a .NET member. - - - - - Returns a that represents this instance. - - - A that represents this instance. - - - - - Gets the name of the property. - - The name of the property. - - - - Gets the that will get and set the during serialization. - - The that will get and set the during serialization. - - - - Gets or sets the type of the property. - - The type of the property. - - - - Gets or sets the for the property. - If set this converter takes presidence over the contract converter for the property type. - - The converter. - - - - Gets a value indicating whether this is ignored. - - true if ignored; otherwise, false. - - - - Gets a value indicating whether this is readable. - - true if readable; otherwise, false. - - - - Gets a value indicating whether this is writable. - - true if writable; otherwise, false. - - - - Gets the member converter. - - The member converter. - - - - Gets the default value. - - The default value. - - - - Gets a value indicating whether this is required. - - A value indicating whether this is required. - - - - Gets a value indicating whether this property preserves object references. - - - true if this instance is reference; otherwise, false. - - - - - Gets the property null value handling. - - The null value handling. - - - - Gets the property default value handling. - - The default value handling. - - - - Gets the property reference loop handling. - - The reference loop handling. - - - - Gets the property object creation handling. - - The object creation handling. - - - - Gets or sets the type name handling. - - The type name handling. - - - - Gets or sets a predicate used to determine whether the property should be serialize. - - A predicate used to determine whether the property should be serialize. - - - - A collection of objects. - - - - - Initializes a new instance of the class. - - The contract. - - - - When implemented in a derived class, extracts the key from the specified element. - - The element from which to extract the key. - The key for the specified element. - - - - Adds a object. - - The property to add to the collection. - - - - Gets the closest matching object. - First attempts to get an exact case match of propertyName and then - a case insensitive match. - - Name of the property. - A matching property if found. - - - - Gets a property by property name. - - The name of the property to get. - Type property name string comparison. - A matching property if found. - - - - Specifies missing member handling options for the . - - - - - Ignore a missing member and do not attempt to deserialize it. - - - - - Throw a when a missing member is encountered during deserialization. - - - - - Specifies null value handling options for the . - - - - - Include null values when serializing and deserializing objects. - - - - - Ignore null values when serializing and deserializing objects. - - - - - Specifies reference loop handling options for the . - - - - - Throw a when a loop is encountered. - - - - - Ignore loop references and do not serialize. - - - - - Serialize loop references. - - - - - An in-memory representation of a JSON Schema. - - - - - Initializes a new instance of the class. - - - - - Reads a from the specified . - - The containing the JSON Schema to read. - The object representing the JSON Schema. - - - - Reads a from the specified . - - The containing the JSON Schema to read. - The to use when resolving schema references. - The object representing the JSON Schema. - - - - Load a from a string that contains schema JSON. - - A that contains JSON. - A populated from the string that contains JSON. - - - - Parses the specified json. - - The json. - The resolver. - A populated from the string that contains JSON. - - - - Writes this schema to a . - - A into which this method will write. - - - - Writes this schema to a using the specified . - - A into which this method will write. - The resolver used. - - - - Returns a that represents the current . - - - A that represents the current . - - - - - Gets or sets the id. - - - - - Gets or sets the title. - - - - - Gets or sets whether the object is optional. - - - - - Gets or sets whether the object is read only. - - - - - Gets or sets whether the object is visible to users. - - - - - Gets or sets whether the object is transient. - - - - - Gets or sets the description of the object. - - - - - Gets or sets the types of values allowed by the object. - - The type. - - - - Gets or sets the pattern. - - The pattern. - - - - Gets or sets the minimum length. - - The minimum length. - - - - Gets or sets the maximum length. - - The maximum length. - - - - Gets or sets the maximum decimals. - - The maximum decimals. - - - - Gets or sets the minimum. - - The minimum. - - - - Gets or sets the maximum. - - The maximum. - - - - Gets or sets the minimum number of items. - - The minimum number of items. - - - - Gets or sets the maximum number of items. - - The maximum number of items. - - - - Gets or sets the of items. - - The of items. - - - - Gets or sets the of properties. - - The of properties. - - - - Gets or sets the of additional properties. - - The of additional properties. - - - - Gets or sets a value indicating whether additional properties are allowed. - - - true if additional properties are allowed; otherwise, false. - - - - - Gets or sets the required property if this property is present. - - The required property if this property is present. - - - - Gets or sets the identity. - - The identity. - - - - Gets or sets the a collection of valid enum values allowed. - - A collection of valid enum values allowed. - - - - Gets or sets a collection of options. - - A collection of options. - - - - Gets or sets disallowed types. - - The disallow types. - - - - Gets or sets the default value. - - The default value. - - - - Gets or sets the extend . - - The extended . - - - - Gets or sets the format. - - The format. - - - - Generates a from a specified . - - - - - Generate a from the specified type. - - The type to generate a from. - A generated from the specified type. - - - - Generate a from the specified type. - - The type to generate a from. - The used to resolve schema references. - A generated from the specified type. - - - - Generate a from the specified type. - - The type to generate a from. - Specify whether the generated root will be nullable. - A generated from the specified type. - - - - Generate a from the specified type. - - The type to generate a from. - The used to resolve schema references. - Specify whether the generated root will be nullable. - A generated from the specified type. - - - - Gets or sets how undefined schemas are handled by the serializer. - - - - - Gets or sets the contract resolver. - - The contract resolver. - - - - The value types allowed by the . - - - - - No type specified. - - - - - String type. - - - - - Float type. - - - - - Integer type. - - - - - Boolean type. - - - - - Object type. - - - - - Array type. - - - - - Null type. - - - - - Any type. - - - - - Contract details for a used by the . - - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Gets or sets the object member serialization. - - The member object serialization. - - - - Gets the object's properties. - - The object's properties. - - - - Gets or sets the parametrized constructor used to create the object. - - The parametrized constructor. - - - - Contract details for a used by the . - - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Get and set values for a using reflection. - - - - - Initializes a new instance of the class. - - The member info. - - - - Sets the value. - - The target to set the value on. - The value to set on the target. - - - - Gets the value. - - The target to get the value from. - The value. - - - - When applied to a method, specifies that the method is called when an error occurs serializing an object. - - - - - Represents a method that constructs an object. - - - - - Specifies type name handling options for the . - - - - - Do not include the .NET type name when serializing types. - - - - - Include the .NET type name when serializing into a JSON object structure. - - - - - Include the .NET type name when serializing into a JSON array structure. - - - - - Include the .NET type name when the type of the object being serialized is not the same as its declared type. - - - - - Always include the .NET type name when serializing. - - - - - Converts the value to the specified type. - - The type to convert the value to. - The value to convert. - The converted type. - - - - Converts the value to the specified type. - - The type to convert the value to. - The value to convert. - The culture to use when converting. - The converted type. - - - - Converts the value to the specified type. - - The value to convert. - The culture to use when converting. - The type to convert the value to. - The converted type. - - - - Converts the value to the specified type. - - The type to convert the value to. - The value to convert. - The converted value if the conversion was successful or the default value of T if it failed. - - true if initialValue was converted successfully; otherwise, false. - - - - - Converts the value to the specified type. - - The type to convert the value to. - The value to convert. - The culture to use when converting. - The converted value if the conversion was successful or the default value of T if it failed. - - true if initialValue was converted successfully; otherwise, false. - - - - - Converts the value to the specified type. - - The value to convert. - The culture to use when converting. - The type to convert the value to. - The converted value if the conversion was successful or the default value of T if it failed. - - true if initialValue was converted successfully; otherwise, false. - - - - - Converts the value to the specified type. If the value is unable to be converted, the - value is checked whether it assignable to the specified type. - - The type to convert or cast the value to. - The value to convert. - The converted type. If conversion was unsuccessful, the initial value is returned if assignable to the target type - - - - Converts the value to the specified type. If the value is unable to be converted, the - value is checked whether it assignable to the specified type. - - The type to convert or cast the value to. - The value to convert. - The culture to use when converting. - The converted type. If conversion was unsuccessful, the initial value is returned if assignable to the target type - - - - Converts the value to the specified type. If the value is unable to be converted, the - value is checked whether it assignable to the specified type. - - The value to convert. - The culture to use when converting. - The type to convert or cast the value to. - - The converted type. If conversion was unsuccessful, the initial value - is returned if assignable to the target type. - - - - - Converts the value to the specified type. If the value is unable to be converted, the - value is checked whether it assignable to the specified type. - - The type to convert the value to. - The value to convert. - The converted value if the conversion was successful or the default value of T if it failed. - - true if initialValue was converted successfully or is assignable; otherwise, false. - - - - - Converts the value to the specified type. If the value is unable to be converted, the - value is checked whether it assignable to the specified type. - - The type to convert the value to. - The value to convert. - The culture to use when converting. - The converted value if the conversion was successful or the default value of T if it failed. - - true if initialValue was converted successfully or is assignable; otherwise, false. - - - - - Converts the value to the specified type. If the value is unable to be converted, the - value is checked whether it assignable to the specified type. - - The value to convert. - The culture to use when converting. - The type to convert the value to. - The converted value if the conversion was successful or the default value of T if it failed. - - true if initialValue was converted successfully or is assignable; otherwise, false. - - - - - Parses the specified enum member name, returning it's value. - - Name of the enum member. - - - - - Parses the specified enum member name, returning it's value. - - Name of the enum member. - If set to true ignore case. - - - - - Gets a dictionary of the names and values of an Enum type. - - - - - - Gets a dictionary of the names and values of an Enum type. - - - - - - Gets a dictionary of the names and values of an Enum type. - - The enum type to get names and values for. - - - - - Gets the maximum valid value of an Enum type. Flags enums are ORed. - - The type of the returned value. Must be assignable from the enum's underlying value type. - The enum type to get the maximum value for. - - - - - Specifies the type of Json token. - - - - - This is returned by the if a method has not been called. - - - - - An object start token. - - - - - An array start token. - - - - - A constructor start token. - - - - - An object property name. - - - - - A comment. - - - - - Raw JSON. - - - - - An interger. - - - - - A float. - - - - - A string. - - - - - A boolean. - - - - - A null token. - - - - - An undefined token. - - - - - An object end token. - - - - - An array end token. - - - - - A constructor end token. - - - - - A Date. - - - - - Byte data. - - - - - Specifies the state of the . - - - - - An exception has been thrown, which has left the in an invalid state. - You may call the method to put the in the Closed state. - Any other method calls results in an being thrown. - - - - - The method has been called. - - - - - An object is being written. - - - - - A array is being written. - - - - - A constructor is being written. - - - - - A property is being written. - - - - - A write method has not been called. - - - - - Specifies formatting options for the . - - - - - No special formatting is applied. This is the default. - - - - - Causes child objects to be indented according to the and settings. - - - - - Builds a string. Unlike StringBuilder this class lets you reuse it's internal buffer. - - - - - Determines whether the collection is null or empty. - - The collection. - - true if the collection is null or empty; otherwise, false. - - - - - Determines whether the collection is null or empty. - - The collection. - - true if the collection is null or empty; otherwise, false. - - - - - Determines whether the collection is null, empty or its contents are uninitialized values. - - The list. - - true if the collection is null or empty or its contents are uninitialized values; otherwise, false. - - - - - Makes a slice of the specified list in between the start and end indexes. - - The list. - The start index. - The end index. - A slice of the list. - - - - Makes a slice of the specified list in between the start and end indexes, - getting every so many items based upon the step. - - The list. - The start index. - The end index. - The step. - A slice of the list. - - - - Group the collection using a function which returns the key. - - The source collection to group. - The key selector. - A Dictionary with each key relating to a list of objects in a list grouped under it. - - - - Adds the elements of the specified collection to the specified generic IList. - - The list to add to. - The collection of elements to add. - - - - Gets the type of the typed collection's items. - - The type. - The type of the typed collection's items. - - - - Tests whether the list's items are their unitialized value. - - The list. - Whether the list's items are their unitialized value - - - - Gets the member's underlying type. - - The member. - The underlying type of the member. - - - - Determines whether the member is an indexed property. - - The member. - - true if the member is an indexed property; otherwise, false. - - - - - Determines whether the property is an indexed property. - - The property. - - true if the property is an indexed property; otherwise, false. - - - - - Gets the member's value on the object. - - The member. - The target object. - The member's value on the object. - - - - Sets the member's value on the target object. - - The member. - The target. - The value. - - - - Determines whether the specified MemberInfo can be read. - - The MemberInfo to determine whether can be read. - /// if set to true then allow the member to be gotten non-publicly. - - true if the specified MemberInfo can be read; otherwise, false. - - - - - Determines whether the specified MemberInfo can be set. - - The MemberInfo to determine whether can be set. - if set to true then allow the member to be set non-publicly. - - true if the specified MemberInfo can be set; otherwise, false. - - - - - Determines whether the string contains white space. - - The string to test for white space. - - true if the string contains white space; otherwise, false. - - - - - Determines whether the string is all white space. Empty string will return false. - - The string to test whether it is all white space. - - true if the string is all white space; otherwise, false. - - - - - Ensures the target string ends with the specified string. - - The target. - The value. - The target string with the value string at the end. - - - - Perform an action if the string is not null or empty. - - The value. - The action to perform. - - - - Indents the specified string. - - The string to indent. - The number of characters to indent by. - - - - - Indents the specified string. - - The string to indent. - The number of characters to indent by. - The indent character. - - - - - Numbers the lines. - - The string to number. - - - - - Nulls an empty string. - - The string. - Null if the string was null, otherwise the string unchanged. - - - diff --git a/lib/Symbiote.JsonRpc.Client/Symbiote.Core.dll b/lib/Symbiote.JsonRpc.Client/Symbiote.Core.dll deleted file mode 100644 index 425b69a..0000000 Binary files a/lib/Symbiote.JsonRpc.Client/Symbiote.Core.dll and /dev/null differ diff --git a/lib/Symbiote.JsonRpc.Client/Symbiote.Core.pdb b/lib/Symbiote.JsonRpc.Client/Symbiote.Core.pdb deleted file mode 100644 index 9e4470a..0000000 Binary files a/lib/Symbiote.JsonRpc.Client/Symbiote.Core.pdb and /dev/null differ diff --git a/lib/Symbiote.JsonRpc.Client/Symbiote.JsonRpc.Client.dll b/lib/Symbiote.JsonRpc.Client/Symbiote.JsonRpc.Client.dll deleted file mode 100644 index 4467f5b..0000000 Binary files a/lib/Symbiote.JsonRpc.Client/Symbiote.JsonRpc.Client.dll and /dev/null differ diff --git a/lib/Symbiote.JsonRpc.Client/Symbiote.JsonRpc.Client.pdb b/lib/Symbiote.JsonRpc.Client/Symbiote.JsonRpc.Client.pdb deleted file mode 100644 index 1e7ac16..0000000 Binary files a/lib/Symbiote.JsonRpc.Client/Symbiote.JsonRpc.Client.pdb and /dev/null differ diff --git a/lib/Symbiote.JsonRpc.Host/Microsoft.Practices.ServiceLocation.dll b/lib/Symbiote.JsonRpc.Host/Microsoft.Practices.ServiceLocation.dll deleted file mode 100644 index 3f88954..0000000 Binary files a/lib/Symbiote.JsonRpc.Host/Microsoft.Practices.ServiceLocation.dll and /dev/null differ diff --git a/lib/Symbiote.JsonRpc.Host/Microsoft.Practices.ServiceLocation.xml b/lib/Symbiote.JsonRpc.Host/Microsoft.Practices.ServiceLocation.xml deleted file mode 100644 index 6c6f2fe..0000000 --- a/lib/Symbiote.JsonRpc.Host/Microsoft.Practices.ServiceLocation.xml +++ /dev/null @@ -1,280 +0,0 @@ - - - - Microsoft.Practices.ServiceLocation - - - - - The standard exception thrown when a ServiceLocator has an error in resolving an object. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class with a specified error message. - - - The message that describes the error. - - - - - Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. - - - The error message that explains the reason for the exception. - - - The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. - - - - - Initializes a new instance of the class with serialized data. - - - The that holds the serialized object data about the exception being thrown. - - - The that contains contextual information about the source or destination. - - - The parameter is null. - - - The class name is null or is zero (0). - - - - - The generic Service Locator interface. This interface is used - to retrieve services (instances identified by type and optional - name) from a container. - - - - - Get an instance of the given . - - Type of object requested. - if there is an error resolving - the service instance. - The requested service instance. - - - - Get an instance of the given named . - - Type of object requested. - Name the object was registered with. - if there is an error resolving - the service instance. - The requested service instance. - - - - Get all instances of the given currently - registered in the container. - - Type of object requested. - if there is are errors resolving - the service instance. - A sequence of instances of the requested . - - - - Get an instance of the given . - - Type of object requested. - if there is are errors resolving - the service instance. - The requested service instance. - - - - Get an instance of the given named . - - Type of object requested. - Name the object was registered with. - if there is are errors resolving - the service instance. - The requested service instance. - - - - Get all instances of the given currently - registered in the container. - - Type of object requested. - if there is are errors resolving - the service instance. - A sequence of instances of the requested . - - - - A strongly-typed resource class, for looking up localized strings, etc. - - - - - Returns the cached ResourceManager instance used by this class. - - - - - Overrides the current thread's CurrentUICulture property for all - resource lookups using this strongly typed resource class. - - - - - Looks up a localized string similar to Activation error occured while trying to get all instances of type {0}. - - - - - Looks up a localized string similar to Activation error occured while trying to get instance of type {0}, key "{1}". - - - - - This class provides the ambient container for this application. If your - framework defines such an ambient container, use ServiceLocator.Current - to get it. - - - - - Set the delegate that is used to retrieve the current container. - - Delegate that, when called, will return - the current ambient container. - - - - The current ambient container. - - - - - This class is a helper that provides a default implementation - for most of the methods of . - - - - - Implementation of . - - The requested service. - if there is an error in resolving the service instance. - The requested object. - - - - Get an instance of the given . - - Type of object requested. - if there is an error resolving - the service instance. - The requested service instance. - - - - Get an instance of the given named . - - Type of object requested. - Name the object was registered with. - if there is an error resolving - the service instance. - The requested service instance. - - - - Get all instances of the given currently - registered in the container. - - Type of object requested. - if there is are errors resolving - the service instance. - A sequence of instances of the requested . - - - - Get an instance of the given . - - Type of object requested. - if there is are errors resolving - the service instance. - The requested service instance. - - - - Get an instance of the given named . - - Type of object requested. - Name the object was registered with. - if there is are errors resolving - the service instance. - The requested service instance. - - - - Get all instances of the given currently - registered in the container. - - Type of object requested. - if there is are errors resolving - the service instance. - A sequence of instances of the requested . - - - - When implemented by inheriting classes, this method will do the actual work of resolving - the requested service instance. - - Type of instance requested. - Name of registered service you want. May be null. - The requested service instance. - - - - When implemented by inheriting classes, this method will do the actual work of - resolving all the requested service instances. - - Type of service requested. - Sequence of service instance objects. - - - - Format the exception message for use in an - that occurs while resolving a single service. - - The actual exception thrown by the implementation. - Type of service requested. - Name requested. - The formatted exception message string. - - - - Format the exception message for use in an - that occurs while resolving multiple service instances. - - The actual exception thrown by the implementation. - Type of service requested. - The formatted exception message string. - - - - This delegate type is used to provide a method that will - return the current container. Used with the - static accessor class. - - An . - - - diff --git a/lib/Symbiote.JsonRpc.Host/Newtonsoft.Json.dll b/lib/Symbiote.JsonRpc.Host/Newtonsoft.Json.dll deleted file mode 100644 index 4703b89..0000000 Binary files a/lib/Symbiote.JsonRpc.Host/Newtonsoft.Json.dll and /dev/null differ diff --git a/lib/Symbiote.JsonRpc.Host/Newtonsoft.Json.pdb b/lib/Symbiote.JsonRpc.Host/Newtonsoft.Json.pdb deleted file mode 100644 index df5da99..0000000 Binary files a/lib/Symbiote.JsonRpc.Host/Newtonsoft.Json.pdb and /dev/null differ diff --git a/lib/Symbiote.JsonRpc.Host/Newtonsoft.Json.xml b/lib/Symbiote.JsonRpc.Host/Newtonsoft.Json.xml deleted file mode 100644 index e5e3da7..0000000 --- a/lib/Symbiote.JsonRpc.Host/Newtonsoft.Json.xml +++ /dev/null @@ -1,6364 +0,0 @@ - - - - Newtonsoft.Json - - - - - Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. - - - - - Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. - - - - - Initializes a new instance of the class with the specified . - - - - - Reads the next JSON token from the stream. - - true if the next token was read successfully; false if there are no more tokens to read. - - - - Reads the next JSON token from the stream as a . - - A or a null reference if the next JSON token is null. - - - - Skips the children of the current token. - - - - - Sets the current token. - - The new token. - - - - Sets the current token and value. - - The new token. - The value. - - - - Sets the state based on current token type. - - - - - Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. - - - - - Releases unmanaged and - optionally - managed resources - - true to release both managed and unmanaged resources; false to release only unmanaged resources. - - - - Changes the to Closed. - - - - - Gets the current reader state. - - The current reader state. - - - - Gets the quotation mark character used to enclose the value of a string. - - - - - Gets the type of the current Json token. - - - - - Gets the text value of the current Json token. - - - - - Gets The Common Language Runtime (CLR) type for the current Json token. - - - - - Gets the depth of the current token in the JSON document. - - The depth of the current token in the JSON document. - - - - Specifies the state of the reader. - - - - - The Read method has not been called. - - - - - The end of the file has been reached successfully. - - - - - Reader is at a property. - - - - - Reader is at the start of an object. - - - - - Reader is in an object. - - - - - Reader is at the start of an array. - - - - - Reader is in an array. - - - - - The Close method has been called. - - - - - Reader has just read a value. - - - - - Reader is at the start of a constructor. - - - - - Reader in a constructor. - - - - - An error occurred that prevents the read operation from continuing. - - - - - The end of the file has been reached successfully. - - - - - Initializes a new instance of the class. - - The stream. - - - - Initializes a new instance of the class. - - The stream. - if set to true the root object will be read as a JSON array. - The used when reading values from BSON. - - - - Reads the next JSON token from the stream as a . - - - A or a null reference if the next JSON token is null. - - - - - Reads the next JSON token from the stream. - - - true if the next token was read successfully; false if there are no more tokens to read. - - - - - Gets or sets a value indicating whether the root object will be read as a JSON array. - - - true if the root object will be read as a JSON array; otherwise, false. - - - - - Gets or sets the used when reading values from BSON. - - The used when reading values from BSON. - - - - Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. - - - - - Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. - - - - - Creates an instance of the JsonWriter class. - - - - - Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. - - - - - Closes this stream and the underlying stream. - - - - - Writes the beginning of a Json object. - - - - - Writes the end of a Json object. - - - - - Writes the beginning of a Json array. - - - - - Writes the end of an array. - - - - - Writes the start of a constructor with the given name. - - The name of the constructor. - - - - Writes the end constructor. - - - - - Writes the property name of a name/value pair on a Json object. - - The name of the property. - - - - Writes the end of the current Json object or array. - - - - - Writes the current token. - - The to read the token from. - - - - Writes the specified end token. - - The end token to write. - - - - Writes indent characters. - - - - - Writes the JSON value delimiter. - - - - - Writes an indent space. - - - - - Writes a null value. - - - - - Writes an undefined value. - - - - - Writes raw JSON without changing the writer's state. - - The raw JSON to write. - - - - Writes raw JSON where a value is expected and updates the writer's state. - - The raw JSON to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - An error will raised if the value cannot be written as a single JSON token. - - The value to write. - - - - Writes out a comment /*...*/ containing the specified text. - - Text to place inside the comment. - - - - Writes out the given white space. - - The string of white space characters. - - - - Gets the top. - - The top. - - - - Gets the state of the writer. - - - - - Indicates how the output is formatted. - - - - - Initializes a new instance of the class. - - The stream. - - - - Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. - - - - - Writes the end. - - The token. - - - - Writes out a comment /*...*/ containing the specified text. - - Text to place inside the comment. - - - - Writes the start of a constructor with the given name. - - The name of the constructor. - - - - Writes raw JSON. - - The raw JSON to write. - - - - Writes raw JSON where a value is expected and updates the writer's state. - - The raw JSON to write. - - - - Writes the beginning of a Json array. - - - - - Writes the beginning of a Json object. - - - - - Writes the property name of a name/value pair on a Json object. - - The name of the property. - - - - Writes a null value. - - - - - Writes an undefined value. - - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value that represents a BSON object id. - - - - - - Writes a BSON regex. - - The regex pattern. - The regex options. - - - - Gets or sets the used when writing values to BSON. - When set to no conversion will occur. - - The used when writing values to BSON. - - - - Represents a BSON Oid (object id). - - - - - Initializes a new instance of the class. - - The Oid value. - - - - Gets or sets the value of the Oid. - - The value of the Oid. - - - - Converts a binary value to and from a base 64 string value. - - - - - Converts an object to and from JSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Gets the of the JSON produced by the JsonConverter. - - The of the JSON produced by the JsonConverter. - - - - Gets a value indicating whether this can read JSON. - - true if this can read JSON; otherwise, false. - - - - Gets a value indicating whether this can write JSON. - - true if this can write JSON; otherwise, false. - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Converts a to and from JSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified value type. - - Type of the value. - - true if this instance can convert the specified value type; otherwise, false. - - - - - Converts a to and from JSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified value type. - - Type of the value. - - true if this instance can convert the specified value type; otherwise, false. - - - - - Create a custom object - - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Creates an object which will then be populated by the serializer. - - Type of the object. - - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Gets a value indicating whether this can write JSON. - - - true if this can write JSON; otherwise, false. - - - - - Provides a base class for converting a to and from JSON. - - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Converts an Entity Framework EntityKey to and from JSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Converts a to and from JSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Converts a to and from JSON and BSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Converts a to and from JSON and BSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Converts an to and from its name string value. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Specifies how constructors are used when initializing objects during deserialization by the . - - - - - First attempt to use the public default constructor then fall back to single paramatized constructor. - - - - - Allow Json.NET to use a non-public default constructor. - - - - - Represents a raw JSON string. - - - - - Represents a value in JSON (string, integer, date, etc). - - - - - Represents an abstract JSON token. - - - - - Represents a collection of objects. - - The type of token - - - - Gets the with the specified key. - - - - - - Provides an interface to enable a class to return line and position information. - - - - - Gets a value indicating whether the class can return line information. - - - true if LineNumber and LinePosition can be provided; otherwise, false. - - - - - Gets the current line number. - - The current line number or 0 if no line information is available (for example, HasLineInfo returns false). - - - - Gets the current line position. - - The current line position or 0 if no line information is available (for example, HasLineInfo returns false). - - - - Compares the values of two tokens, including the values of all descendant tokens. - - The first to compare. - The second to compare. - true if the tokens are equal; otherwise false. - - - - Adds the specified content immediately after this token. - - A content object that contains simple content or a collection of content objects to be added after this token. - - - - Adds the specified content immediately before this token. - - A content object that contains simple content or a collection of content objects to be added before this token. - - - - Returns a collection of the ancestor tokens of this token. - - A collection of the ancestor tokens of this token. - - - - Returns a collection of the sibling tokens after this token, in document order. - - A collection of the sibling tokens after this tokens, in document order. - - - - Returns a collection of the sibling tokens before this token, in document order. - - A collection of the sibling tokens before this token, in document order. - - - - Gets the with the specified key converted to the specified type. - - The type to convert the token to. - The token key. - The converted token value. - - - - Returns a collection of the child tokens of this token, in document order. - - An of containing the child tokens of this , in document order. - - - - Returns a collection of the child tokens of this token, in document order, filtered by the specified type. - - The type to filter the child tokens on. - A containing the child tokens of this , in document order. - - - - Returns a collection of the child values of this token, in document order. - - The type to convert the values to. - A containing the child values of this , in document order. - - - - Removes this token from its parent. - - - - - Replaces this token with the specified token. - - The value. - - - - Writes this token to a . - - A into which this method will write. - A collection of which will be used when writing the token. - - - - Returns the indented JSON for this token. - - - The indented JSON for this token. - - - - - Returns the JSON for this token using the given formatting and converters. - - Indicates how the output is formatted. - A collection of which will be used when writing the token. - The JSON for this token using the given formatting and converters. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Creates an for this token. - - An that can be used to read this token and its descendants. - - - - Creates a from an object. - - The object that will be used to create . - A with the value of the specified object - - - - Creates a from an object using the specified . - - The object that will be used to create . - The that will be used when reading the object. - A with the value of the specified object - - - - Creates a from a . - - An positioned at the token to read into this . - - An that contains the token and its descendant tokens - that were read from the reader. The runtime type of the token is determined - by the token type of the first token encountered in the reader. - - - - - Selects the token that matches the object path. - - - The object path from the current to the - to be returned. This must be a string of property names or array indexes separated - by periods, such as Tables[0].DefaultView[0].Price in C# or - Tables(0).DefaultView(0).Price in Visual Basic. - - The that matches the object path or a null reference if no matching token is found. - - - - Selects the token that matches the object path. - - - The object path from the current to the - to be returned. This must be a string of property names or array indexes separated - by periods, such as Tables[0].DefaultView[0].Price in C# or - Tables(0).DefaultView(0).Price in Visual Basic. - - A flag to indicate whether an error should be thrown if no token is found. - The that matches the object path. - - - - Gets a comparer that can compare two tokens for value equality. - - A that can compare two nodes for value equality. - - - - Gets or sets the parent. - - The parent. - - - - Gets the root of this . - - The root of this . - - - - Gets the node type for this . - - The type. - - - - Gets a value indicating whether this token has childen tokens. - - - true if this token has child values; otherwise, false. - - - - - Gets the next sibling token of this node. - - The that contains the next sibling token. - - - - Gets the previous sibling token of this node. - - The that contains the previous sibling token. - - - - Gets the with the specified key. - - The with the specified key. - - - - Get the first child token of this token. - - A containing the first child token of the . - - - - Get the last child token of this token. - - A containing the last child token of the . - - - - Initializes a new instance of the class from another object. - - A object to copy from. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Creates a comment with the given value. - - The value. - A comment with the given value. - - - - Creates a string with the given value. - - The value. - A string with the given value. - - - - Writes this token to a . - - A into which this method will write. - A collection of which will be used when writing the token. - - - - Indicates whether the current object is equal to another object of the same type. - - - true if the current object is equal to the parameter; otherwise, false. - - An object to compare with this object. - - - - Determines whether the specified is equal to the current . - - The to compare with the current . - - true if the specified is equal to the current ; otherwise, false. - - - The parameter is null. - - - - - Serves as a hash function for a particular type. - - - A hash code for the current . - - - - - Gets a value indicating whether this token has childen tokens. - - - true if this token has child values; otherwise, false. - - - - - Gets the node type for this . - - The type. - - - - Gets or sets the underlying token value. - - The underlying token value. - - - - Initializes a new instance of the class from another object. - - A object to copy from. - - - - Initializes a new instance of the class. - - The raw json. - - - - Creates an instance of with the content of the reader's current token. - - The reader. - An instance of with the content of the reader's current token. - - - - Indicating whether a property is required. - - - - - The property is not required. The default state. - - - - - The property must be defined in JSON but can be a null value. - - - - - The property must be defined in JSON and cannot be a null value. - - - - - Contract details for a used by the . - - - - - Contract details for a used by the . - - - - - Gets the underlying type for the contract. - - The underlying type for the contract. - - - - Gets or sets the type created during deserialization. - - The type created during deserialization. - - - - Gets or sets whether this type contract is serialized as a reference. - - Whether this type contract is serialized as a reference. - - - - Gets or sets the default for this contract. - - The converter. - - - - Gets or sets the method called immediately after deserialization of the object. - - The method called immediately after deserialization of the object. - - - - Gets or sets the method called during deserialization of the object. - - The method called during deserialization of the object. - - - - Gets or sets the method called after serialization of the object graph. - - The method called after serialization of the object graph. - - - - Gets or sets the method called before serialization of the object. - - The method called before serialization of the object. - - - - Gets or sets the default creator method used to create the object. - - The default creator method used to create the object. - - - - Gets or sets a value indicating whether [default creator non public]. - - true if the default object creator is non-public; otherwise, false. - - - - Gets or sets the method called when an error is thrown during the serialization of the object. - - The method called when an error is thrown during the serialization of the object. - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Gets or sets the ISerializable object constructor. - - The ISerializable object constructor. - - - - Contract details for a used by the . - - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Contract details for a used by the . - - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Get and set values for a using dynamic methods. - - - - - Provides methods to get and set values. - - - - - Sets the value. - - The target to set the value on. - The value to set on the target. - - - - Gets the value. - - The target to get the value from. - The value. - - - - Initializes a new instance of the class. - - The member info. - - - - Sets the value. - - The target to set the value on. - The value to set on the target. - - - - Gets the value. - - The target to get the value from. - The value. - - - - Provides data for the Error event. - - - - - Initializes a new instance of the class. - - The current object. - The error context. - - - - Gets the current object the error event is being raised against. - - The current object the error event is being raised against. - - - - Gets the error context. - - The error context. - - - - Represents a view of a . - - - - - Initializes a new instance of the class. - - The name. - Type of the property. - - - - When overridden in a derived class, returns whether resetting an object changes its value. - - - true if resetting the component changes its value; otherwise, false. - - The component to test for reset capability. - - - - - When overridden in a derived class, gets the current value of the property on a component. - - - The value of a property for a given component. - - The component with the property for which to retrieve the value. - - - - - When overridden in a derived class, resets the value for this property of the component to the default value. - - The component with the property value that is to be reset to the default value. - - - - - When overridden in a derived class, sets the value of the component to a different value. - - The component with the property value that is to be set. - The new value. - - - - - When overridden in a derived class, determines a value indicating whether the value of this property needs to be persisted. - - - true if the property should be persisted; otherwise, false. - - The component with the property to be examined for persistence. - - - - - When overridden in a derived class, gets the type of the component this property is bound to. - - - A that represents the type of component this property is bound to. When the or methods are invoked, the object specified might be an instance of this type. - - - - - When overridden in a derived class, gets a value indicating whether this property is read-only. - - - true if the property is read-only; otherwise, false. - - - - - When overridden in a derived class, gets the type of the property. - - - A that represents the type of the property. - - - - - Gets the hash code for the name of the member. - - - - The hash code for the name of the member. - - - - - Represents a view of a . - - - - - Initializes a new instance of the class. - - The value. - - - - Returns the properties for this instance of a component. - - - A that represents the properties for this component instance. - - - - - Returns the properties for this instance of a component using the attribute array as a filter. - - An array of type that is used as a filter. - - A that represents the filtered properties for this component instance. - - - - - Returns a collection of custom attributes for this instance of a component. - - - An containing the attributes for this object. - - - - - Returns the class name of this instance of a component. - - - The class name of the object, or null if the class does not have a name. - - - - - Returns the name of this instance of a component. - - - The name of the object, or null if the object does not have a name. - - - - - Returns a type converter for this instance of a component. - - - A that is the converter for this object, or null if there is no for this object. - - - - - Returns the default event for this instance of a component. - - - An that represents the default event for this object, or null if this object does not have events. - - - - - Returns the default property for this instance of a component. - - - A that represents the default property for this object, or null if this object does not have properties. - - - - - Returns an editor of the specified type for this instance of a component. - - A that represents the editor for this object. - - An of the specified type that is the editor for this object, or null if the editor cannot be found. - - - - - Returns the events for this instance of a component using the specified attribute array as a filter. - - An array of type that is used as a filter. - - An that represents the filtered events for this component instance. - - - - - Returns the events for this instance of a component. - - - An that represents the events for this component instance. - - - - - Returns an object that contains the property described by the specified property descriptor. - - A that represents the property whose owner is to be found. - - An that represents the owner of the specified property. - - - - - Used to resolve references when serializing and deserializing JSON by the . - - - - - Resolves a reference to its object. - - The reference to resolve. - The object that - - - - Gets the reference for the sepecified object. - - The object to get a reference for. - The reference to the object. - - - - Determines whether the specified object is referenced. - - The object to test for a reference. - - true if the specified object is referenced; otherwise, false. - - - - - Adds a reference to the specified object. - - The reference. - The object to reference. - - - - Specifies reference handling options for the . - - - - - Do not preserve references when serializing types. - - - - - Preserve references when serializing into a JSON object structure. - - - - - Preserve references when serializing into a JSON array structure. - - - - - Preserve references when serializing. - - - - - Instructs the how to serialize the collection. - - - - - Instructs the how to serialize the object. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class with the specified container Id. - - The container Id. - - - - Gets or sets the id. - - The id. - - - - Gets or sets the title. - - The title. - - - - Gets or sets the description. - - The description. - - - - Gets or sets a value that indicates whether to preserve object reference data. - - - true to keep object reference; otherwise, false. The default is false. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class with a flag indicating whether the array can contain null items - - A flag indicating whether the array can contain null items. - - - - Initializes a new instance of the class with the specified container Id. - - The container Id. - - - - Gets or sets a value indicating whether null items are allowed in the collection. - - true if null items are allowed in the collection; otherwise, false. - - - - Specifies default value handling options for the . - - - - - Include default values when serializing and deserializing objects. - - - - - Ignore default values when serializing and deserializing objects. - - - - - Instructs the to use the specified when serializing the member or class. - - - - - Initializes a new instance of the class. - - Type of the converter. - - - - Gets the type of the converter. - - The type of the converter. - - - - Instructs the how to serialize the object. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class with the specified member serialization. - - The member serialization. - - - - Initializes a new instance of the class with the specified container Id. - - The container Id. - - - - Gets or sets the member serialization. - - The member serialization. - - - - Specifies the settings on a object. - - - - - Initializes a new instance of the class. - - - - - Gets or sets how reference loops (e.g. a class referencing itself) is handled. - - Reference loop handling. - - - - Gets or sets how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. - - Missing member handling. - - - - Gets or sets how objects are created during deserialization. - - The object creation handling. - - - - Gets or sets how null values are handled during serialization and deserialization. - - Null value handling. - - - - Gets or sets how null default are handled during serialization and deserialization. - - The default value handling. - - - - Gets or sets a collection that will be used during serialization. - - The converters. - - - - Gets or sets how object references are preserved by the serializer. - - The preserve references handling. - - - - Gets or sets how type name writing and reading is handled by the serializer. - - The type name handling. - - - - Gets or sets how a type name assembly is written and resolved by the serializer. - - The type name assembly format. - - - - Gets or sets how constructors are used during deserialization. - - The constructor handling. - - - - Gets or sets the contract resolver used by the serializer when - serializing .NET objects to JSON and vice versa. - - The contract resolver. - - - - Gets or sets the used by the serializer when resolving references. - - The reference resolver. - - - - Gets or sets the used by the serializer when resolving type names. - - The binder. - - - - Gets or sets the error handler called during serialization and deserialization. - - The error handler called during serialization and deserialization. - - - - Gets or sets the used by the serializer when invoking serialization callback methods. - - The context. - - - - Represents a reader that provides validation. - - - - - Initializes a new instance of the class that - validates the content returned from the given . - - The to read from while validating. - - - - Reads the next JSON token from the stream as a . - - - A or a null reference if the next JSON token is null. - - - - - Reads the next JSON token from the stream. - - - true if the next token was read successfully; false if there are no more tokens to read. - - - - - Sets an event handler for receiving schema validation errors. - - - - - Gets the text value of the current Json token. - - - - - - Gets the depth of the current token in the JSON document. - - The depth of the current token in the JSON document. - - - - Gets the quotation mark character used to enclose the value of a string. - - - - - - Gets the type of the current Json token. - - - - - - Gets The Common Language Runtime (CLR) type for the current Json token. - - - - - - Gets or sets the schema. - - The schema. - - - - Gets the used to construct this . - - The specified in the constructor. - - - - Compares tokens to determine whether they are equal. - - - - - Determines whether the specified objects are equal. - - The first object of type to compare. - The second object of type to compare. - - true if the specified objects are equal; otherwise, false. - - - - - Returns a hash code for the specified object. - - The for which a hash code is to be returned. - A hash code for the specified object. - The type of is a reference type and is null. - - - - Specifies the member serialization options for the . - - - - - All members are serialized by default. Members can be excluded using the . - - - - - Only members must be marked with the are serialized. - - - - - Specifies how object creation is handled by the . - - - - - Reuse existing objects, create new objects when needed. - - - - - Only reuse existing objects. - - - - - Always create new objects. - - - - - Converts a to and from the ISO 8601 date format (e.g. 2008-04-12T12:53Z). - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Gets or sets the date time styles used when converting a date to and from JSON. - - The date time styles used when converting a date to and from JSON. - - - - Gets or sets the date time format used when converting a date to and from JSON. - - The date time format used when converting a date to and from JSON. - - - - Gets or sets the culture used when converting a date to and from JSON. - - The culture used when converting a date to and from JSON. - - - - Converts a to and from a JavaScript date constructor (e.g. new Date(52231943)). - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing property value of the JSON that is being converted. - The calling serializer. - The object value. - - - - Specifies whether a DateTime object represents a local time, a Coordinated Universal Time (UTC), or is not specified as either local time or UTC. - - - - - The time represented is local time. - - - - - The time represented is UTC. - - - - - The time represented is not specified as either local time or Coordinated Universal Time (UTC). - - - - - Preserves the DateTimeKind field of a date when a DateTime object is converted to a string and the string is then converted back to a DateTime object. - - - - - Converts an to and from JSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The calling serializer. - The value. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Checks if the attributeName is a namespace attribute. - - Attribute name to test. - The attribute name prefix if it has one, otherwise an empty string. - True if attribute name is for a namespace attribute, otherwise false. - - - - Determines whether this instance can convert the specified value type. - - Type of the value. - - true if this instance can convert the specified value type; otherwise, false. - - - - - Gets or sets the name of the root element to insert when deserializing to XML if the JSON structure has produces multiple root elements. - - The name of the deserialize root element. - - - - Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. - - - - - Initializes a new instance of the class with the specified . - - The TextReader containing the XML data to read. - - - - Reads the next JSON token from the stream. - - - true if the next token was read successfully; false if there are no more tokens to read. - - - - - Reads the next JSON token from the stream as a . - - - A or a null reference if the next JSON token is null. - - - - - Changes the state to closed. - - - - - Gets a value indicating whether the class can return line information. - - - true if LineNumber and LinePosition can be provided; otherwise, false. - - - - - Gets the current line number. - - - The current line number or 0 if no line information is available (for example, HasLineInfo returns false). - - - - - Gets the current line position. - - - The current line position or 0 if no line information is available (for example, HasLineInfo returns false). - - - - - Instructs the to always serialize the member with the specified name. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class with the specified name. - - Name of the property. - - - - Gets or sets the null value handling used when serializing this property. - - The null value handling. - - - - Gets or sets the default value handling used when serializing this property. - - The default value handling. - - - - Gets or sets the reference loop handling used when serializing this property. - - The reference loop handling. - - - - Gets or sets the object creation handling used when deserializing this property. - - The object creation handling. - - - - Gets or sets the type name handling used when serializing this property. - - The type name handling. - - - - Gets or sets whether this property's value is serialized as a reference. - - Whether this property's value is serialized as a reference. - - - - Gets or sets the name of the property. - - The name of the property. - - - - Gets or sets a value indicating whether this property is required. - - - A value indicating whether this property is required. - - - - - Instructs the not to serialize the public field or public read/write property value. - - - - - Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. - - - - - Creates an instance of the JsonWriter class using the specified . - - The TextWriter to write to. - - - - Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. - - - - - Closes this stream and the underlying stream. - - - - - Writes the beginning of a Json object. - - - - - Writes the beginning of a Json array. - - - - - Writes the start of a constructor with the given name. - - The name of the constructor. - - - - Writes the specified end token. - - The end token to write. - - - - Writes the property name of a name/value pair on a Json object. - - The name of the property. - - - - Writes indent characters. - - - - - Writes the JSON value delimiter. - - - - - Writes an indent space. - - - - - Writes a null value. - - - - - Writes an undefined value. - - - - - Writes raw JSON. - - The raw JSON to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes out a comment /*...*/ containing the specified text. - - Text to place inside the comment. - - - - Writes out the given white space. - - The string of white space characters. - - - - Gets or sets how many IndentChars to write for each level in the hierarchy when is set to Formatting.Indented. - - - - - Gets or sets which character to use to quote attribute values. - - - - - Gets or sets which character to use for indenting when is set to Formatting.Indented. - - - - - Gets or sets a value indicating whether object names will be surrounded with quotes. - - - - - The exception thrown when an error occurs while reading Json text. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class - with a specified error message. - - The error message that explains the reason for the exception. - - - - Initializes a new instance of the class - with a specified error message and a reference to the inner exception that is the cause of this exception. - - The error message that explains the reason for the exception. - The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. - - - - The exception thrown when an error occurs while reading Json text. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class - with a specified error message. - - The error message that explains the reason for the exception. - - - - Initializes a new instance of the class - with a specified error message and a reference to the inner exception that is the cause of this exception. - - The error message that explains the reason for the exception. - The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. - - - - Gets the line number indicating where the error occurred. - - The line number indicating where the error occurred. - - - - Gets the line position indicating where the error occurred. - - The line position indicating where the error occurred. - - - - Represents a collection of . - - - - - Provides methods for converting between common language runtime types and JSON types. - - - - - Represents JavaScript's boolean value true as a string. This field is read-only. - - - - - Represents JavaScript's boolean value false as a string. This field is read-only. - - - - - Represents JavaScript's null as a string. This field is read-only. - - - - - Represents JavaScript's undefined as a string. This field is read-only. - - - - - Represents JavaScript's positive infinity as a string. This field is read-only. - - - - - Represents JavaScript's negative infinity as a string. This field is read-only. - - - - - Represents JavaScript's NaN as a string. This field is read-only. - - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - The string delimiter character. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Serializes the specified object to a JSON string. - - The object to serialize. - A JSON string representation of the object. - - - - Serializes the specified object to a JSON string. - - The object to serialize. - Indicates how the output is formatted. - - A JSON string representation of the object. - - - - - Serializes the specified object to a JSON string using a collection of . - - The object to serialize. - A collection converters used while serializing. - A JSON string representation of the object. - - - - Serializes the specified object to a JSON string using a collection of . - - The object to serialize. - Indicates how the output is formatted. - A collection converters used while serializing. - A JSON string representation of the object. - - - - Serializes the specified object to a JSON string using a collection of . - - The object to serialize. - Indicates how the output is formatted. - The used to serialize the object. - If this is null, default serialization settings will be is used. - - A JSON string representation of the object. - - - - - Deserializes the specified object to a Json object. - - The object to deserialize. - The deserialized object from the Json string. - - - - Deserializes the specified object to a Json object. - - The object to deserialize. - The of object being deserialized. - The deserialized object from the Json string. - - - - Deserializes the specified object to a Json object. - - The type of the object to deserialize. - The object to deserialize. - The deserialized object from the Json string. - - - - Deserializes the specified JSON to the given anonymous type. - - - The anonymous type to deserialize to. This can't be specified - traditionally and must be infered from the anonymous type passed - as a parameter. - - The object to deserialize. - The anonymous type object. - The deserialized anonymous type from the JSON string. - - - - Deserializes the JSON string to the specified type. - - The type of the object to deserialize. - The object to deserialize. - Converters to use while deserializing. - The deserialized object from the JSON string. - - - - Deserializes the JSON string to the specified type. - - The type of the object to deserialize. - The object to deserialize. - - The used to deserialize the object. - If this is null, default serialization settings will be is used. - - The deserialized object from the JSON string. - - - - Deserializes the JSON string to the specified type. - - The object to deserialize. - The type of the object to deserialize. - Converters to use while deserializing. - The deserialized object from the JSON string. - - - - Deserializes the JSON string to the specified type. - - The JSON to deserialize. - The type of the object to deserialize. - - The used to deserialize the object. - If this is null, default serialization settings will be is used. - - The deserialized object from the JSON string. - - - - Populates the object with values from the JSON string. - - The JSON to populate values from. - The target object to populate values onto. - - - - Populates the object with values from the JSON string. - - The JSON to populate values from. - The target object to populate values onto. - - The used to deserialize the object. - If this is null, default serialization settings will be is used. - - - - - Serializes the to a JSON string. - - The node to convert to JSON. - A JSON string of the XNode. - - - - Serializes the to a JSON string. - - The node to convert to JSON. - Indicates how the output is formatted. - A JSON string of the XNode. - - - - Deserializes the from a JSON string. - - The JSON string. - The deserialized XNode - - - - Deserializes the from a JSON string nested in a root elment. - - The JSON string. - The name of the root element to append when deserializing. - The deserialized XNode - - - - Serializes the XML node to a JSON string. - - The node to serialize. - A JSON string of the XmlNode. - - - - Serializes the XML node to a JSON string. - - The node to serialize. - Indicates how the output is formatted. - A JSON string of the XmlNode. - - - - Deserializes the XmlNode from a JSON string. - - The JSON string. - The deserialized XmlNode - - - - Deserializes the XmlNode from a JSON string nested in a root elment. - - The JSON string. - The name of the root element to append when deserializing. - The deserialized XmlNode - - - - The exception thrown when an error occurs during Json serialization or deserialization. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class - with a specified error message. - - The error message that explains the reason for the exception. - - - - Initializes a new instance of the class - with a specified error message and a reference to the inner exception that is the cause of this exception. - - The error message that explains the reason for the exception. - The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. - - - - Serializes and deserializes objects into and from the JSON format. - The enables you to control how objects are encoded into JSON. - - - - - Initializes a new instance of the class. - - - - - Creates a new instance using the specified . - - The settings to be applied to the . - A new instance using the specified . - - - - Populates the JSON values onto the target object. - - The that contains the JSON structure to reader values from. - The target object to populate values onto. - - - - Populates the JSON values onto the target object. - - The that contains the JSON structure to reader values from. - The target object to populate values onto. - - - - Deserializes the Json structure contained by the specified . - - The that contains the JSON structure to deserialize. - The being deserialized. - - - - Deserializes the Json structure contained by the specified - into an instance of the specified type. - - The containing the object. - The of object being deserialized. - The instance of being deserialized. - - - - Deserializes the Json structure contained by the specified - into an instance of the specified type. - - The containing the object. - The type of the object to deserialize. - The instance of being deserialized. - - - - Deserializes the Json structure contained by the specified - into an instance of the specified type. - - The containing the object. - The of object being deserialized. - The instance of being deserialized. - - - - Serializes the specified and writes the Json structure - to a Stream using the specified . - - The used to write the Json structure. - The to serialize. - - - - Serializes the specified and writes the Json structure - to a Stream using the specified . - - The used to write the Json structure. - The to serialize. - - - - Occurs when the errors during serialization and deserialization. - - - - - Gets or sets the used by the serializer when resolving references. - - - - - Gets or sets the used by the serializer when resolving type names. - - - - - Gets or sets how type name writing and reading is handled by the serializer. - - - - - Gets or sets how a type name assembly is written and resolved by the serializer. - - The type name assembly format. - - - - Gets or sets how object references are preserved by the serializer. - - - - - Get or set how reference loops (e.g. a class referencing itself) is handled. - - - - - Get or set how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. - - - - - Get or set how null values are handled during serialization and deserialization. - - - - - Get or set how null default are handled during serialization and deserialization. - - - - - Gets or sets how objects are created during deserialization. - - The object creation handling. - - - - Gets or sets how constructors are used during deserialization. - - The constructor handling. - - - - Gets a collection that will be used during serialization. - - Collection that will be used during serialization. - - - - Gets or sets the contract resolver used by the serializer when - serializing .NET objects to JSON and vice versa. - - - - - Gets or sets the used by the serializer when invoking serialization callback methods. - - The context. - - - - Contains the LINQ to JSON extension methods. - - - - - Returns a collection of tokens that contains the ancestors of every token in the source collection. - - The type of the objects in source, constrained to . - An of that contains the source collection. - An of that contains the ancestors of every node in the source collection. - - - - Returns a collection of tokens that contains the descendants of every token in the source collection. - - The type of the objects in source, constrained to . - An of that contains the source collection. - An of that contains the descendants of every node in the source collection. - - - - Returns a collection of child properties of every object in the source collection. - - An of that contains the source collection. - An of that contains the properties of every object in the source collection. - - - - Returns a collection of child values of every object in the source collection with the given key. - - An of that contains the source collection. - The token key. - An of that contains the values of every node in the source collection with the given key. - - - - Returns a collection of child values of every object in the source collection. - - An of that contains the source collection. - An of that contains the values of every node in the source collection. - - - - Returns a collection of converted child values of every object in the source collection with the given key. - - The type to convert the values to. - An of that contains the source collection. - The token key. - An that contains the converted values of every node in the source collection with the given key. - - - - Returns a collection of converted child values of every object in the source collection. - - The type to convert the values to. - An of that contains the source collection. - An that contains the converted values of every node in the source collection. - - - - Converts the value. - - The type to convert the value to. - A cast as a of . - A converted value. - - - - Converts the value. - - The source collection type. - The type to convert the value to. - A cast as a of . - A converted value. - - - - Returns a collection of child tokens of every array in the source collection. - - The source collection type. - An of that contains the source collection. - An of that contains the values of every node in the source collection. - - - - Returns a collection of converted child tokens of every array in the source collection. - - An of that contains the source collection. - The type to convert the values to. - The source collection type. - An that contains the converted values of every node in the source collection. - - - - Returns the input typed as . - - An of that contains the source collection. - The input typed as . - - - - Returns the input typed as . - - The source collection type. - An of that contains the source collection. - The input typed as . - - - - Represents a JSON constructor. - - - - - Represents a token that can contain other tokens. - - - - - Raises the event. - - The instance containing the event data. - - - - Raises the event. - - The instance containing the event data. - - - - Returns a collection of the child tokens of this token, in document order. - - - An of containing the child tokens of this , in document order. - - - - - Returns a collection of the child values of this token, in document order. - - The type to convert the values to. - - A containing the child values of this , in document order. - - - - - Returns a collection of the descendant tokens for this token in document order. - - An containing the descendant tokens of the . - - - - Adds the specified content as children of this . - - The content to be added. - - - - Adds the specified content as the first children of this . - - The content to be added. - - - - Creates an that can be used to add tokens to the . - - An that is ready to have content written to it. - - - - Replaces the children nodes of this token with the specified content. - - The content. - - - - Removes the child nodes from this token. - - - - - Occurs when the list changes or an item in the list changes. - - - - - Occurs before an item is added to the collection. - - - - - Gets a value indicating whether this token has childen tokens. - - - true if this token has child values; otherwise, false. - - - - - Get the first child token of this token. - - - A containing the first child token of the . - - - - - Get the last child token of this token. - - - A containing the last child token of the . - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class from another object. - - A object to copy from. - - - - Initializes a new instance of the class with the specified name and content. - - The constructor name. - The contents of the constructor. - - - - Initializes a new instance of the class with the specified name and content. - - The constructor name. - The contents of the constructor. - - - - Initializes a new instance of the class with the specified name. - - The constructor name. - - - - Writes this token to a . - - A into which this method will write. - A collection of which will be used when writing the token. - - - - Loads an from a . - - A that will be read for the content of the . - A that contains the JSON that was read from the specified . - - - - Gets or sets the name of this constructor. - - The constructor name. - - - - Gets the node type for this . - - The type. - - - - Gets the with the specified key. - - The with the specified key. - - - - Represents a collection of objects. - - The type of token - - - - An empty collection of objects. - - - - - Initializes a new instance of the struct. - - The enumerable. - - - - Returns an enumerator that iterates through the collection. - - - A that can be used to iterate through the collection. - - - - - Returns an enumerator that iterates through a collection. - - - An object that can be used to iterate through the collection. - - - - - Determines whether the specified is equal to this instance. - - The to compare with this instance. - - true if the specified is equal to this instance; otherwise, false. - - - - - Returns a hash code for this instance. - - - A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. - - - - - Gets the with the specified key. - - - - - - Represents a JSON object. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class from another object. - - A object to copy from. - - - - Initializes a new instance of the class with the specified content. - - The contents of the object. - - - - Initializes a new instance of the class with the specified content. - - The contents of the object. - - - - Gets an of this object's properties. - - An of this object's properties. - - - - Gets a the specified name. - - The property name. - A with the specified name or null. - - - - Gets an of this object's property values. - - An of this object's property values. - - - - Loads an from a . - - A that will be read for the content of the . - A that contains the JSON that was read from the specified . - - - - Load a from a string that contains JSON. - - A that contains JSON. - A populated from the string that contains JSON. - - - - Creates a from an object. - - The object that will be used to create . - A with the values of the specified object - - - - Creates a from an object. - - The object that will be used to create . - The that will be used to read the object. - A with the values of the specified object - - - - Writes this token to a . - - A into which this method will write. - A collection of which will be used when writing the token. - - - - Adds the specified property name. - - Name of the property. - The value. - - - - Removes the property with the specified name. - - Name of the property. - true if item was successfully removed; otherwise, false. - - - - Tries the get value. - - Name of the property. - The value. - true if a value was successfully retrieved; otherwise, false. - - - - Returns an enumerator that iterates through the collection. - - - A that can be used to iterate through the collection. - - - - - Raises the event with the provided arguments. - - Name of the property. - - - - Raises the event with the provided arguments. - - Name of the property. - - - - Occurs when a property value changes. - - - - - Occurs when a property value is changing. - - - - - Gets the node type for this . - - The type. - - - - Gets the with the specified key. - - The with the specified key. - - - - Gets or sets the with the specified property name. - - - - - - Gets the number of elements contained in the . - - - The number of elements contained in the . - - - - Represents a JSON array. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class from another object. - - A object to copy from. - - - - Initializes a new instance of the class with the specified content. - - The contents of the array. - - - - Initializes a new instance of the class with the specified content. - - The contents of the array. - - - - Loads an from a . - - A that will be read for the content of the . - A that contains the JSON that was read from the specified . - - - - Load a from a string that contains JSON. - - A that contains JSON. - A populated from the string that contains JSON. - - - - Creates a from an object. - - The object that will be used to create . - A with the values of the specified object - - - - Creates a from an object. - - The object that will be used to create . - The that will be used to read the object. - A with the values of the specified object - - - - Writes this token to a . - - A into which this method will write. - A collection of which will be used when writing the token. - - - - Determines the index of a specific item in the . - - The object to locate in the . - - The index of if found in the list; otherwise, -1. - - - - - Inserts an item to the at the specified index. - - The zero-based index at which should be inserted. - The object to insert into the . - - is not a valid index in the . - The is read-only. - - - - Removes the item at the specified index. - - The zero-based index of the item to remove. - - is not a valid index in the . - The is read-only. - - - - Adds an item to the . - - The object to add to the . - The is read-only. - - - - Removes all items from the . - - The is read-only. - - - - Determines whether the contains a specific value. - - The object to locate in the . - - true if is found in the ; otherwise, false. - - - - - Removes the first occurrence of a specific object from the . - - The object to remove from the . - - true if was successfully removed from the ; otherwise, false. This method also returns false if is not found in the original . - - The is read-only. - - - - Gets the node type for this . - - The type. - - - - Gets the with the specified key. - - The with the specified key. - - - - Gets or sets the at the specified index. - - - - - - Gets the number of elements contained in the . - - - The number of elements contained in the . - - - - Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. - - - - - Initializes a new instance of the class. - - The token to read from. - - - - Reads the next JSON token from the stream as a . - - - A or a null reference if the next JSON token is null. - - - - - Reads the next JSON token from the stream. - - - true if the next token was read successfully; false if there are no more tokens to read. - - - - - Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. - - - - - Initializes a new instance of the class writing to the given . - - The container being written to. - - - - Initializes a new instance of the class. - - - - - Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. - - - - - Closes this stream and the underlying stream. - - - - - Writes the beginning of a Json object. - - - - - Writes the beginning of a Json array. - - - - - Writes the start of a constructor with the given name. - - The name of the constructor. - - - - Writes the end. - - The token. - - - - Writes the property name of a name/value pair on a Json object. - - The name of the property. - - - - Writes a null value. - - - - - Writes an undefined value. - - - - - Writes raw JSON. - - The raw JSON to write. - - - - Writes out a comment /*...*/ containing the specified text. - - Text to place inside the comment. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Gets the token being writen. - - The token being writen. - - - - Represents a JSON property. - - - - - Initializes a new instance of the class from another object. - - A object to copy from. - - - - Returns a collection of the child tokens of this token, in document order. - - - An of containing the child tokens of this , in document order. - - - - - Initializes a new instance of the class. - - The property name. - The property content. - - - - Initializes a new instance of the class. - - The property name. - The property content. - - - - Writes this token to a . - - A into which this method will write. - A collection of which will be used when writing the token. - - - - Loads an from a . - - A that will be read for the content of the . - A that contains the JSON that was read from the specified . - - - - Gets the property name. - - The property name. - - - - Gets or sets the property value. - - The property value. - - - - Gets the node type for this . - - The type. - - - - Specifies the type of token. - - - - - No token type has been set. - - - - - A JSON object. - - - - - A JSON array. - - - - - A JSON constructor. - - - - - A JSON object property. - - - - - A comment. - - - - - An integer value. - - - - - A float value. - - - - - A string value. - - - - - A boolean value. - - - - - A null value. - - - - - An undefined value. - - - - - A date value. - - - - - A raw JSON value. - - - - - A collection of bytes value. - - - - - Contains the JSON schema extension methods. - - - - - Determines whether the is valid. - - The source to test. - The schema to test with. - - true if the specified is valid; otherwise, false. - - - - - Validates the specified . - - The source to test. - The schema to test with. - - - - Validates the specified . - - The source to test. - The schema to test with. - The validation event handler. - - - - Returns detailed information about the schema exception. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class - with a specified error message. - - The error message that explains the reason for the exception. - - - - Initializes a new instance of the class - with a specified error message and a reference to the inner exception that is the cause of this exception. - - The error message that explains the reason for the exception. - The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. - - - - Gets the line number indicating where the error occurred. - - The line number indicating where the error occurred. - - - - Gets the line position indicating where the error occurred. - - The line position indicating where the error occurred. - - - - Resolves from an id. - - - - - Initializes a new instance of the class. - - - - - Gets a for the specified id. - - The id. - A for the specified id. - - - - Gets or sets the loaded schemas. - - The loaded schemas. - - - - Specifies undefined schema Id handling options for the . - - - - - Do not infer a schema Id. - - - - - Use the .NET type name as the schema Id. - - - - - Use the assembly qualified .NET type name as the schema Id. - - - - - Returns detailed information related to the . - - - - - Gets the associated with the validation event. - - The JsonSchemaException associated with the validation event. - - - - Gets the text description corresponding to the validation event. - - The text description. - - - - Represents the callback method that will handle JSON schema validation events and the . - - - - - Resolves member mappings for a type, camel casing property names. - - - - - Used by to resolves a for a given . - - - - - Used by to resolves a for a given . - - - - - Resolves the contract for a given type. - - The type to resolve a contract for. - The contract for a given type. - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - - If set to true the will use a cached shared with other resolvers of the same type. - Sharing the cache will significantly performance because expensive reflection will only happen once but could cause unexpected - behavior if different instances of the resolver are suppose to produce different results. When set to false it is highly - recommended to reuse instances with the . - - - - - Resolves the contract for a given type. - - The type to resolve a contract for. - The contract for a given type. - - - - Gets the serializable members for the type. - - The type to get serializable members for. - The serializable members for the type. - - - - Creates a for the given type. - - Type of the object. - A for the given type. - - - - Resolves the default for the contract. - - Type of the object. - - - - - Creates a for the given type. - - Type of the object. - A for the given type. - - - - Creates a for the given type. - - Type of the object. - A for the given type. - - - - Creates a for the given type. - - Type of the object. - A for the given type. - - - - Creates a for the given type. - - Type of the object. - A for the given type. - - - - Creates a for the given type. - - Type of the object. - A for the given type. - - - - Creates a for the given type. - - Type of the object. - A for the given type. - - - - Determines which contract type is created for the given type. - - Type of the object. - A for the given type. - - - - Creates properties for the given . - - The contract to create properties for. - Properties for the given . - - - - Creates the used by the serializer to get and set values from a member. - - The member. - The used by the serializer to get and set values from a member. - - - - Creates a for the given . - - The member's declaring types . - The member to create a for. - A created for the given . - - - - Resolves the name of the property. - - Name of the property. - Name of the property. - - - - Gets a value indicating whether members are being get and set using dynamic code generation. - This value is determined by the runtime permissions available. - - - true if using dynamic code generation; otherwise, false. - - - - - Gets or sets the default members search flags. - - The default members search flags. - - - - Gets or sets a value indicating whether compiler generated members should be serialized. - - - true if serialized compiler generated members; otherwise, false. - - - - - Initializes a new instance of the class. - - - - - Resolves the name of the property. - - Name of the property. - The property name camel cased. - - - - The default serialization binder used when resolving and loading classes from type names. - - - - - When overridden in a derived class, controls the binding of a serialized object to a type. - - Specifies the name of the serialized object. - Specifies the name of the serialized object. - - The type of the object the formatter creates a new instance of. - - - - - Provides information surrounding an error. - - - - - Gets or sets the error. - - The error. - - - - Gets the original object that caused the error. - - The original object that caused the error. - - - - Gets the member that caused the error. - - The member that caused the error. - - - - Gets or sets a value indicating whether this is handled. - - true if handled; otherwise, false. - - - - Contract details for a used by the . - - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Contract details for a used by the . - - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Maps a JSON property to a .NET member. - - - - - Returns a that represents this instance. - - - A that represents this instance. - - - - - Gets the name of the property. - - The name of the property. - - - - Gets the that will get and set the during serialization. - - The that will get and set the during serialization. - - - - Gets or sets the type of the property. - - The type of the property. - - - - Gets or sets the for the property. - If set this converter takes presidence over the contract converter for the property type. - - The converter. - - - - Gets a value indicating whether this is ignored. - - true if ignored; otherwise, false. - - - - Gets a value indicating whether this is readable. - - true if readable; otherwise, false. - - - - Gets a value indicating whether this is writable. - - true if writable; otherwise, false. - - - - Gets the member converter. - - The member converter. - - - - Gets the default value. - - The default value. - - - - Gets a value indicating whether this is required. - - A value indicating whether this is required. - - - - Gets a value indicating whether this property preserves object references. - - - true if this instance is reference; otherwise, false. - - - - - Gets the property null value handling. - - The null value handling. - - - - Gets the property default value handling. - - The default value handling. - - - - Gets the property reference loop handling. - - The reference loop handling. - - - - Gets the property object creation handling. - - The object creation handling. - - - - Gets or sets the type name handling. - - The type name handling. - - - - Gets or sets a predicate used to determine whether the property should be serialize. - - A predicate used to determine whether the property should be serialize. - - - - A collection of objects. - - - - - Initializes a new instance of the class. - - The contract. - - - - When implemented in a derived class, extracts the key from the specified element. - - The element from which to extract the key. - The key for the specified element. - - - - Adds a object. - - The property to add to the collection. - - - - Gets the closest matching object. - First attempts to get an exact case match of propertyName and then - a case insensitive match. - - Name of the property. - A matching property if found. - - - - Gets a property by property name. - - The name of the property to get. - Type property name string comparison. - A matching property if found. - - - - Specifies missing member handling options for the . - - - - - Ignore a missing member and do not attempt to deserialize it. - - - - - Throw a when a missing member is encountered during deserialization. - - - - - Specifies null value handling options for the . - - - - - Include null values when serializing and deserializing objects. - - - - - Ignore null values when serializing and deserializing objects. - - - - - Specifies reference loop handling options for the . - - - - - Throw a when a loop is encountered. - - - - - Ignore loop references and do not serialize. - - - - - Serialize loop references. - - - - - An in-memory representation of a JSON Schema. - - - - - Initializes a new instance of the class. - - - - - Reads a from the specified . - - The containing the JSON Schema to read. - The object representing the JSON Schema. - - - - Reads a from the specified . - - The containing the JSON Schema to read. - The to use when resolving schema references. - The object representing the JSON Schema. - - - - Load a from a string that contains schema JSON. - - A that contains JSON. - A populated from the string that contains JSON. - - - - Parses the specified json. - - The json. - The resolver. - A populated from the string that contains JSON. - - - - Writes this schema to a . - - A into which this method will write. - - - - Writes this schema to a using the specified . - - A into which this method will write. - The resolver used. - - - - Returns a that represents the current . - - - A that represents the current . - - - - - Gets or sets the id. - - - - - Gets or sets the title. - - - - - Gets or sets whether the object is optional. - - - - - Gets or sets whether the object is read only. - - - - - Gets or sets whether the object is visible to users. - - - - - Gets or sets whether the object is transient. - - - - - Gets or sets the description of the object. - - - - - Gets or sets the types of values allowed by the object. - - The type. - - - - Gets or sets the pattern. - - The pattern. - - - - Gets or sets the minimum length. - - The minimum length. - - - - Gets or sets the maximum length. - - The maximum length. - - - - Gets or sets the maximum decimals. - - The maximum decimals. - - - - Gets or sets the minimum. - - The minimum. - - - - Gets or sets the maximum. - - The maximum. - - - - Gets or sets the minimum number of items. - - The minimum number of items. - - - - Gets or sets the maximum number of items. - - The maximum number of items. - - - - Gets or sets the of items. - - The of items. - - - - Gets or sets the of properties. - - The of properties. - - - - Gets or sets the of additional properties. - - The of additional properties. - - - - Gets or sets a value indicating whether additional properties are allowed. - - - true if additional properties are allowed; otherwise, false. - - - - - Gets or sets the required property if this property is present. - - The required property if this property is present. - - - - Gets or sets the identity. - - The identity. - - - - Gets or sets the a collection of valid enum values allowed. - - A collection of valid enum values allowed. - - - - Gets or sets a collection of options. - - A collection of options. - - - - Gets or sets disallowed types. - - The disallow types. - - - - Gets or sets the default value. - - The default value. - - - - Gets or sets the extend . - - The extended . - - - - Gets or sets the format. - - The format. - - - - Generates a from a specified . - - - - - Generate a from the specified type. - - The type to generate a from. - A generated from the specified type. - - - - Generate a from the specified type. - - The type to generate a from. - The used to resolve schema references. - A generated from the specified type. - - - - Generate a from the specified type. - - The type to generate a from. - Specify whether the generated root will be nullable. - A generated from the specified type. - - - - Generate a from the specified type. - - The type to generate a from. - The used to resolve schema references. - Specify whether the generated root will be nullable. - A generated from the specified type. - - - - Gets or sets how undefined schemas are handled by the serializer. - - - - - Gets or sets the contract resolver. - - The contract resolver. - - - - The value types allowed by the . - - - - - No type specified. - - - - - String type. - - - - - Float type. - - - - - Integer type. - - - - - Boolean type. - - - - - Object type. - - - - - Array type. - - - - - Null type. - - - - - Any type. - - - - - Contract details for a used by the . - - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Gets or sets the object member serialization. - - The member object serialization. - - - - Gets the object's properties. - - The object's properties. - - - - Gets or sets the parametrized constructor used to create the object. - - The parametrized constructor. - - - - Contract details for a used by the . - - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Get and set values for a using reflection. - - - - - Initializes a new instance of the class. - - The member info. - - - - Sets the value. - - The target to set the value on. - The value to set on the target. - - - - Gets the value. - - The target to get the value from. - The value. - - - - When applied to a method, specifies that the method is called when an error occurs serializing an object. - - - - - Represents a method that constructs an object. - - - - - Specifies type name handling options for the . - - - - - Do not include the .NET type name when serializing types. - - - - - Include the .NET type name when serializing into a JSON object structure. - - - - - Include the .NET type name when serializing into a JSON array structure. - - - - - Include the .NET type name when the type of the object being serialized is not the same as its declared type. - - - - - Always include the .NET type name when serializing. - - - - - Converts the value to the specified type. - - The type to convert the value to. - The value to convert. - The converted type. - - - - Converts the value to the specified type. - - The type to convert the value to. - The value to convert. - The culture to use when converting. - The converted type. - - - - Converts the value to the specified type. - - The value to convert. - The culture to use when converting. - The type to convert the value to. - The converted type. - - - - Converts the value to the specified type. - - The type to convert the value to. - The value to convert. - The converted value if the conversion was successful or the default value of T if it failed. - - true if initialValue was converted successfully; otherwise, false. - - - - - Converts the value to the specified type. - - The type to convert the value to. - The value to convert. - The culture to use when converting. - The converted value if the conversion was successful or the default value of T if it failed. - - true if initialValue was converted successfully; otherwise, false. - - - - - Converts the value to the specified type. - - The value to convert. - The culture to use when converting. - The type to convert the value to. - The converted value if the conversion was successful or the default value of T if it failed. - - true if initialValue was converted successfully; otherwise, false. - - - - - Converts the value to the specified type. If the value is unable to be converted, the - value is checked whether it assignable to the specified type. - - The type to convert or cast the value to. - The value to convert. - The converted type. If conversion was unsuccessful, the initial value is returned if assignable to the target type - - - - Converts the value to the specified type. If the value is unable to be converted, the - value is checked whether it assignable to the specified type. - - The type to convert or cast the value to. - The value to convert. - The culture to use when converting. - The converted type. If conversion was unsuccessful, the initial value is returned if assignable to the target type - - - - Converts the value to the specified type. If the value is unable to be converted, the - value is checked whether it assignable to the specified type. - - The value to convert. - The culture to use when converting. - The type to convert or cast the value to. - - The converted type. If conversion was unsuccessful, the initial value - is returned if assignable to the target type. - - - - - Converts the value to the specified type. If the value is unable to be converted, the - value is checked whether it assignable to the specified type. - - The type to convert the value to. - The value to convert. - The converted value if the conversion was successful or the default value of T if it failed. - - true if initialValue was converted successfully or is assignable; otherwise, false. - - - - - Converts the value to the specified type. If the value is unable to be converted, the - value is checked whether it assignable to the specified type. - - The type to convert the value to. - The value to convert. - The culture to use when converting. - The converted value if the conversion was successful or the default value of T if it failed. - - true if initialValue was converted successfully or is assignable; otherwise, false. - - - - - Converts the value to the specified type. If the value is unable to be converted, the - value is checked whether it assignable to the specified type. - - The value to convert. - The culture to use when converting. - The type to convert the value to. - The converted value if the conversion was successful or the default value of T if it failed. - - true if initialValue was converted successfully or is assignable; otherwise, false. - - - - - Parses the specified enum member name, returning it's value. - - Name of the enum member. - - - - - Parses the specified enum member name, returning it's value. - - Name of the enum member. - If set to true ignore case. - - - - - Gets a dictionary of the names and values of an Enum type. - - - - - - Gets a dictionary of the names and values of an Enum type. - - - - - - Gets a dictionary of the names and values of an Enum type. - - The enum type to get names and values for. - - - - - Gets the maximum valid value of an Enum type. Flags enums are ORed. - - The type of the returned value. Must be assignable from the enum's underlying value type. - The enum type to get the maximum value for. - - - - - Specifies the type of Json token. - - - - - This is returned by the if a method has not been called. - - - - - An object start token. - - - - - An array start token. - - - - - A constructor start token. - - - - - An object property name. - - - - - A comment. - - - - - Raw JSON. - - - - - An interger. - - - - - A float. - - - - - A string. - - - - - A boolean. - - - - - A null token. - - - - - An undefined token. - - - - - An object end token. - - - - - An array end token. - - - - - A constructor end token. - - - - - A Date. - - - - - Byte data. - - - - - Specifies the state of the . - - - - - An exception has been thrown, which has left the in an invalid state. - You may call the method to put the in the Closed state. - Any other method calls results in an being thrown. - - - - - The method has been called. - - - - - An object is being written. - - - - - A array is being written. - - - - - A constructor is being written. - - - - - A property is being written. - - - - - A write method has not been called. - - - - - Specifies formatting options for the . - - - - - No special formatting is applied. This is the default. - - - - - Causes child objects to be indented according to the and settings. - - - - - Builds a string. Unlike StringBuilder this class lets you reuse it's internal buffer. - - - - - Determines whether the collection is null or empty. - - The collection. - - true if the collection is null or empty; otherwise, false. - - - - - Determines whether the collection is null or empty. - - The collection. - - true if the collection is null or empty; otherwise, false. - - - - - Determines whether the collection is null, empty or its contents are uninitialized values. - - The list. - - true if the collection is null or empty or its contents are uninitialized values; otherwise, false. - - - - - Makes a slice of the specified list in between the start and end indexes. - - The list. - The start index. - The end index. - A slice of the list. - - - - Makes a slice of the specified list in between the start and end indexes, - getting every so many items based upon the step. - - The list. - The start index. - The end index. - The step. - A slice of the list. - - - - Group the collection using a function which returns the key. - - The source collection to group. - The key selector. - A Dictionary with each key relating to a list of objects in a list grouped under it. - - - - Adds the elements of the specified collection to the specified generic IList. - - The list to add to. - The collection of elements to add. - - - - Gets the type of the typed collection's items. - - The type. - The type of the typed collection's items. - - - - Tests whether the list's items are their unitialized value. - - The list. - Whether the list's items are their unitialized value - - - - Gets the member's underlying type. - - The member. - The underlying type of the member. - - - - Determines whether the member is an indexed property. - - The member. - - true if the member is an indexed property; otherwise, false. - - - - - Determines whether the property is an indexed property. - - The property. - - true if the property is an indexed property; otherwise, false. - - - - - Gets the member's value on the object. - - The member. - The target object. - The member's value on the object. - - - - Sets the member's value on the target object. - - The member. - The target. - The value. - - - - Determines whether the specified MemberInfo can be read. - - The MemberInfo to determine whether can be read. - /// if set to true then allow the member to be gotten non-publicly. - - true if the specified MemberInfo can be read; otherwise, false. - - - - - Determines whether the specified MemberInfo can be set. - - The MemberInfo to determine whether can be set. - if set to true then allow the member to be set non-publicly. - - true if the specified MemberInfo can be set; otherwise, false. - - - - - Determines whether the string contains white space. - - The string to test for white space. - - true if the string contains white space; otherwise, false. - - - - - Determines whether the string is all white space. Empty string will return false. - - The string to test whether it is all white space. - - true if the string is all white space; otherwise, false. - - - - - Ensures the target string ends with the specified string. - - The target. - The value. - The target string with the value string at the end. - - - - Perform an action if the string is not null or empty. - - The value. - The action to perform. - - - - Indents the specified string. - - The string to indent. - The number of characters to indent by. - - - - - Indents the specified string. - - The string to indent. - The number of characters to indent by. - The indent character. - - - - - Numbers the lines. - - The string to number. - - - - - Nulls an empty string. - - The string. - Null if the string was null, otherwise the string unchanged. - - - diff --git a/lib/Symbiote.JsonRpc.Host/Symbiote.Core.dll b/lib/Symbiote.JsonRpc.Host/Symbiote.Core.dll deleted file mode 100644 index 425b69a..0000000 Binary files a/lib/Symbiote.JsonRpc.Host/Symbiote.Core.dll and /dev/null differ diff --git a/lib/Symbiote.JsonRpc.Host/Symbiote.Core.pdb b/lib/Symbiote.JsonRpc.Host/Symbiote.Core.pdb deleted file mode 100644 index 9e4470a..0000000 Binary files a/lib/Symbiote.JsonRpc.Host/Symbiote.Core.pdb and /dev/null differ diff --git a/lib/Symbiote.JsonRpc.Host/Symbiote.JsonRpc.Host.dll b/lib/Symbiote.JsonRpc.Host/Symbiote.JsonRpc.Host.dll deleted file mode 100644 index f6997e5..0000000 Binary files a/lib/Symbiote.JsonRpc.Host/Symbiote.JsonRpc.Host.dll and /dev/null differ diff --git a/lib/Symbiote.JsonRpc.Host/Symbiote.JsonRpc.Host.pdb b/lib/Symbiote.JsonRpc.Host/Symbiote.JsonRpc.Host.pdb deleted file mode 100644 index 81373ed..0000000 Binary files a/lib/Symbiote.JsonRpc.Host/Symbiote.JsonRpc.Host.pdb and /dev/null differ diff --git a/lib/Symbiote.Log4Net/Microsoft.Practices.ServiceLocation.dll b/lib/Symbiote.Log4Net/Microsoft.Practices.ServiceLocation.dll deleted file mode 100644 index 3f88954..0000000 Binary files a/lib/Symbiote.Log4Net/Microsoft.Practices.ServiceLocation.dll and /dev/null differ diff --git a/lib/Symbiote.Log4Net/Microsoft.Practices.ServiceLocation.xml b/lib/Symbiote.Log4Net/Microsoft.Practices.ServiceLocation.xml deleted file mode 100644 index 6c6f2fe..0000000 --- a/lib/Symbiote.Log4Net/Microsoft.Practices.ServiceLocation.xml +++ /dev/null @@ -1,280 +0,0 @@ - - - - Microsoft.Practices.ServiceLocation - - - - - The standard exception thrown when a ServiceLocator has an error in resolving an object. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class with a specified error message. - - - The message that describes the error. - - - - - Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. - - - The error message that explains the reason for the exception. - - - The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. - - - - - Initializes a new instance of the class with serialized data. - - - The that holds the serialized object data about the exception being thrown. - - - The that contains contextual information about the source or destination. - - - The parameter is null. - - - The class name is null or is zero (0). - - - - - The generic Service Locator interface. This interface is used - to retrieve services (instances identified by type and optional - name) from a container. - - - - - Get an instance of the given . - - Type of object requested. - if there is an error resolving - the service instance. - The requested service instance. - - - - Get an instance of the given named . - - Type of object requested. - Name the object was registered with. - if there is an error resolving - the service instance. - The requested service instance. - - - - Get all instances of the given currently - registered in the container. - - Type of object requested. - if there is are errors resolving - the service instance. - A sequence of instances of the requested . - - - - Get an instance of the given . - - Type of object requested. - if there is are errors resolving - the service instance. - The requested service instance. - - - - Get an instance of the given named . - - Type of object requested. - Name the object was registered with. - if there is are errors resolving - the service instance. - The requested service instance. - - - - Get all instances of the given currently - registered in the container. - - Type of object requested. - if there is are errors resolving - the service instance. - A sequence of instances of the requested . - - - - A strongly-typed resource class, for looking up localized strings, etc. - - - - - Returns the cached ResourceManager instance used by this class. - - - - - Overrides the current thread's CurrentUICulture property for all - resource lookups using this strongly typed resource class. - - - - - Looks up a localized string similar to Activation error occured while trying to get all instances of type {0}. - - - - - Looks up a localized string similar to Activation error occured while trying to get instance of type {0}, key "{1}". - - - - - This class provides the ambient container for this application. If your - framework defines such an ambient container, use ServiceLocator.Current - to get it. - - - - - Set the delegate that is used to retrieve the current container. - - Delegate that, when called, will return - the current ambient container. - - - - The current ambient container. - - - - - This class is a helper that provides a default implementation - for most of the methods of . - - - - - Implementation of . - - The requested service. - if there is an error in resolving the service instance. - The requested object. - - - - Get an instance of the given . - - Type of object requested. - if there is an error resolving - the service instance. - The requested service instance. - - - - Get an instance of the given named . - - Type of object requested. - Name the object was registered with. - if there is an error resolving - the service instance. - The requested service instance. - - - - Get all instances of the given currently - registered in the container. - - Type of object requested. - if there is are errors resolving - the service instance. - A sequence of instances of the requested . - - - - Get an instance of the given . - - Type of object requested. - if there is are errors resolving - the service instance. - The requested service instance. - - - - Get an instance of the given named . - - Type of object requested. - Name the object was registered with. - if there is are errors resolving - the service instance. - The requested service instance. - - - - Get all instances of the given currently - registered in the container. - - Type of object requested. - if there is are errors resolving - the service instance. - A sequence of instances of the requested . - - - - When implemented by inheriting classes, this method will do the actual work of resolving - the requested service instance. - - Type of instance requested. - Name of registered service you want. May be null. - The requested service instance. - - - - When implemented by inheriting classes, this method will do the actual work of - resolving all the requested service instances. - - Type of service requested. - Sequence of service instance objects. - - - - Format the exception message for use in an - that occurs while resolving a single service. - - The actual exception thrown by the implementation. - Type of service requested. - Name requested. - The formatted exception message string. - - - - Format the exception message for use in an - that occurs while resolving multiple service instances. - - The actual exception thrown by the implementation. - Type of service requested. - The formatted exception message string. - - - - This delegate type is used to provide a method that will - return the current container. Used with the - static accessor class. - - An . - - - diff --git a/lib/Symbiote.Log4Net/Newtonsoft.Json.dll b/lib/Symbiote.Log4Net/Newtonsoft.Json.dll deleted file mode 100644 index 4703b89..0000000 Binary files a/lib/Symbiote.Log4Net/Newtonsoft.Json.dll and /dev/null differ diff --git a/lib/Symbiote.Log4Net/Newtonsoft.Json.pdb b/lib/Symbiote.Log4Net/Newtonsoft.Json.pdb deleted file mode 100644 index df5da99..0000000 Binary files a/lib/Symbiote.Log4Net/Newtonsoft.Json.pdb and /dev/null differ diff --git a/lib/Symbiote.Log4Net/Newtonsoft.Json.xml b/lib/Symbiote.Log4Net/Newtonsoft.Json.xml deleted file mode 100644 index e5e3da7..0000000 --- a/lib/Symbiote.Log4Net/Newtonsoft.Json.xml +++ /dev/null @@ -1,6364 +0,0 @@ - - - - Newtonsoft.Json - - - - - Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. - - - - - Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. - - - - - Initializes a new instance of the class with the specified . - - - - - Reads the next JSON token from the stream. - - true if the next token was read successfully; false if there are no more tokens to read. - - - - Reads the next JSON token from the stream as a . - - A or a null reference if the next JSON token is null. - - - - Skips the children of the current token. - - - - - Sets the current token. - - The new token. - - - - Sets the current token and value. - - The new token. - The value. - - - - Sets the state based on current token type. - - - - - Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. - - - - - Releases unmanaged and - optionally - managed resources - - true to release both managed and unmanaged resources; false to release only unmanaged resources. - - - - Changes the to Closed. - - - - - Gets the current reader state. - - The current reader state. - - - - Gets the quotation mark character used to enclose the value of a string. - - - - - Gets the type of the current Json token. - - - - - Gets the text value of the current Json token. - - - - - Gets The Common Language Runtime (CLR) type for the current Json token. - - - - - Gets the depth of the current token in the JSON document. - - The depth of the current token in the JSON document. - - - - Specifies the state of the reader. - - - - - The Read method has not been called. - - - - - The end of the file has been reached successfully. - - - - - Reader is at a property. - - - - - Reader is at the start of an object. - - - - - Reader is in an object. - - - - - Reader is at the start of an array. - - - - - Reader is in an array. - - - - - The Close method has been called. - - - - - Reader has just read a value. - - - - - Reader is at the start of a constructor. - - - - - Reader in a constructor. - - - - - An error occurred that prevents the read operation from continuing. - - - - - The end of the file has been reached successfully. - - - - - Initializes a new instance of the class. - - The stream. - - - - Initializes a new instance of the class. - - The stream. - if set to true the root object will be read as a JSON array. - The used when reading values from BSON. - - - - Reads the next JSON token from the stream as a . - - - A or a null reference if the next JSON token is null. - - - - - Reads the next JSON token from the stream. - - - true if the next token was read successfully; false if there are no more tokens to read. - - - - - Gets or sets a value indicating whether the root object will be read as a JSON array. - - - true if the root object will be read as a JSON array; otherwise, false. - - - - - Gets or sets the used when reading values from BSON. - - The used when reading values from BSON. - - - - Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. - - - - - Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. - - - - - Creates an instance of the JsonWriter class. - - - - - Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. - - - - - Closes this stream and the underlying stream. - - - - - Writes the beginning of a Json object. - - - - - Writes the end of a Json object. - - - - - Writes the beginning of a Json array. - - - - - Writes the end of an array. - - - - - Writes the start of a constructor with the given name. - - The name of the constructor. - - - - Writes the end constructor. - - - - - Writes the property name of a name/value pair on a Json object. - - The name of the property. - - - - Writes the end of the current Json object or array. - - - - - Writes the current token. - - The to read the token from. - - - - Writes the specified end token. - - The end token to write. - - - - Writes indent characters. - - - - - Writes the JSON value delimiter. - - - - - Writes an indent space. - - - - - Writes a null value. - - - - - Writes an undefined value. - - - - - Writes raw JSON without changing the writer's state. - - The raw JSON to write. - - - - Writes raw JSON where a value is expected and updates the writer's state. - - The raw JSON to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - An error will raised if the value cannot be written as a single JSON token. - - The value to write. - - - - Writes out a comment /*...*/ containing the specified text. - - Text to place inside the comment. - - - - Writes out the given white space. - - The string of white space characters. - - - - Gets the top. - - The top. - - - - Gets the state of the writer. - - - - - Indicates how the output is formatted. - - - - - Initializes a new instance of the class. - - The stream. - - - - Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. - - - - - Writes the end. - - The token. - - - - Writes out a comment /*...*/ containing the specified text. - - Text to place inside the comment. - - - - Writes the start of a constructor with the given name. - - The name of the constructor. - - - - Writes raw JSON. - - The raw JSON to write. - - - - Writes raw JSON where a value is expected and updates the writer's state. - - The raw JSON to write. - - - - Writes the beginning of a Json array. - - - - - Writes the beginning of a Json object. - - - - - Writes the property name of a name/value pair on a Json object. - - The name of the property. - - - - Writes a null value. - - - - - Writes an undefined value. - - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value that represents a BSON object id. - - - - - - Writes a BSON regex. - - The regex pattern. - The regex options. - - - - Gets or sets the used when writing values to BSON. - When set to no conversion will occur. - - The used when writing values to BSON. - - - - Represents a BSON Oid (object id). - - - - - Initializes a new instance of the class. - - The Oid value. - - - - Gets or sets the value of the Oid. - - The value of the Oid. - - - - Converts a binary value to and from a base 64 string value. - - - - - Converts an object to and from JSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Gets the of the JSON produced by the JsonConverter. - - The of the JSON produced by the JsonConverter. - - - - Gets a value indicating whether this can read JSON. - - true if this can read JSON; otherwise, false. - - - - Gets a value indicating whether this can write JSON. - - true if this can write JSON; otherwise, false. - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Converts a to and from JSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified value type. - - Type of the value. - - true if this instance can convert the specified value type; otherwise, false. - - - - - Converts a to and from JSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified value type. - - Type of the value. - - true if this instance can convert the specified value type; otherwise, false. - - - - - Create a custom object - - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Creates an object which will then be populated by the serializer. - - Type of the object. - - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Gets a value indicating whether this can write JSON. - - - true if this can write JSON; otherwise, false. - - - - - Provides a base class for converting a to and from JSON. - - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Converts an Entity Framework EntityKey to and from JSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Converts a to and from JSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Converts a to and from JSON and BSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Converts a to and from JSON and BSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Converts an to and from its name string value. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Specifies how constructors are used when initializing objects during deserialization by the . - - - - - First attempt to use the public default constructor then fall back to single paramatized constructor. - - - - - Allow Json.NET to use a non-public default constructor. - - - - - Represents a raw JSON string. - - - - - Represents a value in JSON (string, integer, date, etc). - - - - - Represents an abstract JSON token. - - - - - Represents a collection of objects. - - The type of token - - - - Gets the with the specified key. - - - - - - Provides an interface to enable a class to return line and position information. - - - - - Gets a value indicating whether the class can return line information. - - - true if LineNumber and LinePosition can be provided; otherwise, false. - - - - - Gets the current line number. - - The current line number or 0 if no line information is available (for example, HasLineInfo returns false). - - - - Gets the current line position. - - The current line position or 0 if no line information is available (for example, HasLineInfo returns false). - - - - Compares the values of two tokens, including the values of all descendant tokens. - - The first to compare. - The second to compare. - true if the tokens are equal; otherwise false. - - - - Adds the specified content immediately after this token. - - A content object that contains simple content or a collection of content objects to be added after this token. - - - - Adds the specified content immediately before this token. - - A content object that contains simple content or a collection of content objects to be added before this token. - - - - Returns a collection of the ancestor tokens of this token. - - A collection of the ancestor tokens of this token. - - - - Returns a collection of the sibling tokens after this token, in document order. - - A collection of the sibling tokens after this tokens, in document order. - - - - Returns a collection of the sibling tokens before this token, in document order. - - A collection of the sibling tokens before this token, in document order. - - - - Gets the with the specified key converted to the specified type. - - The type to convert the token to. - The token key. - The converted token value. - - - - Returns a collection of the child tokens of this token, in document order. - - An of containing the child tokens of this , in document order. - - - - Returns a collection of the child tokens of this token, in document order, filtered by the specified type. - - The type to filter the child tokens on. - A containing the child tokens of this , in document order. - - - - Returns a collection of the child values of this token, in document order. - - The type to convert the values to. - A containing the child values of this , in document order. - - - - Removes this token from its parent. - - - - - Replaces this token with the specified token. - - The value. - - - - Writes this token to a . - - A into which this method will write. - A collection of which will be used when writing the token. - - - - Returns the indented JSON for this token. - - - The indented JSON for this token. - - - - - Returns the JSON for this token using the given formatting and converters. - - Indicates how the output is formatted. - A collection of which will be used when writing the token. - The JSON for this token using the given formatting and converters. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Creates an for this token. - - An that can be used to read this token and its descendants. - - - - Creates a from an object. - - The object that will be used to create . - A with the value of the specified object - - - - Creates a from an object using the specified . - - The object that will be used to create . - The that will be used when reading the object. - A with the value of the specified object - - - - Creates a from a . - - An positioned at the token to read into this . - - An that contains the token and its descendant tokens - that were read from the reader. The runtime type of the token is determined - by the token type of the first token encountered in the reader. - - - - - Selects the token that matches the object path. - - - The object path from the current to the - to be returned. This must be a string of property names or array indexes separated - by periods, such as Tables[0].DefaultView[0].Price in C# or - Tables(0).DefaultView(0).Price in Visual Basic. - - The that matches the object path or a null reference if no matching token is found. - - - - Selects the token that matches the object path. - - - The object path from the current to the - to be returned. This must be a string of property names or array indexes separated - by periods, such as Tables[0].DefaultView[0].Price in C# or - Tables(0).DefaultView(0).Price in Visual Basic. - - A flag to indicate whether an error should be thrown if no token is found. - The that matches the object path. - - - - Gets a comparer that can compare two tokens for value equality. - - A that can compare two nodes for value equality. - - - - Gets or sets the parent. - - The parent. - - - - Gets the root of this . - - The root of this . - - - - Gets the node type for this . - - The type. - - - - Gets a value indicating whether this token has childen tokens. - - - true if this token has child values; otherwise, false. - - - - - Gets the next sibling token of this node. - - The that contains the next sibling token. - - - - Gets the previous sibling token of this node. - - The that contains the previous sibling token. - - - - Gets the with the specified key. - - The with the specified key. - - - - Get the first child token of this token. - - A containing the first child token of the . - - - - Get the last child token of this token. - - A containing the last child token of the . - - - - Initializes a new instance of the class from another object. - - A object to copy from. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Creates a comment with the given value. - - The value. - A comment with the given value. - - - - Creates a string with the given value. - - The value. - A string with the given value. - - - - Writes this token to a . - - A into which this method will write. - A collection of which will be used when writing the token. - - - - Indicates whether the current object is equal to another object of the same type. - - - true if the current object is equal to the parameter; otherwise, false. - - An object to compare with this object. - - - - Determines whether the specified is equal to the current . - - The to compare with the current . - - true if the specified is equal to the current ; otherwise, false. - - - The parameter is null. - - - - - Serves as a hash function for a particular type. - - - A hash code for the current . - - - - - Gets a value indicating whether this token has childen tokens. - - - true if this token has child values; otherwise, false. - - - - - Gets the node type for this . - - The type. - - - - Gets or sets the underlying token value. - - The underlying token value. - - - - Initializes a new instance of the class from another object. - - A object to copy from. - - - - Initializes a new instance of the class. - - The raw json. - - - - Creates an instance of with the content of the reader's current token. - - The reader. - An instance of with the content of the reader's current token. - - - - Indicating whether a property is required. - - - - - The property is not required. The default state. - - - - - The property must be defined in JSON but can be a null value. - - - - - The property must be defined in JSON and cannot be a null value. - - - - - Contract details for a used by the . - - - - - Contract details for a used by the . - - - - - Gets the underlying type for the contract. - - The underlying type for the contract. - - - - Gets or sets the type created during deserialization. - - The type created during deserialization. - - - - Gets or sets whether this type contract is serialized as a reference. - - Whether this type contract is serialized as a reference. - - - - Gets or sets the default for this contract. - - The converter. - - - - Gets or sets the method called immediately after deserialization of the object. - - The method called immediately after deserialization of the object. - - - - Gets or sets the method called during deserialization of the object. - - The method called during deserialization of the object. - - - - Gets or sets the method called after serialization of the object graph. - - The method called after serialization of the object graph. - - - - Gets or sets the method called before serialization of the object. - - The method called before serialization of the object. - - - - Gets or sets the default creator method used to create the object. - - The default creator method used to create the object. - - - - Gets or sets a value indicating whether [default creator non public]. - - true if the default object creator is non-public; otherwise, false. - - - - Gets or sets the method called when an error is thrown during the serialization of the object. - - The method called when an error is thrown during the serialization of the object. - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Gets or sets the ISerializable object constructor. - - The ISerializable object constructor. - - - - Contract details for a used by the . - - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Contract details for a used by the . - - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Get and set values for a using dynamic methods. - - - - - Provides methods to get and set values. - - - - - Sets the value. - - The target to set the value on. - The value to set on the target. - - - - Gets the value. - - The target to get the value from. - The value. - - - - Initializes a new instance of the class. - - The member info. - - - - Sets the value. - - The target to set the value on. - The value to set on the target. - - - - Gets the value. - - The target to get the value from. - The value. - - - - Provides data for the Error event. - - - - - Initializes a new instance of the class. - - The current object. - The error context. - - - - Gets the current object the error event is being raised against. - - The current object the error event is being raised against. - - - - Gets the error context. - - The error context. - - - - Represents a view of a . - - - - - Initializes a new instance of the class. - - The name. - Type of the property. - - - - When overridden in a derived class, returns whether resetting an object changes its value. - - - true if resetting the component changes its value; otherwise, false. - - The component to test for reset capability. - - - - - When overridden in a derived class, gets the current value of the property on a component. - - - The value of a property for a given component. - - The component with the property for which to retrieve the value. - - - - - When overridden in a derived class, resets the value for this property of the component to the default value. - - The component with the property value that is to be reset to the default value. - - - - - When overridden in a derived class, sets the value of the component to a different value. - - The component with the property value that is to be set. - The new value. - - - - - When overridden in a derived class, determines a value indicating whether the value of this property needs to be persisted. - - - true if the property should be persisted; otherwise, false. - - The component with the property to be examined for persistence. - - - - - When overridden in a derived class, gets the type of the component this property is bound to. - - - A that represents the type of component this property is bound to. When the or methods are invoked, the object specified might be an instance of this type. - - - - - When overridden in a derived class, gets a value indicating whether this property is read-only. - - - true if the property is read-only; otherwise, false. - - - - - When overridden in a derived class, gets the type of the property. - - - A that represents the type of the property. - - - - - Gets the hash code for the name of the member. - - - - The hash code for the name of the member. - - - - - Represents a view of a . - - - - - Initializes a new instance of the class. - - The value. - - - - Returns the properties for this instance of a component. - - - A that represents the properties for this component instance. - - - - - Returns the properties for this instance of a component using the attribute array as a filter. - - An array of type that is used as a filter. - - A that represents the filtered properties for this component instance. - - - - - Returns a collection of custom attributes for this instance of a component. - - - An containing the attributes for this object. - - - - - Returns the class name of this instance of a component. - - - The class name of the object, or null if the class does not have a name. - - - - - Returns the name of this instance of a component. - - - The name of the object, or null if the object does not have a name. - - - - - Returns a type converter for this instance of a component. - - - A that is the converter for this object, or null if there is no for this object. - - - - - Returns the default event for this instance of a component. - - - An that represents the default event for this object, or null if this object does not have events. - - - - - Returns the default property for this instance of a component. - - - A that represents the default property for this object, or null if this object does not have properties. - - - - - Returns an editor of the specified type for this instance of a component. - - A that represents the editor for this object. - - An of the specified type that is the editor for this object, or null if the editor cannot be found. - - - - - Returns the events for this instance of a component using the specified attribute array as a filter. - - An array of type that is used as a filter. - - An that represents the filtered events for this component instance. - - - - - Returns the events for this instance of a component. - - - An that represents the events for this component instance. - - - - - Returns an object that contains the property described by the specified property descriptor. - - A that represents the property whose owner is to be found. - - An that represents the owner of the specified property. - - - - - Used to resolve references when serializing and deserializing JSON by the . - - - - - Resolves a reference to its object. - - The reference to resolve. - The object that - - - - Gets the reference for the sepecified object. - - The object to get a reference for. - The reference to the object. - - - - Determines whether the specified object is referenced. - - The object to test for a reference. - - true if the specified object is referenced; otherwise, false. - - - - - Adds a reference to the specified object. - - The reference. - The object to reference. - - - - Specifies reference handling options for the . - - - - - Do not preserve references when serializing types. - - - - - Preserve references when serializing into a JSON object structure. - - - - - Preserve references when serializing into a JSON array structure. - - - - - Preserve references when serializing. - - - - - Instructs the how to serialize the collection. - - - - - Instructs the how to serialize the object. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class with the specified container Id. - - The container Id. - - - - Gets or sets the id. - - The id. - - - - Gets or sets the title. - - The title. - - - - Gets or sets the description. - - The description. - - - - Gets or sets a value that indicates whether to preserve object reference data. - - - true to keep object reference; otherwise, false. The default is false. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class with a flag indicating whether the array can contain null items - - A flag indicating whether the array can contain null items. - - - - Initializes a new instance of the class with the specified container Id. - - The container Id. - - - - Gets or sets a value indicating whether null items are allowed in the collection. - - true if null items are allowed in the collection; otherwise, false. - - - - Specifies default value handling options for the . - - - - - Include default values when serializing and deserializing objects. - - - - - Ignore default values when serializing and deserializing objects. - - - - - Instructs the to use the specified when serializing the member or class. - - - - - Initializes a new instance of the class. - - Type of the converter. - - - - Gets the type of the converter. - - The type of the converter. - - - - Instructs the how to serialize the object. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class with the specified member serialization. - - The member serialization. - - - - Initializes a new instance of the class with the specified container Id. - - The container Id. - - - - Gets or sets the member serialization. - - The member serialization. - - - - Specifies the settings on a object. - - - - - Initializes a new instance of the class. - - - - - Gets or sets how reference loops (e.g. a class referencing itself) is handled. - - Reference loop handling. - - - - Gets or sets how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. - - Missing member handling. - - - - Gets or sets how objects are created during deserialization. - - The object creation handling. - - - - Gets or sets how null values are handled during serialization and deserialization. - - Null value handling. - - - - Gets or sets how null default are handled during serialization and deserialization. - - The default value handling. - - - - Gets or sets a collection that will be used during serialization. - - The converters. - - - - Gets or sets how object references are preserved by the serializer. - - The preserve references handling. - - - - Gets or sets how type name writing and reading is handled by the serializer. - - The type name handling. - - - - Gets or sets how a type name assembly is written and resolved by the serializer. - - The type name assembly format. - - - - Gets or sets how constructors are used during deserialization. - - The constructor handling. - - - - Gets or sets the contract resolver used by the serializer when - serializing .NET objects to JSON and vice versa. - - The contract resolver. - - - - Gets or sets the used by the serializer when resolving references. - - The reference resolver. - - - - Gets or sets the used by the serializer when resolving type names. - - The binder. - - - - Gets or sets the error handler called during serialization and deserialization. - - The error handler called during serialization and deserialization. - - - - Gets or sets the used by the serializer when invoking serialization callback methods. - - The context. - - - - Represents a reader that provides validation. - - - - - Initializes a new instance of the class that - validates the content returned from the given . - - The to read from while validating. - - - - Reads the next JSON token from the stream as a . - - - A or a null reference if the next JSON token is null. - - - - - Reads the next JSON token from the stream. - - - true if the next token was read successfully; false if there are no more tokens to read. - - - - - Sets an event handler for receiving schema validation errors. - - - - - Gets the text value of the current Json token. - - - - - - Gets the depth of the current token in the JSON document. - - The depth of the current token in the JSON document. - - - - Gets the quotation mark character used to enclose the value of a string. - - - - - - Gets the type of the current Json token. - - - - - - Gets The Common Language Runtime (CLR) type for the current Json token. - - - - - - Gets or sets the schema. - - The schema. - - - - Gets the used to construct this . - - The specified in the constructor. - - - - Compares tokens to determine whether they are equal. - - - - - Determines whether the specified objects are equal. - - The first object of type to compare. - The second object of type to compare. - - true if the specified objects are equal; otherwise, false. - - - - - Returns a hash code for the specified object. - - The for which a hash code is to be returned. - A hash code for the specified object. - The type of is a reference type and is null. - - - - Specifies the member serialization options for the . - - - - - All members are serialized by default. Members can be excluded using the . - - - - - Only members must be marked with the are serialized. - - - - - Specifies how object creation is handled by the . - - - - - Reuse existing objects, create new objects when needed. - - - - - Only reuse existing objects. - - - - - Always create new objects. - - - - - Converts a to and from the ISO 8601 date format (e.g. 2008-04-12T12:53Z). - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Gets or sets the date time styles used when converting a date to and from JSON. - - The date time styles used when converting a date to and from JSON. - - - - Gets or sets the date time format used when converting a date to and from JSON. - - The date time format used when converting a date to and from JSON. - - - - Gets or sets the culture used when converting a date to and from JSON. - - The culture used when converting a date to and from JSON. - - - - Converts a to and from a JavaScript date constructor (e.g. new Date(52231943)). - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing property value of the JSON that is being converted. - The calling serializer. - The object value. - - - - Specifies whether a DateTime object represents a local time, a Coordinated Universal Time (UTC), or is not specified as either local time or UTC. - - - - - The time represented is local time. - - - - - The time represented is UTC. - - - - - The time represented is not specified as either local time or Coordinated Universal Time (UTC). - - - - - Preserves the DateTimeKind field of a date when a DateTime object is converted to a string and the string is then converted back to a DateTime object. - - - - - Converts an to and from JSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The calling serializer. - The value. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Checks if the attributeName is a namespace attribute. - - Attribute name to test. - The attribute name prefix if it has one, otherwise an empty string. - True if attribute name is for a namespace attribute, otherwise false. - - - - Determines whether this instance can convert the specified value type. - - Type of the value. - - true if this instance can convert the specified value type; otherwise, false. - - - - - Gets or sets the name of the root element to insert when deserializing to XML if the JSON structure has produces multiple root elements. - - The name of the deserialize root element. - - - - Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. - - - - - Initializes a new instance of the class with the specified . - - The TextReader containing the XML data to read. - - - - Reads the next JSON token from the stream. - - - true if the next token was read successfully; false if there are no more tokens to read. - - - - - Reads the next JSON token from the stream as a . - - - A or a null reference if the next JSON token is null. - - - - - Changes the state to closed. - - - - - Gets a value indicating whether the class can return line information. - - - true if LineNumber and LinePosition can be provided; otherwise, false. - - - - - Gets the current line number. - - - The current line number or 0 if no line information is available (for example, HasLineInfo returns false). - - - - - Gets the current line position. - - - The current line position or 0 if no line information is available (for example, HasLineInfo returns false). - - - - - Instructs the to always serialize the member with the specified name. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class with the specified name. - - Name of the property. - - - - Gets or sets the null value handling used when serializing this property. - - The null value handling. - - - - Gets or sets the default value handling used when serializing this property. - - The default value handling. - - - - Gets or sets the reference loop handling used when serializing this property. - - The reference loop handling. - - - - Gets or sets the object creation handling used when deserializing this property. - - The object creation handling. - - - - Gets or sets the type name handling used when serializing this property. - - The type name handling. - - - - Gets or sets whether this property's value is serialized as a reference. - - Whether this property's value is serialized as a reference. - - - - Gets or sets the name of the property. - - The name of the property. - - - - Gets or sets a value indicating whether this property is required. - - - A value indicating whether this property is required. - - - - - Instructs the not to serialize the public field or public read/write property value. - - - - - Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. - - - - - Creates an instance of the JsonWriter class using the specified . - - The TextWriter to write to. - - - - Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. - - - - - Closes this stream and the underlying stream. - - - - - Writes the beginning of a Json object. - - - - - Writes the beginning of a Json array. - - - - - Writes the start of a constructor with the given name. - - The name of the constructor. - - - - Writes the specified end token. - - The end token to write. - - - - Writes the property name of a name/value pair on a Json object. - - The name of the property. - - - - Writes indent characters. - - - - - Writes the JSON value delimiter. - - - - - Writes an indent space. - - - - - Writes a null value. - - - - - Writes an undefined value. - - - - - Writes raw JSON. - - The raw JSON to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes out a comment /*...*/ containing the specified text. - - Text to place inside the comment. - - - - Writes out the given white space. - - The string of white space characters. - - - - Gets or sets how many IndentChars to write for each level in the hierarchy when is set to Formatting.Indented. - - - - - Gets or sets which character to use to quote attribute values. - - - - - Gets or sets which character to use for indenting when is set to Formatting.Indented. - - - - - Gets or sets a value indicating whether object names will be surrounded with quotes. - - - - - The exception thrown when an error occurs while reading Json text. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class - with a specified error message. - - The error message that explains the reason for the exception. - - - - Initializes a new instance of the class - with a specified error message and a reference to the inner exception that is the cause of this exception. - - The error message that explains the reason for the exception. - The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. - - - - The exception thrown when an error occurs while reading Json text. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class - with a specified error message. - - The error message that explains the reason for the exception. - - - - Initializes a new instance of the class - with a specified error message and a reference to the inner exception that is the cause of this exception. - - The error message that explains the reason for the exception. - The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. - - - - Gets the line number indicating where the error occurred. - - The line number indicating where the error occurred. - - - - Gets the line position indicating where the error occurred. - - The line position indicating where the error occurred. - - - - Represents a collection of . - - - - - Provides methods for converting between common language runtime types and JSON types. - - - - - Represents JavaScript's boolean value true as a string. This field is read-only. - - - - - Represents JavaScript's boolean value false as a string. This field is read-only. - - - - - Represents JavaScript's null as a string. This field is read-only. - - - - - Represents JavaScript's undefined as a string. This field is read-only. - - - - - Represents JavaScript's positive infinity as a string. This field is read-only. - - - - - Represents JavaScript's negative infinity as a string. This field is read-only. - - - - - Represents JavaScript's NaN as a string. This field is read-only. - - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - The string delimiter character. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Serializes the specified object to a JSON string. - - The object to serialize. - A JSON string representation of the object. - - - - Serializes the specified object to a JSON string. - - The object to serialize. - Indicates how the output is formatted. - - A JSON string representation of the object. - - - - - Serializes the specified object to a JSON string using a collection of . - - The object to serialize. - A collection converters used while serializing. - A JSON string representation of the object. - - - - Serializes the specified object to a JSON string using a collection of . - - The object to serialize. - Indicates how the output is formatted. - A collection converters used while serializing. - A JSON string representation of the object. - - - - Serializes the specified object to a JSON string using a collection of . - - The object to serialize. - Indicates how the output is formatted. - The used to serialize the object. - If this is null, default serialization settings will be is used. - - A JSON string representation of the object. - - - - - Deserializes the specified object to a Json object. - - The object to deserialize. - The deserialized object from the Json string. - - - - Deserializes the specified object to a Json object. - - The object to deserialize. - The of object being deserialized. - The deserialized object from the Json string. - - - - Deserializes the specified object to a Json object. - - The type of the object to deserialize. - The object to deserialize. - The deserialized object from the Json string. - - - - Deserializes the specified JSON to the given anonymous type. - - - The anonymous type to deserialize to. This can't be specified - traditionally and must be infered from the anonymous type passed - as a parameter. - - The object to deserialize. - The anonymous type object. - The deserialized anonymous type from the JSON string. - - - - Deserializes the JSON string to the specified type. - - The type of the object to deserialize. - The object to deserialize. - Converters to use while deserializing. - The deserialized object from the JSON string. - - - - Deserializes the JSON string to the specified type. - - The type of the object to deserialize. - The object to deserialize. - - The used to deserialize the object. - If this is null, default serialization settings will be is used. - - The deserialized object from the JSON string. - - - - Deserializes the JSON string to the specified type. - - The object to deserialize. - The type of the object to deserialize. - Converters to use while deserializing. - The deserialized object from the JSON string. - - - - Deserializes the JSON string to the specified type. - - The JSON to deserialize. - The type of the object to deserialize. - - The used to deserialize the object. - If this is null, default serialization settings will be is used. - - The deserialized object from the JSON string. - - - - Populates the object with values from the JSON string. - - The JSON to populate values from. - The target object to populate values onto. - - - - Populates the object with values from the JSON string. - - The JSON to populate values from. - The target object to populate values onto. - - The used to deserialize the object. - If this is null, default serialization settings will be is used. - - - - - Serializes the to a JSON string. - - The node to convert to JSON. - A JSON string of the XNode. - - - - Serializes the to a JSON string. - - The node to convert to JSON. - Indicates how the output is formatted. - A JSON string of the XNode. - - - - Deserializes the from a JSON string. - - The JSON string. - The deserialized XNode - - - - Deserializes the from a JSON string nested in a root elment. - - The JSON string. - The name of the root element to append when deserializing. - The deserialized XNode - - - - Serializes the XML node to a JSON string. - - The node to serialize. - A JSON string of the XmlNode. - - - - Serializes the XML node to a JSON string. - - The node to serialize. - Indicates how the output is formatted. - A JSON string of the XmlNode. - - - - Deserializes the XmlNode from a JSON string. - - The JSON string. - The deserialized XmlNode - - - - Deserializes the XmlNode from a JSON string nested in a root elment. - - The JSON string. - The name of the root element to append when deserializing. - The deserialized XmlNode - - - - The exception thrown when an error occurs during Json serialization or deserialization. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class - with a specified error message. - - The error message that explains the reason for the exception. - - - - Initializes a new instance of the class - with a specified error message and a reference to the inner exception that is the cause of this exception. - - The error message that explains the reason for the exception. - The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. - - - - Serializes and deserializes objects into and from the JSON format. - The enables you to control how objects are encoded into JSON. - - - - - Initializes a new instance of the class. - - - - - Creates a new instance using the specified . - - The settings to be applied to the . - A new instance using the specified . - - - - Populates the JSON values onto the target object. - - The that contains the JSON structure to reader values from. - The target object to populate values onto. - - - - Populates the JSON values onto the target object. - - The that contains the JSON structure to reader values from. - The target object to populate values onto. - - - - Deserializes the Json structure contained by the specified . - - The that contains the JSON structure to deserialize. - The being deserialized. - - - - Deserializes the Json structure contained by the specified - into an instance of the specified type. - - The containing the object. - The of object being deserialized. - The instance of being deserialized. - - - - Deserializes the Json structure contained by the specified - into an instance of the specified type. - - The containing the object. - The type of the object to deserialize. - The instance of being deserialized. - - - - Deserializes the Json structure contained by the specified - into an instance of the specified type. - - The containing the object. - The of object being deserialized. - The instance of being deserialized. - - - - Serializes the specified and writes the Json structure - to a Stream using the specified . - - The used to write the Json structure. - The to serialize. - - - - Serializes the specified and writes the Json structure - to a Stream using the specified . - - The used to write the Json structure. - The to serialize. - - - - Occurs when the errors during serialization and deserialization. - - - - - Gets or sets the used by the serializer when resolving references. - - - - - Gets or sets the used by the serializer when resolving type names. - - - - - Gets or sets how type name writing and reading is handled by the serializer. - - - - - Gets or sets how a type name assembly is written and resolved by the serializer. - - The type name assembly format. - - - - Gets or sets how object references are preserved by the serializer. - - - - - Get or set how reference loops (e.g. a class referencing itself) is handled. - - - - - Get or set how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. - - - - - Get or set how null values are handled during serialization and deserialization. - - - - - Get or set how null default are handled during serialization and deserialization. - - - - - Gets or sets how objects are created during deserialization. - - The object creation handling. - - - - Gets or sets how constructors are used during deserialization. - - The constructor handling. - - - - Gets a collection that will be used during serialization. - - Collection that will be used during serialization. - - - - Gets or sets the contract resolver used by the serializer when - serializing .NET objects to JSON and vice versa. - - - - - Gets or sets the used by the serializer when invoking serialization callback methods. - - The context. - - - - Contains the LINQ to JSON extension methods. - - - - - Returns a collection of tokens that contains the ancestors of every token in the source collection. - - The type of the objects in source, constrained to . - An of that contains the source collection. - An of that contains the ancestors of every node in the source collection. - - - - Returns a collection of tokens that contains the descendants of every token in the source collection. - - The type of the objects in source, constrained to . - An of that contains the source collection. - An of that contains the descendants of every node in the source collection. - - - - Returns a collection of child properties of every object in the source collection. - - An of that contains the source collection. - An of that contains the properties of every object in the source collection. - - - - Returns a collection of child values of every object in the source collection with the given key. - - An of that contains the source collection. - The token key. - An of that contains the values of every node in the source collection with the given key. - - - - Returns a collection of child values of every object in the source collection. - - An of that contains the source collection. - An of that contains the values of every node in the source collection. - - - - Returns a collection of converted child values of every object in the source collection with the given key. - - The type to convert the values to. - An of that contains the source collection. - The token key. - An that contains the converted values of every node in the source collection with the given key. - - - - Returns a collection of converted child values of every object in the source collection. - - The type to convert the values to. - An of that contains the source collection. - An that contains the converted values of every node in the source collection. - - - - Converts the value. - - The type to convert the value to. - A cast as a of . - A converted value. - - - - Converts the value. - - The source collection type. - The type to convert the value to. - A cast as a of . - A converted value. - - - - Returns a collection of child tokens of every array in the source collection. - - The source collection type. - An of that contains the source collection. - An of that contains the values of every node in the source collection. - - - - Returns a collection of converted child tokens of every array in the source collection. - - An of that contains the source collection. - The type to convert the values to. - The source collection type. - An that contains the converted values of every node in the source collection. - - - - Returns the input typed as . - - An of that contains the source collection. - The input typed as . - - - - Returns the input typed as . - - The source collection type. - An of that contains the source collection. - The input typed as . - - - - Represents a JSON constructor. - - - - - Represents a token that can contain other tokens. - - - - - Raises the event. - - The instance containing the event data. - - - - Raises the event. - - The instance containing the event data. - - - - Returns a collection of the child tokens of this token, in document order. - - - An of containing the child tokens of this , in document order. - - - - - Returns a collection of the child values of this token, in document order. - - The type to convert the values to. - - A containing the child values of this , in document order. - - - - - Returns a collection of the descendant tokens for this token in document order. - - An containing the descendant tokens of the . - - - - Adds the specified content as children of this . - - The content to be added. - - - - Adds the specified content as the first children of this . - - The content to be added. - - - - Creates an that can be used to add tokens to the . - - An that is ready to have content written to it. - - - - Replaces the children nodes of this token with the specified content. - - The content. - - - - Removes the child nodes from this token. - - - - - Occurs when the list changes or an item in the list changes. - - - - - Occurs before an item is added to the collection. - - - - - Gets a value indicating whether this token has childen tokens. - - - true if this token has child values; otherwise, false. - - - - - Get the first child token of this token. - - - A containing the first child token of the . - - - - - Get the last child token of this token. - - - A containing the last child token of the . - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class from another object. - - A object to copy from. - - - - Initializes a new instance of the class with the specified name and content. - - The constructor name. - The contents of the constructor. - - - - Initializes a new instance of the class with the specified name and content. - - The constructor name. - The contents of the constructor. - - - - Initializes a new instance of the class with the specified name. - - The constructor name. - - - - Writes this token to a . - - A into which this method will write. - A collection of which will be used when writing the token. - - - - Loads an from a . - - A that will be read for the content of the . - A that contains the JSON that was read from the specified . - - - - Gets or sets the name of this constructor. - - The constructor name. - - - - Gets the node type for this . - - The type. - - - - Gets the with the specified key. - - The with the specified key. - - - - Represents a collection of objects. - - The type of token - - - - An empty collection of objects. - - - - - Initializes a new instance of the struct. - - The enumerable. - - - - Returns an enumerator that iterates through the collection. - - - A that can be used to iterate through the collection. - - - - - Returns an enumerator that iterates through a collection. - - - An object that can be used to iterate through the collection. - - - - - Determines whether the specified is equal to this instance. - - The to compare with this instance. - - true if the specified is equal to this instance; otherwise, false. - - - - - Returns a hash code for this instance. - - - A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. - - - - - Gets the with the specified key. - - - - - - Represents a JSON object. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class from another object. - - A object to copy from. - - - - Initializes a new instance of the class with the specified content. - - The contents of the object. - - - - Initializes a new instance of the class with the specified content. - - The contents of the object. - - - - Gets an of this object's properties. - - An of this object's properties. - - - - Gets a the specified name. - - The property name. - A with the specified name or null. - - - - Gets an of this object's property values. - - An of this object's property values. - - - - Loads an from a . - - A that will be read for the content of the . - A that contains the JSON that was read from the specified . - - - - Load a from a string that contains JSON. - - A that contains JSON. - A populated from the string that contains JSON. - - - - Creates a from an object. - - The object that will be used to create . - A with the values of the specified object - - - - Creates a from an object. - - The object that will be used to create . - The that will be used to read the object. - A with the values of the specified object - - - - Writes this token to a . - - A into which this method will write. - A collection of which will be used when writing the token. - - - - Adds the specified property name. - - Name of the property. - The value. - - - - Removes the property with the specified name. - - Name of the property. - true if item was successfully removed; otherwise, false. - - - - Tries the get value. - - Name of the property. - The value. - true if a value was successfully retrieved; otherwise, false. - - - - Returns an enumerator that iterates through the collection. - - - A that can be used to iterate through the collection. - - - - - Raises the event with the provided arguments. - - Name of the property. - - - - Raises the event with the provided arguments. - - Name of the property. - - - - Occurs when a property value changes. - - - - - Occurs when a property value is changing. - - - - - Gets the node type for this . - - The type. - - - - Gets the with the specified key. - - The with the specified key. - - - - Gets or sets the with the specified property name. - - - - - - Gets the number of elements contained in the . - - - The number of elements contained in the . - - - - Represents a JSON array. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class from another object. - - A object to copy from. - - - - Initializes a new instance of the class with the specified content. - - The contents of the array. - - - - Initializes a new instance of the class with the specified content. - - The contents of the array. - - - - Loads an from a . - - A that will be read for the content of the . - A that contains the JSON that was read from the specified . - - - - Load a from a string that contains JSON. - - A that contains JSON. - A populated from the string that contains JSON. - - - - Creates a from an object. - - The object that will be used to create . - A with the values of the specified object - - - - Creates a from an object. - - The object that will be used to create . - The that will be used to read the object. - A with the values of the specified object - - - - Writes this token to a . - - A into which this method will write. - A collection of which will be used when writing the token. - - - - Determines the index of a specific item in the . - - The object to locate in the . - - The index of if found in the list; otherwise, -1. - - - - - Inserts an item to the at the specified index. - - The zero-based index at which should be inserted. - The object to insert into the . - - is not a valid index in the . - The is read-only. - - - - Removes the item at the specified index. - - The zero-based index of the item to remove. - - is not a valid index in the . - The is read-only. - - - - Adds an item to the . - - The object to add to the . - The is read-only. - - - - Removes all items from the . - - The is read-only. - - - - Determines whether the contains a specific value. - - The object to locate in the . - - true if is found in the ; otherwise, false. - - - - - Removes the first occurrence of a specific object from the . - - The object to remove from the . - - true if was successfully removed from the ; otherwise, false. This method also returns false if is not found in the original . - - The is read-only. - - - - Gets the node type for this . - - The type. - - - - Gets the with the specified key. - - The with the specified key. - - - - Gets or sets the at the specified index. - - - - - - Gets the number of elements contained in the . - - - The number of elements contained in the . - - - - Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. - - - - - Initializes a new instance of the class. - - The token to read from. - - - - Reads the next JSON token from the stream as a . - - - A or a null reference if the next JSON token is null. - - - - - Reads the next JSON token from the stream. - - - true if the next token was read successfully; false if there are no more tokens to read. - - - - - Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. - - - - - Initializes a new instance of the class writing to the given . - - The container being written to. - - - - Initializes a new instance of the class. - - - - - Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. - - - - - Closes this stream and the underlying stream. - - - - - Writes the beginning of a Json object. - - - - - Writes the beginning of a Json array. - - - - - Writes the start of a constructor with the given name. - - The name of the constructor. - - - - Writes the end. - - The token. - - - - Writes the property name of a name/value pair on a Json object. - - The name of the property. - - - - Writes a null value. - - - - - Writes an undefined value. - - - - - Writes raw JSON. - - The raw JSON to write. - - - - Writes out a comment /*...*/ containing the specified text. - - Text to place inside the comment. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Gets the token being writen. - - The token being writen. - - - - Represents a JSON property. - - - - - Initializes a new instance of the class from another object. - - A object to copy from. - - - - Returns a collection of the child tokens of this token, in document order. - - - An of containing the child tokens of this , in document order. - - - - - Initializes a new instance of the class. - - The property name. - The property content. - - - - Initializes a new instance of the class. - - The property name. - The property content. - - - - Writes this token to a . - - A into which this method will write. - A collection of which will be used when writing the token. - - - - Loads an from a . - - A that will be read for the content of the . - A that contains the JSON that was read from the specified . - - - - Gets the property name. - - The property name. - - - - Gets or sets the property value. - - The property value. - - - - Gets the node type for this . - - The type. - - - - Specifies the type of token. - - - - - No token type has been set. - - - - - A JSON object. - - - - - A JSON array. - - - - - A JSON constructor. - - - - - A JSON object property. - - - - - A comment. - - - - - An integer value. - - - - - A float value. - - - - - A string value. - - - - - A boolean value. - - - - - A null value. - - - - - An undefined value. - - - - - A date value. - - - - - A raw JSON value. - - - - - A collection of bytes value. - - - - - Contains the JSON schema extension methods. - - - - - Determines whether the is valid. - - The source to test. - The schema to test with. - - true if the specified is valid; otherwise, false. - - - - - Validates the specified . - - The source to test. - The schema to test with. - - - - Validates the specified . - - The source to test. - The schema to test with. - The validation event handler. - - - - Returns detailed information about the schema exception. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class - with a specified error message. - - The error message that explains the reason for the exception. - - - - Initializes a new instance of the class - with a specified error message and a reference to the inner exception that is the cause of this exception. - - The error message that explains the reason for the exception. - The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. - - - - Gets the line number indicating where the error occurred. - - The line number indicating where the error occurred. - - - - Gets the line position indicating where the error occurred. - - The line position indicating where the error occurred. - - - - Resolves from an id. - - - - - Initializes a new instance of the class. - - - - - Gets a for the specified id. - - The id. - A for the specified id. - - - - Gets or sets the loaded schemas. - - The loaded schemas. - - - - Specifies undefined schema Id handling options for the . - - - - - Do not infer a schema Id. - - - - - Use the .NET type name as the schema Id. - - - - - Use the assembly qualified .NET type name as the schema Id. - - - - - Returns detailed information related to the . - - - - - Gets the associated with the validation event. - - The JsonSchemaException associated with the validation event. - - - - Gets the text description corresponding to the validation event. - - The text description. - - - - Represents the callback method that will handle JSON schema validation events and the . - - - - - Resolves member mappings for a type, camel casing property names. - - - - - Used by to resolves a for a given . - - - - - Used by to resolves a for a given . - - - - - Resolves the contract for a given type. - - The type to resolve a contract for. - The contract for a given type. - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - - If set to true the will use a cached shared with other resolvers of the same type. - Sharing the cache will significantly performance because expensive reflection will only happen once but could cause unexpected - behavior if different instances of the resolver are suppose to produce different results. When set to false it is highly - recommended to reuse instances with the . - - - - - Resolves the contract for a given type. - - The type to resolve a contract for. - The contract for a given type. - - - - Gets the serializable members for the type. - - The type to get serializable members for. - The serializable members for the type. - - - - Creates a for the given type. - - Type of the object. - A for the given type. - - - - Resolves the default for the contract. - - Type of the object. - - - - - Creates a for the given type. - - Type of the object. - A for the given type. - - - - Creates a for the given type. - - Type of the object. - A for the given type. - - - - Creates a for the given type. - - Type of the object. - A for the given type. - - - - Creates a for the given type. - - Type of the object. - A for the given type. - - - - Creates a for the given type. - - Type of the object. - A for the given type. - - - - Creates a for the given type. - - Type of the object. - A for the given type. - - - - Determines which contract type is created for the given type. - - Type of the object. - A for the given type. - - - - Creates properties for the given . - - The contract to create properties for. - Properties for the given . - - - - Creates the used by the serializer to get and set values from a member. - - The member. - The used by the serializer to get and set values from a member. - - - - Creates a for the given . - - The member's declaring types . - The member to create a for. - A created for the given . - - - - Resolves the name of the property. - - Name of the property. - Name of the property. - - - - Gets a value indicating whether members are being get and set using dynamic code generation. - This value is determined by the runtime permissions available. - - - true if using dynamic code generation; otherwise, false. - - - - - Gets or sets the default members search flags. - - The default members search flags. - - - - Gets or sets a value indicating whether compiler generated members should be serialized. - - - true if serialized compiler generated members; otherwise, false. - - - - - Initializes a new instance of the class. - - - - - Resolves the name of the property. - - Name of the property. - The property name camel cased. - - - - The default serialization binder used when resolving and loading classes from type names. - - - - - When overridden in a derived class, controls the binding of a serialized object to a type. - - Specifies the name of the serialized object. - Specifies the name of the serialized object. - - The type of the object the formatter creates a new instance of. - - - - - Provides information surrounding an error. - - - - - Gets or sets the error. - - The error. - - - - Gets the original object that caused the error. - - The original object that caused the error. - - - - Gets the member that caused the error. - - The member that caused the error. - - - - Gets or sets a value indicating whether this is handled. - - true if handled; otherwise, false. - - - - Contract details for a used by the . - - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Contract details for a used by the . - - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Maps a JSON property to a .NET member. - - - - - Returns a that represents this instance. - - - A that represents this instance. - - - - - Gets the name of the property. - - The name of the property. - - - - Gets the that will get and set the during serialization. - - The that will get and set the during serialization. - - - - Gets or sets the type of the property. - - The type of the property. - - - - Gets or sets the for the property. - If set this converter takes presidence over the contract converter for the property type. - - The converter. - - - - Gets a value indicating whether this is ignored. - - true if ignored; otherwise, false. - - - - Gets a value indicating whether this is readable. - - true if readable; otherwise, false. - - - - Gets a value indicating whether this is writable. - - true if writable; otherwise, false. - - - - Gets the member converter. - - The member converter. - - - - Gets the default value. - - The default value. - - - - Gets a value indicating whether this is required. - - A value indicating whether this is required. - - - - Gets a value indicating whether this property preserves object references. - - - true if this instance is reference; otherwise, false. - - - - - Gets the property null value handling. - - The null value handling. - - - - Gets the property default value handling. - - The default value handling. - - - - Gets the property reference loop handling. - - The reference loop handling. - - - - Gets the property object creation handling. - - The object creation handling. - - - - Gets or sets the type name handling. - - The type name handling. - - - - Gets or sets a predicate used to determine whether the property should be serialize. - - A predicate used to determine whether the property should be serialize. - - - - A collection of objects. - - - - - Initializes a new instance of the class. - - The contract. - - - - When implemented in a derived class, extracts the key from the specified element. - - The element from which to extract the key. - The key for the specified element. - - - - Adds a object. - - The property to add to the collection. - - - - Gets the closest matching object. - First attempts to get an exact case match of propertyName and then - a case insensitive match. - - Name of the property. - A matching property if found. - - - - Gets a property by property name. - - The name of the property to get. - Type property name string comparison. - A matching property if found. - - - - Specifies missing member handling options for the . - - - - - Ignore a missing member and do not attempt to deserialize it. - - - - - Throw a when a missing member is encountered during deserialization. - - - - - Specifies null value handling options for the . - - - - - Include null values when serializing and deserializing objects. - - - - - Ignore null values when serializing and deserializing objects. - - - - - Specifies reference loop handling options for the . - - - - - Throw a when a loop is encountered. - - - - - Ignore loop references and do not serialize. - - - - - Serialize loop references. - - - - - An in-memory representation of a JSON Schema. - - - - - Initializes a new instance of the class. - - - - - Reads a from the specified . - - The containing the JSON Schema to read. - The object representing the JSON Schema. - - - - Reads a from the specified . - - The containing the JSON Schema to read. - The to use when resolving schema references. - The object representing the JSON Schema. - - - - Load a from a string that contains schema JSON. - - A that contains JSON. - A populated from the string that contains JSON. - - - - Parses the specified json. - - The json. - The resolver. - A populated from the string that contains JSON. - - - - Writes this schema to a . - - A into which this method will write. - - - - Writes this schema to a using the specified . - - A into which this method will write. - The resolver used. - - - - Returns a that represents the current . - - - A that represents the current . - - - - - Gets or sets the id. - - - - - Gets or sets the title. - - - - - Gets or sets whether the object is optional. - - - - - Gets or sets whether the object is read only. - - - - - Gets or sets whether the object is visible to users. - - - - - Gets or sets whether the object is transient. - - - - - Gets or sets the description of the object. - - - - - Gets or sets the types of values allowed by the object. - - The type. - - - - Gets or sets the pattern. - - The pattern. - - - - Gets or sets the minimum length. - - The minimum length. - - - - Gets or sets the maximum length. - - The maximum length. - - - - Gets or sets the maximum decimals. - - The maximum decimals. - - - - Gets or sets the minimum. - - The minimum. - - - - Gets or sets the maximum. - - The maximum. - - - - Gets or sets the minimum number of items. - - The minimum number of items. - - - - Gets or sets the maximum number of items. - - The maximum number of items. - - - - Gets or sets the of items. - - The of items. - - - - Gets or sets the of properties. - - The of properties. - - - - Gets or sets the of additional properties. - - The of additional properties. - - - - Gets or sets a value indicating whether additional properties are allowed. - - - true if additional properties are allowed; otherwise, false. - - - - - Gets or sets the required property if this property is present. - - The required property if this property is present. - - - - Gets or sets the identity. - - The identity. - - - - Gets or sets the a collection of valid enum values allowed. - - A collection of valid enum values allowed. - - - - Gets or sets a collection of options. - - A collection of options. - - - - Gets or sets disallowed types. - - The disallow types. - - - - Gets or sets the default value. - - The default value. - - - - Gets or sets the extend . - - The extended . - - - - Gets or sets the format. - - The format. - - - - Generates a from a specified . - - - - - Generate a from the specified type. - - The type to generate a from. - A generated from the specified type. - - - - Generate a from the specified type. - - The type to generate a from. - The used to resolve schema references. - A generated from the specified type. - - - - Generate a from the specified type. - - The type to generate a from. - Specify whether the generated root will be nullable. - A generated from the specified type. - - - - Generate a from the specified type. - - The type to generate a from. - The used to resolve schema references. - Specify whether the generated root will be nullable. - A generated from the specified type. - - - - Gets or sets how undefined schemas are handled by the serializer. - - - - - Gets or sets the contract resolver. - - The contract resolver. - - - - The value types allowed by the . - - - - - No type specified. - - - - - String type. - - - - - Float type. - - - - - Integer type. - - - - - Boolean type. - - - - - Object type. - - - - - Array type. - - - - - Null type. - - - - - Any type. - - - - - Contract details for a used by the . - - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Gets or sets the object member serialization. - - The member object serialization. - - - - Gets the object's properties. - - The object's properties. - - - - Gets or sets the parametrized constructor used to create the object. - - The parametrized constructor. - - - - Contract details for a used by the . - - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Get and set values for a using reflection. - - - - - Initializes a new instance of the class. - - The member info. - - - - Sets the value. - - The target to set the value on. - The value to set on the target. - - - - Gets the value. - - The target to get the value from. - The value. - - - - When applied to a method, specifies that the method is called when an error occurs serializing an object. - - - - - Represents a method that constructs an object. - - - - - Specifies type name handling options for the . - - - - - Do not include the .NET type name when serializing types. - - - - - Include the .NET type name when serializing into a JSON object structure. - - - - - Include the .NET type name when serializing into a JSON array structure. - - - - - Include the .NET type name when the type of the object being serialized is not the same as its declared type. - - - - - Always include the .NET type name when serializing. - - - - - Converts the value to the specified type. - - The type to convert the value to. - The value to convert. - The converted type. - - - - Converts the value to the specified type. - - The type to convert the value to. - The value to convert. - The culture to use when converting. - The converted type. - - - - Converts the value to the specified type. - - The value to convert. - The culture to use when converting. - The type to convert the value to. - The converted type. - - - - Converts the value to the specified type. - - The type to convert the value to. - The value to convert. - The converted value if the conversion was successful or the default value of T if it failed. - - true if initialValue was converted successfully; otherwise, false. - - - - - Converts the value to the specified type. - - The type to convert the value to. - The value to convert. - The culture to use when converting. - The converted value if the conversion was successful or the default value of T if it failed. - - true if initialValue was converted successfully; otherwise, false. - - - - - Converts the value to the specified type. - - The value to convert. - The culture to use when converting. - The type to convert the value to. - The converted value if the conversion was successful or the default value of T if it failed. - - true if initialValue was converted successfully; otherwise, false. - - - - - Converts the value to the specified type. If the value is unable to be converted, the - value is checked whether it assignable to the specified type. - - The type to convert or cast the value to. - The value to convert. - The converted type. If conversion was unsuccessful, the initial value is returned if assignable to the target type - - - - Converts the value to the specified type. If the value is unable to be converted, the - value is checked whether it assignable to the specified type. - - The type to convert or cast the value to. - The value to convert. - The culture to use when converting. - The converted type. If conversion was unsuccessful, the initial value is returned if assignable to the target type - - - - Converts the value to the specified type. If the value is unable to be converted, the - value is checked whether it assignable to the specified type. - - The value to convert. - The culture to use when converting. - The type to convert or cast the value to. - - The converted type. If conversion was unsuccessful, the initial value - is returned if assignable to the target type. - - - - - Converts the value to the specified type. If the value is unable to be converted, the - value is checked whether it assignable to the specified type. - - The type to convert the value to. - The value to convert. - The converted value if the conversion was successful or the default value of T if it failed. - - true if initialValue was converted successfully or is assignable; otherwise, false. - - - - - Converts the value to the specified type. If the value is unable to be converted, the - value is checked whether it assignable to the specified type. - - The type to convert the value to. - The value to convert. - The culture to use when converting. - The converted value if the conversion was successful or the default value of T if it failed. - - true if initialValue was converted successfully or is assignable; otherwise, false. - - - - - Converts the value to the specified type. If the value is unable to be converted, the - value is checked whether it assignable to the specified type. - - The value to convert. - The culture to use when converting. - The type to convert the value to. - The converted value if the conversion was successful or the default value of T if it failed. - - true if initialValue was converted successfully or is assignable; otherwise, false. - - - - - Parses the specified enum member name, returning it's value. - - Name of the enum member. - - - - - Parses the specified enum member name, returning it's value. - - Name of the enum member. - If set to true ignore case. - - - - - Gets a dictionary of the names and values of an Enum type. - - - - - - Gets a dictionary of the names and values of an Enum type. - - - - - - Gets a dictionary of the names and values of an Enum type. - - The enum type to get names and values for. - - - - - Gets the maximum valid value of an Enum type. Flags enums are ORed. - - The type of the returned value. Must be assignable from the enum's underlying value type. - The enum type to get the maximum value for. - - - - - Specifies the type of Json token. - - - - - This is returned by the if a method has not been called. - - - - - An object start token. - - - - - An array start token. - - - - - A constructor start token. - - - - - An object property name. - - - - - A comment. - - - - - Raw JSON. - - - - - An interger. - - - - - A float. - - - - - A string. - - - - - A boolean. - - - - - A null token. - - - - - An undefined token. - - - - - An object end token. - - - - - An array end token. - - - - - A constructor end token. - - - - - A Date. - - - - - Byte data. - - - - - Specifies the state of the . - - - - - An exception has been thrown, which has left the in an invalid state. - You may call the method to put the in the Closed state. - Any other method calls results in an being thrown. - - - - - The method has been called. - - - - - An object is being written. - - - - - A array is being written. - - - - - A constructor is being written. - - - - - A property is being written. - - - - - A write method has not been called. - - - - - Specifies formatting options for the . - - - - - No special formatting is applied. This is the default. - - - - - Causes child objects to be indented according to the and settings. - - - - - Builds a string. Unlike StringBuilder this class lets you reuse it's internal buffer. - - - - - Determines whether the collection is null or empty. - - The collection. - - true if the collection is null or empty; otherwise, false. - - - - - Determines whether the collection is null or empty. - - The collection. - - true if the collection is null or empty; otherwise, false. - - - - - Determines whether the collection is null, empty or its contents are uninitialized values. - - The list. - - true if the collection is null or empty or its contents are uninitialized values; otherwise, false. - - - - - Makes a slice of the specified list in between the start and end indexes. - - The list. - The start index. - The end index. - A slice of the list. - - - - Makes a slice of the specified list in between the start and end indexes, - getting every so many items based upon the step. - - The list. - The start index. - The end index. - The step. - A slice of the list. - - - - Group the collection using a function which returns the key. - - The source collection to group. - The key selector. - A Dictionary with each key relating to a list of objects in a list grouped under it. - - - - Adds the elements of the specified collection to the specified generic IList. - - The list to add to. - The collection of elements to add. - - - - Gets the type of the typed collection's items. - - The type. - The type of the typed collection's items. - - - - Tests whether the list's items are their unitialized value. - - The list. - Whether the list's items are their unitialized value - - - - Gets the member's underlying type. - - The member. - The underlying type of the member. - - - - Determines whether the member is an indexed property. - - The member. - - true if the member is an indexed property; otherwise, false. - - - - - Determines whether the property is an indexed property. - - The property. - - true if the property is an indexed property; otherwise, false. - - - - - Gets the member's value on the object. - - The member. - The target object. - The member's value on the object. - - - - Sets the member's value on the target object. - - The member. - The target. - The value. - - - - Determines whether the specified MemberInfo can be read. - - The MemberInfo to determine whether can be read. - /// if set to true then allow the member to be gotten non-publicly. - - true if the specified MemberInfo can be read; otherwise, false. - - - - - Determines whether the specified MemberInfo can be set. - - The MemberInfo to determine whether can be set. - if set to true then allow the member to be set non-publicly. - - true if the specified MemberInfo can be set; otherwise, false. - - - - - Determines whether the string contains white space. - - The string to test for white space. - - true if the string contains white space; otherwise, false. - - - - - Determines whether the string is all white space. Empty string will return false. - - The string to test whether it is all white space. - - true if the string is all white space; otherwise, false. - - - - - Ensures the target string ends with the specified string. - - The target. - The value. - The target string with the value string at the end. - - - - Perform an action if the string is not null or empty. - - The value. - The action to perform. - - - - Indents the specified string. - - The string to indent. - The number of characters to indent by. - - - - - Indents the specified string. - - The string to indent. - The number of characters to indent by. - The indent character. - - - - - Numbers the lines. - - The string to number. - - - - - Nulls an empty string. - - The string. - Null if the string was null, otherwise the string unchanged. - - - diff --git a/lib/Symbiote.Log4Net/Symbiote.Core.dll b/lib/Symbiote.Log4Net/Symbiote.Core.dll deleted file mode 100644 index 425b69a..0000000 Binary files a/lib/Symbiote.Log4Net/Symbiote.Core.dll and /dev/null differ diff --git a/lib/Symbiote.Log4Net/Symbiote.Core.pdb b/lib/Symbiote.Log4Net/Symbiote.Core.pdb deleted file mode 100644 index 9e4470a..0000000 Binary files a/lib/Symbiote.Log4Net/Symbiote.Core.pdb and /dev/null differ diff --git a/lib/Symbiote.Log4Net/Symbiote.Log4Net.dll b/lib/Symbiote.Log4Net/Symbiote.Log4Net.dll deleted file mode 100644 index d300f72..0000000 Binary files a/lib/Symbiote.Log4Net/Symbiote.Log4Net.dll and /dev/null differ diff --git a/lib/Symbiote.Log4Net/Symbiote.Log4Net.pdb b/lib/Symbiote.Log4Net/Symbiote.Log4Net.pdb deleted file mode 100644 index d85126e..0000000 Binary files a/lib/Symbiote.Log4Net/Symbiote.Log4Net.pdb and /dev/null differ diff --git a/lib/Symbiote.Log4Net/log4net.dll b/lib/Symbiote.Log4Net/log4net.dll deleted file mode 100644 index ffc57e1..0000000 Binary files a/lib/Symbiote.Log4Net/log4net.dll and /dev/null differ diff --git a/lib/Symbiote.Log4Net/log4net.xml b/lib/Symbiote.Log4Net/log4net.xml deleted file mode 100644 index db9e99f..0000000 --- a/lib/Symbiote.Log4Net/log4net.xml +++ /dev/null @@ -1,28655 +0,0 @@ - - - - log4net - - - - - Appender that logs to a database. - - - - appends logging events to a table within a - database. The appender can be configured to specify the connection - string by setting the property. - The connection type (provider) can be specified by setting the - property. For more information on database connection strings for - your specific database see http://www.connectionstrings.com/. - - - Records are written into the database either using a prepared - statement or a stored procedure. The property - is set to (System.Data.CommandType.Text) to specify a prepared statement - or to (System.Data.CommandType.StoredProcedure) to specify a stored - procedure. - - - The prepared statement text or the name of the stored procedure - must be set in the property. - - - The prepared statement or stored procedure can take a number - of parameters. Parameters are added using the - method. This adds a single to the - ordered list of parameters. The - type may be subclassed if required to provide database specific - functionality. The specifies - the parameter name, database type, size, and how the value should - be generated using a . - - - - An example of a SQL Server table that could be logged to: - - CREATE TABLE [dbo].[Log] ( - [ID] [int] IDENTITY (1, 1) NOT NULL , - [Date] [datetime] NOT NULL , - [Thread] [varchar] (255) NOT NULL , - [Level] [varchar] (20) NOT NULL , - [Logger] [varchar] (255) NOT NULL , - [Message] [varchar] (4000) NOT NULL - ) ON [PRIMARY] - - - - An example configuration to log to the above table: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Julian Biddle - Nicko Cadell - Gert Driesen - Lance Nehring - - - - Abstract base class implementation of that - buffers events in a fixed size buffer. - - - - This base class should be used by appenders that need to buffer a - number of events before logging them. For example the - buffers events and then submits the entire contents of the buffer to - the underlying database in one go. - - - Subclasses should override the - method to deliver the buffered events. - - The BufferingAppenderSkeleton maintains a fixed size cyclic - buffer of events. The size of the buffer is set using - the property. - - A is used to inspect - each event as it arrives in the appender. If the - triggers, then the current buffer is sent immediately - (see ). Otherwise the event - is stored in the buffer. For example, an evaluator can be used to - deliver the events immediately when an ERROR event arrives. - - - The buffering appender can be configured in a mode. - By default the appender is NOT lossy. When the buffer is full all - the buffered events are sent with . - If the property is set to true then the - buffer will not be sent when it is full, and new events arriving - in the appender will overwrite the oldest event in the buffer. - In lossy mode the buffer will only be sent when the - triggers. This can be useful behavior when you need to know about - ERROR events but not about events with a lower level, configure an - evaluator that will trigger when an ERROR event arrives, the whole - buffer will be sent which gives a history of events leading up to - the ERROR event. - - - Nicko Cadell - Gert Driesen - - - - Abstract base class implementation of . - - - - This class provides the code for common functionality, such - as support for threshold filtering and support for general filters. - - - Appenders can also implement the interface. Therefore - they would require that the method - be called after the appenders properties have been configured. - - - Nicko Cadell - Gert Driesen - - - - Implement this interface for your own strategies for printing log statements. - - - - Implementors should consider extending the - class which provides a default implementation of this interface. - - - Appenders can also implement the interface. Therefore - they would require that the method - be called after the appenders properties have been configured. - - - Nicko Cadell - Gert Driesen - - - - Closes the appender and releases resources. - - - - Releases any resources allocated within the appender such as file handles, - network connections, etc. - - - It is a programming error to append to a closed appender. - - - - - - Log the logging event in Appender specific way. - - The event to log - - - This method is called to log a message into this appender. - - - - - - Gets or sets the name of this appender. - - The name of the appender. - - The name uniquely identifies the appender. - - - - - Interface for appenders that support bulk logging. - - - - This interface extends the interface to - support bulk logging of objects. Appenders - should only implement this interface if they can bulk log efficiently. - - - Nicko Cadell - - - - Log the array of logging events in Appender specific way. - - The events to log - - - This method is called to log an array of events into this appender. - - - - - - Interface used to delay activate a configured object. - - - - This allows an object to defer activation of its options until all - options have been set. This is required for components which have - related options that remain ambiguous until all are set. - - - If a component implements this interface then the method - must be called by the container after its all the configured properties have been set - and before the component can be used. - - - Nicko Cadell - - - - Activate the options that were previously set with calls to properties. - - - - This allows an object to defer activation of its options until all - options have been set. This is required for components which have - related options that remain ambiguous until all are set. - - - If a component implements this interface then this method must be called - after its properties have been set before the component can be used. - - - - - - Initial buffer size - - - - - Maximum buffer size before it is recycled - - - - - Default constructor - - - Empty default constructor - - - - - Finalizes this appender by calling the implementation's - method. - - - - If this appender has not been closed then the Finalize method - will call . - - - - - - Initialize the appender based on the options set - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Closes the appender and release resources. - - - - Release any resources allocated within the appender such as file handles, - network connections, etc. - - - It is a programming error to append to a closed appender. - - - This method cannot be overridden by subclasses. This method - delegates the closing of the appender to the - method which must be overridden in the subclass. - - - - - - Performs threshold checks and invokes filters before - delegating actual logging to the subclasses specific - method. - - The event to log. - - - This method cannot be overridden by derived classes. A - derived class should override the method - which is called by this method. - - - The implementation of this method is as follows: - - - - - - Checks that the severity of the - is greater than or equal to the of this - appender. - - - - Checks that the chain accepts the - . - - - - - Calls and checks that - it returns true. - - - - - If all of the above steps succeed then the - will be passed to the abstract method. - - - - - - Performs threshold checks and invokes filters before - delegating actual logging to the subclasses specific - method. - - The array of events to log. - - - This method cannot be overridden by derived classes. A - derived class should override the method - which is called by this method. - - - The implementation of this method is as follows: - - - - - - Checks that the severity of the - is greater than or equal to the of this - appender. - - - - Checks that the chain accepts the - . - - - - - Calls and checks that - it returns true. - - - - - If all of the above steps succeed then the - will be passed to the method. - - - - - - Test if the logging event should we output by this appender - - the event to test - true if the event should be output, false if the event should be ignored - - - This method checks the logging event against the threshold level set - on this appender and also against the filters specified on this - appender. - - - The implementation of this method is as follows: - - - - - - Checks that the severity of the - is greater than or equal to the of this - appender. - - - - Checks that the chain accepts the - . - - - - - - - - - Adds a filter to the end of the filter chain. - - the filter to add to this appender - - - The Filters are organized in a linked list. - - - Setting this property causes the new filter to be pushed onto the - back of the filter chain. - - - - - - Clears the filter list for this appender. - - - - Clears the filter list for this appender. - - - - - - Checks if the message level is below this appender's threshold. - - to test against. - - - If there is no threshold set, then the return value is always true. - - - - true if the meets the - requirements of this appender. - - - - - Is called when the appender is closed. Derived classes should override - this method if resources need to be released. - - - - Releases any resources allocated within the appender such as file handles, - network connections, etc. - - - It is a programming error to append to a closed appender. - - - - - - Subclasses of should implement this method - to perform actual logging. - - The event to append. - - - A subclass must implement this method to perform - logging of the . - - This method will be called by - if all the conditions listed for that method are met. - - - To restrict the logging of events in the appender - override the method. - - - - - - Append a bulk array of logging events. - - the array of logging events - - - This base class implementation calls the - method for each element in the bulk array. - - - A sub class that can better process a bulk array of events should - override this method in addition to . - - - - - - Called before as a precondition. - - - - This method is called by - before the call to the abstract method. - - - This method can be overridden in a subclass to extend the checks - made before the event is passed to the method. - - - A subclass should ensure that they delegate this call to - this base class if it is overridden. - - - true if the call to should proceed. - - - - Renders the to a string. - - The event to render. - The event rendered as a string. - - - Helper method to render a to - a string. This appender must have a - set to render the to - a string. - - If there is exception data in the logging event and - the layout does not process the exception, this method - will append the exception text to the rendered string. - - - Where possible use the alternative version of this method - . - That method streams the rendering onto an existing Writer - which can give better performance if the caller already has - a open and ready for writing. - - - - - - Renders the to a string. - - The event to render. - The TextWriter to write the formatted event to - - - Helper method to render a to - a string. This appender must have a - set to render the to - a string. - - If there is exception data in the logging event and - the layout does not process the exception, this method - will append the exception text to the rendered string. - - - Use this method in preference to - where possible. If, however, the caller needs to render the event - to a string then does - provide an efficient mechanism for doing so. - - - - - - The layout of this appender. - - - See for more information. - - - - - The name of this appender. - - - See for more information. - - - - - The level threshold of this appender. - - - - There is no level threshold filtering by default. - - - See for more information. - - - - - - It is assumed and enforced that errorHandler is never null. - - - - It is assumed and enforced that errorHandler is never null. - - - See for more information. - - - - - - The first filter in the filter chain. - - - - Set to null initially. - - - See for more information. - - - - - - The last filter in the filter chain. - - - See for more information. - - - - - Flag indicating if this appender is closed. - - - See for more information. - - - - - The guard prevents an appender from repeatedly calling its own DoAppend method - - - - - StringWriter used to render events - - - - - Gets or sets the threshold of this appender. - - - The threshold of the appender. - - - - All log events with lower level than the threshold level are ignored - by the appender. - - - In configuration files this option is specified by setting the - value of the option to a level - string, such as "DEBUG", "INFO" and so on. - - - - - - Gets or sets the for this appender. - - The of the appender - - - The provides a default - implementation for the property. - - - - - - The filter chain. - - The head of the filter chain filter chain. - - - Returns the head Filter. The Filters are organized in a linked list - and so all Filters on this Appender are available through the result. - - - - - - Gets or sets the for this appender. - - The layout of the appender. - - - See for more information. - - - - - - - Gets or sets the name of this appender. - - The name of the appender. - - - The name uniquely identifies the appender. - - - - - - Tests if this appender requires a to be set. - - - - In the rather exceptional case, where the appender - implementation admits a layout but can also work without it, - then the appender should return true. - - - This default implementation always returns true. - - - - true if the appender requires a layout object, otherwise false. - - - - - The default buffer size. - - - The default size of the cyclic buffer used to store events. - This is set to 512 by default. - - - - - Initializes a new instance of the class. - - - - Protected default constructor to allow subclassing. - - - - - - Initializes a new instance of the class. - - the events passed through this appender must be - fixed by the time that they arrive in the derived class' SendBuffer method. - - - Protected constructor to allow subclassing. - - - The should be set if the subclass - expects the events delivered to be fixed even if the - is set to zero, i.e. when no buffering occurs. - - - - - - Flush the currently buffered events - - - - Flushes any events that have been buffered. - - - If the appender is buffering in mode then the contents - of the buffer will NOT be flushed to the appender. - - - - - - Flush the currently buffered events - - set to true to flush the buffer of lossy events - - - Flushes events that have been buffered. If is - false then events will only be flushed if this buffer is non-lossy mode. - - - If the appender is buffering in mode then the contents - of the buffer will only be flushed if is true. - In this case the contents of the buffer will be tested against the - and if triggering will be output. All other buffered - events will be discarded. - - - If is true then the buffer will always - be emptied by calling this method. - - - - - - Initialize the appender based on the options set - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Close this appender instance. - - - - Close this appender instance. If this appender is marked - as not then the remaining events in - the buffer must be sent when the appender is closed. - - - - - - This method is called by the method. - - the event to log - - - Stores the in the cyclic buffer. - - - The buffer will be sent (i.e. passed to the - method) if one of the following conditions is met: - - - - The cyclic buffer is full and this appender is - marked as not lossy (see ) - - - An is set and - it is triggered for the - specified. - - - - Before the event is stored in the buffer it is fixed - (see ) to ensure that - any data referenced by the event will be valid when the buffer - is processed. - - - - - - Sends the contents of the buffer. - - The first logging event. - The buffer containing the events that need to be send. - - - The subclass must override . - - - - - - Sends the events. - - The events that need to be send. - - - The subclass must override this method to process the buffered events. - - - - - - The size of the cyclic buffer used to hold the logging events. - - - Set to by default. - - - - - The cyclic buffer used to store the logging events. - - - - - The triggering event evaluator that causes the buffer to be sent immediately. - - - The object that is used to determine if an event causes the entire - buffer to be sent immediately. This field can be null, which - indicates that event triggering is not to be done. The evaluator - can be set using the property. If this appender - has the ( property) set to - true then an must be set. - - - - - Indicates if the appender should overwrite events in the cyclic buffer - when it becomes full, or if the buffer should be flushed when the - buffer is full. - - - If this field is set to true then an must - be set. - - - - - The triggering event evaluator filters discarded events. - - - The object that is used to determine if an event that is discarded should - really be discarded or if it should be sent to the appenders. - This field can be null, which indicates that all discarded events will - be discarded. - - - - - Value indicating which fields in the event should be fixed - - - By default all fields are fixed - - - - - The events delivered to the subclass must be fixed. - - - - - Gets or sets a value that indicates whether the appender is lossy. - - - true if the appender is lossy, otherwise false. The default is false. - - - - This appender uses a buffer to store logging events before - delivering them. A triggering event causes the whole buffer - to be send to the remote sink. If the buffer overruns before - a triggering event then logging events could be lost. Set - to false to prevent logging events - from being lost. - - If is set to true then an - must be specified. - - - - - Gets or sets the size of the cyclic buffer used to hold the - logging events. - - - The size of the cyclic buffer used to hold the logging events. - - - - The option takes a positive integer - representing the maximum number of logging events to collect in - a cyclic buffer. When the is reached, - oldest events are deleted as new events are added to the - buffer. By default the size of the cyclic buffer is 512 events. - - - If the is set to a value less than - or equal to 1 then no buffering will occur. The logging event - will be delivered synchronously (depending on the - and properties). Otherwise the event will - be buffered. - - - - - - Gets or sets the that causes the - buffer to be sent immediately. - - - The that causes the buffer to be - sent immediately. - - - - The evaluator will be called for each event that is appended to this - appender. If the evaluator triggers then the current buffer will - immediately be sent (see ). - - If is set to true then an - must be specified. - - - - - Gets or sets the value of the to use. - - - The value of the to use. - - - - The evaluator will be called for each event that is discarded from this - appender. If the evaluator triggers then the current buffer will immediately - be sent (see ). - - - - - - Gets or sets a value indicating if only part of the logging event data - should be fixed. - - - true if the appender should only fix part of the logging event - data, otherwise false. The default is false. - - - - Setting this property to true will cause only part of the - event data to be fixed and serialized. This will improve performance. - - - See for more information. - - - - - - Gets or sets a the fields that will be fixed in the event - - - The event fields that will be fixed before the event is buffered - - - - The logging event needs to have certain thread specific values - captured before it can be buffered. See - for details. - - - - - - - Initializes a new instance of the class. - - - Public default constructor to initialize a new instance of this class. - - - - - Initialize the appender based on the options set - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Override the parent method to close the database - - - - Closes the database command and database connection. - - - - - - Inserts the events into the database. - - The events to insert into the database. - - - Insert all the events specified in the - array into the database. - - - - - - Adds a parameter to the command. - - The parameter to add to the command. - - - Adds a parameter to the ordered list of command parameters. - - - - - - Writes the events to the database using the transaction specified. - - The transaction that the events will be executed under. - The array of events to insert into the database. - - - The transaction argument can be null if the appender has been - configured not to use transactions. See - property for more information. - - - - - - Formats the log message into database statement text. - - The event being logged. - - This method can be overridden by subclasses to provide - more control over the format of the database statement. - - - Text that can be passed to a . - - - - - Connects to the database. - - - - - Retrieves the class type of the ADO.NET provider. - - - - Gets the Type of the ADO.NET provider to use to connect to the - database. This method resolves the type specified in the - property. - - - Subclasses can override this method to return a different type - if necessary. - - - The of the ADO.NET provider - - - - Prepares the database command and initialize the parameters. - - - - - Flag to indicate if we are using a command object - - - - Set to true when the appender is to use a prepared - statement or stored procedure to insert into the database. - - - - - - The list of objects. - - - - The list of objects. - - - - - - The security context to use for privileged calls - - - - - The that will be used - to insert logging events into a database. - - - - - The database command. - - - - - Database connection string. - - - - - String type name of the type name. - - - - - The text of the command. - - - - - The command type. - - - - - Indicates whether to use transactions when writing to the database. - - - - - Indicates whether to use transactions when writing to the database. - - - - - Gets or sets the database connection string that is used to connect to - the database. - - - The database connection string used to connect to the database. - - - - The connections string is specific to the connection type. - See for more information. - - - Connection string for MS Access via ODBC: - "DSN=MS Access Database;UID=admin;PWD=;SystemDB=C:\data\System.mdw;SafeTransactions = 0;FIL=MS Access;DriverID = 25;DBQ=C:\data\train33.mdb" - - Another connection string for MS Access via ODBC: - "Driver={Microsoft Access Driver (*.mdb)};DBQ=C:\Work\cvs_root\log4net-1.2\access.mdb;UID=;PWD=;" - - Connection string for MS Access via OLE DB: - "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Work\cvs_root\log4net-1.2\access.mdb;User Id=;Password=;" - - - - - Gets or sets the type name of the connection - that should be created. - - - The type name of the connection. - - - - The type name of the ADO.NET provider to use. - - - The default is to use the OLE DB provider. - - - Use the OLE DB Provider. This is the default value. - System.Data.OleDb.OleDbConnection, System.Data, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - Use the MS SQL Server Provider. - System.Data.SqlClient.SqlConnection, System.Data, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - Use the ODBC Provider. - Microsoft.Data.Odbc.OdbcConnection,Microsoft.Data.Odbc,version=1.0.3300.0,publicKeyToken=b77a5c561934e089,culture=neutral - This is an optional package that you can download from - http://msdn.microsoft.com/downloads - search for ODBC .NET Data Provider. - - Use the Oracle Provider. - System.Data.OracleClient.OracleConnection, System.Data.OracleClient, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - This is an optional package that you can download from - http://msdn.microsoft.com/downloads - search for .NET Managed Provider for Oracle. - - - - - Gets or sets the command text that is used to insert logging events - into the database. - - - The command text used to insert logging events into the database. - - - - Either the text of the prepared statement or the - name of the stored procedure to execute to write into - the database. - - - The property determines if - this text is a prepared statement or a stored procedure. - - - - - - Gets or sets the command type to execute. - - - The command type to execute. - - - - This value may be either (System.Data.CommandType.Text) to specify - that the is a prepared statement to execute, - or (System.Data.CommandType.StoredProcedure) to specify that the - property is the name of a stored procedure - to execute. - - - The default value is (System.Data.CommandType.Text). - - - - - - Should transactions be used to insert logging events in the database. - - - true if transactions should be used to insert logging events in - the database, otherwise false. The default value is true. - - - - Gets or sets a value that indicates whether transactions should be used - to insert logging events in the database. - - - When set a single transaction will be used to insert the buffered events - into the database. Otherwise each event will be inserted without using - an explicit transaction. - - - - - - Gets or sets the used to call the NetSend method. - - - The used to call the NetSend method. - - - - Unless a specified here for this appender - the is queried for the - security context to use. The default behavior is to use the security context - of the current thread. - - - - - - Should this appender try to reconnect to the database on error. - - - true if the appender should try to reconnect to the database after an - error has occurred, otherwise false. The default value is false, - i.e. not to try to reconnect. - - - - The default behaviour is for the appender not to try to reconnect to the - database if an error occurs. Subsequent logging events are discarded. - - - To force the appender to attempt to reconnect to the database set this - property to true. - - - When the appender attempts to connect to the database there may be a - delay of up to the connection timeout specified in the connection string. - This delay will block the calling application's thread. - Until the connection can be reestablished this potential delay may occur multiple times. - - - - - - Gets or sets the underlying . - - - The underlying . - - - creates a to insert - logging events into a database. Classes deriving from - can use this property to get or set this . Use the - underlying returned from if - you require access beyond that which provides. - - - - - Parameter type used by the . - - - - This class provides the basic database parameter properties - as defined by the interface. - - This type can be subclassed to provide database specific - functionality. The two methods that are called externally are - and . - - - - - - Initializes a new instance of the class. - - - Default constructor for the AdoNetAppenderParameter class. - - - - - Prepare the specified database command object. - - The command to prepare. - - - Prepares the database command object by adding - this parameter to its collection of parameters. - - - - - - Renders the logging event and set the parameter value in the command. - - The command containing the parameter. - The event to be rendered. - - - Renders the logging event using this parameters layout - object. Sets the value of the parameter on the command object. - - - - - - The name of this parameter. - - - - - The database type for this parameter. - - - - - Flag to infer type rather than use the DbType - - - - - The precision for this parameter. - - - - - The scale for this parameter. - - - - - The size for this parameter. - - - - - The to use to render the - logging event into an object for this parameter. - - - - - Gets or sets the name of this parameter. - - - The name of this parameter. - - - - The name of this parameter. The parameter name - must match up to a named parameter to the SQL stored procedure - or prepared statement. - - - - - - Gets or sets the database type for this parameter. - - - The database type for this parameter. - - - - The database type for this parameter. This property should - be set to the database type from the - enumeration. See . - - - This property is optional. If not specified the ADO.NET provider - will attempt to infer the type from the value. - - - - - - - Gets or sets the precision for this parameter. - - - The precision for this parameter. - - - - The maximum number of digits used to represent the Value. - - - This property is optional. If not specified the ADO.NET provider - will attempt to infer the precision from the value. - - - - - - - Gets or sets the scale for this parameter. - - - The scale for this parameter. - - - - The number of decimal places to which Value is resolved. - - - This property is optional. If not specified the ADO.NET provider - will attempt to infer the scale from the value. - - - - - - - Gets or sets the size for this parameter. - - - The size for this parameter. - - - - The maximum size, in bytes, of the data within the column. - - - This property is optional. If not specified the ADO.NET provider - will attempt to infer the size from the value. - - - - - - - Gets or sets the to use to - render the logging event into an object for this - parameter. - - - The used to render the - logging event into an object for this parameter. - - - - The that renders the value for this - parameter. - - - The can be used to adapt - any into a - for use in the property. - - - - - - Appends logging events to the terminal using ANSI color escape sequences. - - - - AnsiColorTerminalAppender appends log events to the standard output stream - or the error output stream using a layout specified by the - user. It also allows the color of a specific level of message to be set. - - - This appender expects the terminal to understand the VT100 control set - in order to interpret the color codes. If the terminal or console does not - understand the control codes the behavior is not defined. - - - By default, all output is written to the console's standard output stream. - The property can be set to direct the output to the - error stream. - - - NOTE: This appender writes each message to the System.Console.Out or - System.Console.Error that is set at the time the event is appended. - Therefore it is possible to programmatically redirect the output of this appender - (for example NUnit does this to capture program output). While this is the desired - behavior of this appender it may have security implications in your application. - - - When configuring the ANSI colored terminal appender, a mapping should be - specified to map a logging level to a color. For example: - - - - - - - - - - - - - - - The Level is the standard log4net logging level and ForeColor and BackColor can be any - of the following values: - - Blue - Green - Red - White - Yellow - Purple - Cyan - - These color values cannot be combined together to make new colors. - - - The attributes can be any combination of the following: - - Brightforeground is brighter - Dimforeground is dimmer - Underscoremessage is underlined - Blinkforeground is blinking (does not work on all terminals) - Reverseforeground and background are reversed - Hiddenoutput is hidden - Strikethroughmessage has a line through it - - While any of these attributes may be combined together not all combinations - work well together, for example setting both Bright and Dim attributes makes - no sense. - - - Patrick Wagstrom - Nicko Cadell - - - - The to use when writing to the Console - standard output stream. - - - - The to use when writing to the Console - standard output stream. - - - - - - The to use when writing to the Console - standard error output stream. - - - - The to use when writing to the Console - standard error output stream. - - - - - - Ansi code to reset terminal - - - - - Initializes a new instance of the class. - - - The instance of the class is set up to write - to the standard output stream. - - - - - Add a mapping of level to color - - The mapping to add - - - Add a mapping to this appender. - Each mapping defines the foreground and background colours - for a level. - - - - - - This method is called by the method. - - The event to log. - - - Writes the event to the console. - - - The format of the output will depend on the appender's layout. - - - - - - Initialize the options for this appender - - - - Initialize the level to color mappings set on this appender. - - - - - - Flag to write output to the error stream rather than the standard output stream - - - - - Mapping from level object to color value - - - - - Target is the value of the console output stream. - - - Target is the value of the console output stream. - This is either "Console.Out" or "Console.Error". - - - - Target is the value of the console output stream. - This is either "Console.Out" or "Console.Error". - - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - The enum of possible display attributes - - - - The following flags can be combined together to - form the ANSI color attributes. - - - - - - - text is bright - - - - - text is dim - - - - - text is underlined - - - - - text is blinking - - - Not all terminals support this attribute - - - - - text and background colors are reversed - - - - - text is hidden - - - - - text is displayed with a strikethrough - - - - - The enum of possible foreground or background color values for - use with the color mapping method - - - - The output can be in one for the following ANSI colors. - - - - - - - color is black - - - - - color is red - - - - - color is green - - - - - color is yellow - - - - - color is blue - - - - - color is magenta - - - - - color is cyan - - - - - color is white - - - - - A class to act as a mapping between the level that a logging call is made at and - the color it should be displayed as. - - - - Defines the mapping between a level and the color it should be displayed in. - - - - - - An entry in the - - - - This is an abstract base class for types that are stored in the - object. - - - Nicko Cadell - - - - Default protected constructor - - - - Default protected constructor - - - - - - Initialize any options defined on this entry - - - - Should be overridden by any classes that need to initialise based on their options - - - - - - The level that is the key for this mapping - - - The that is the key for this mapping - - - - Get or set the that is the key for this - mapping subclass. - - - - - - Initialize the options for the object - - - - Combine the and together - and append the attributes. - - - - - - The mapped foreground color for the specified level - - - - Required property. - The mapped foreground color for the specified level - - - - - - The mapped background color for the specified level - - - - Required property. - The mapped background color for the specified level - - - - - - The color attributes for the specified level - - - - Required property. - The color attributes for the specified level - - - - - - The combined , and - suitable for setting the ansi terminal color. - - - - - A strongly-typed collection of objects. - - Nicko Cadell - - - - Creates a read-only wrapper for a AppenderCollection instance. - - list to create a readonly wrapper arround - - An AppenderCollection wrapper that is read-only. - - - - - An empty readonly static AppenderCollection - - - - - Initializes a new instance of the AppenderCollection class - that is empty and has the default initial capacity. - - - - - Initializes a new instance of the AppenderCollection class - that has the specified initial capacity. - - - The number of elements that the new AppenderCollection is initially capable of storing. - - - - - Initializes a new instance of the AppenderCollection class - that contains elements copied from the specified AppenderCollection. - - The AppenderCollection whose elements are copied to the new collection. - - - - Initializes a new instance of the AppenderCollection class - that contains elements copied from the specified array. - - The array whose elements are copied to the new list. - - - - Initializes a new instance of the AppenderCollection class - that contains elements copied from the specified collection. - - The collection whose elements are copied to the new list. - - - - Allow subclasses to avoid our default constructors - - - - - - - Copies the entire AppenderCollection to a one-dimensional - array. - - The one-dimensional array to copy to. - - - - Copies the entire AppenderCollection to a one-dimensional - array, starting at the specified index of the target array. - - The one-dimensional array to copy to. - The zero-based index in at which copying begins. - - - - Adds a to the end of the AppenderCollection. - - The to be added to the end of the AppenderCollection. - The index at which the value has been added. - - - - Removes all elements from the AppenderCollection. - - - - - Creates a shallow copy of the . - - A new with a shallow copy of the collection data. - - - - Determines whether a given is in the AppenderCollection. - - The to check for. - true if is found in the AppenderCollection; otherwise, false. - - - - Returns the zero-based index of the first occurrence of a - in the AppenderCollection. - - The to locate in the AppenderCollection. - - The zero-based index of the first occurrence of - in the entire AppenderCollection, if found; otherwise, -1. - - - - - Inserts an element into the AppenderCollection at the specified index. - - The zero-based index at which should be inserted. - The to insert. - - is less than zero - -or- - is equal to or greater than . - - - - - Removes the first occurrence of a specific from the AppenderCollection. - - The to remove from the AppenderCollection. - - The specified was not found in the AppenderCollection. - - - - - Removes the element at the specified index of the AppenderCollection. - - The zero-based index of the element to remove. - - is less than zero - -or- - is equal to or greater than . - - - - - Returns an enumerator that can iterate through the AppenderCollection. - - An for the entire AppenderCollection. - - - - Adds the elements of another AppenderCollection to the current AppenderCollection. - - The AppenderCollection whose elements should be added to the end of the current AppenderCollection. - The new of the AppenderCollection. - - - - Adds the elements of a array to the current AppenderCollection. - - The array whose elements should be added to the end of the AppenderCollection. - The new of the AppenderCollection. - - - - Adds the elements of a collection to the current AppenderCollection. - - The collection whose elements should be added to the end of the AppenderCollection. - The new of the AppenderCollection. - - - - Sets the capacity to the actual number of elements. - - - - - Return the collection elements as an array - - the array - - - - is less than zero - -or- - is equal to or greater than . - - - - - is less than zero - -or- - is equal to or greater than . - - - - - Gets the number of elements actually contained in the AppenderCollection. - - - - - Gets a value indicating whether access to the collection is synchronized (thread-safe). - - true if access to the ICollection is synchronized (thread-safe); otherwise, false. - - - - Gets an object that can be used to synchronize access to the collection. - - - - - Gets or sets the at the specified index. - - The zero-based index of the element to get or set. - - is less than zero - -or- - is equal to or greater than . - - - - - Gets a value indicating whether the collection has a fixed size. - - true if the collection has a fixed size; otherwise, false. The default is false - - - - Gets a value indicating whether the IList is read-only. - - true if the collection is read-only; otherwise, false. The default is false - - - - Gets or sets the number of elements the AppenderCollection can contain. - - - - - Supports type-safe iteration over a . - - - - - - Advances the enumerator to the next element in the collection. - - - true if the enumerator was successfully advanced to the next element; - false if the enumerator has passed the end of the collection. - - - The collection was modified after the enumerator was created. - - - - - Sets the enumerator to its initial position, before the first element in the collection. - - - - - Gets the current element in the collection. - - - - - Type visible only to our subclasses - Used to access protected constructor - - - - - - A value - - - - - Supports simple iteration over a . - - - - - - Initializes a new instance of the Enumerator class. - - - - - - Advances the enumerator to the next element in the collection. - - - true if the enumerator was successfully advanced to the next element; - false if the enumerator has passed the end of the collection. - - - The collection was modified after the enumerator was created. - - - - - Sets the enumerator to its initial position, before the first element in the collection. - - - - - Gets the current element in the collection. - - - - - - - - - Appends log events to the ASP.NET system. - - - - - Diagnostic information and tracing messages that you specify are appended to the output - of the page that is sent to the requesting browser. Optionally, you can view this information - from a separate trace viewer (Trace.axd) that displays trace information for every page in a - given application. - - - Trace statements are processed and displayed only when tracing is enabled. You can control - whether tracing is displayed to a page, to the trace viewer, or both. - - - The logging event is passed to the or - method depending on the level of the logging event. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Default constructor. - - - - - - Write the logging event to the ASP.NET trace - - the event to log - - - Write the logging event to the ASP.NET trace - HttpContext.Current.Trace - (). - - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - Buffers events and then forwards them to attached appenders. - - - - The events are buffered in this appender until conditions are - met to allow the appender to deliver the events to the attached - appenders. See for the - conditions that cause the buffer to be sent. - - The forwarding appender can be used to specify different - thresholds and filters for the same appender at different locations - within the hierarchy. - - - Nicko Cadell - Gert Driesen - - - - Interface for attaching appenders to objects. - - - - Interface for attaching, removing and retrieving appenders. - - - Nicko Cadell - Gert Driesen - - - - Attaches an appender. - - The appender to add. - - - Add the specified appender. The implementation may - choose to allow or deny duplicate appenders. - - - - - - Gets an attached appender with the specified name. - - The name of the appender to get. - - The appender with the name specified, or null if no appender with the - specified name is found. - - - - Returns an attached appender with the specified. - If no appender with the specified name is found null will be - returned. - - - - - - Removes all attached appenders. - - - - Removes and closes all attached appenders - - - - - - Removes the specified appender from the list of attached appenders. - - The appender to remove. - The appender removed from the list - - - The appender removed is not closed. - If you are discarding the appender you must call - on the appender removed. - - - - - - Removes the appender with the specified name from the list of appenders. - - The name of the appender to remove. - The appender removed from the list - - - The appender removed is not closed. - If you are discarding the appender you must call - on the appender removed. - - - - - - Gets all attached appenders. - - - A collection of attached appenders. - - - - Gets a collection of attached appenders. - If there are no attached appenders the - implementation should return an empty - collection rather than null. - - - - - - Initializes a new instance of the class. - - - - Default constructor. - - - - - - Closes the appender and releases resources. - - - - Releases any resources allocated within the appender such as file handles, - network connections, etc. - - - It is a programming error to append to a closed appender. - - - - - - Send the events. - - The events that need to be send. - - - Forwards the events to the attached appenders. - - - - - - Adds an to the list of appenders of this - instance. - - The to add to this appender. - - - If the specified is already in the list of - appenders, then it won't be added again. - - - - - - Looks for the appender with the specified name. - - The name of the appender to lookup. - - The appender with the specified name, or null. - - - - Get the named appender attached to this buffering appender. - - - - - - Removes all previously added appenders from this appender. - - - - This is useful when re-reading configuration information. - - - - - - Removes the specified appender from the list of appenders. - - The appender to remove. - The appender removed from the list - - The appender removed is not closed. - If you are discarding the appender you must call - on the appender removed. - - - - - Removes the appender with the specified name from the list of appenders. - - The name of the appender to remove. - The appender removed from the list - - The appender removed is not closed. - If you are discarding the appender you must call - on the appender removed. - - - - - Implementation of the interface - - - - - Gets the appenders contained in this appender as an - . - - - If no appenders can be found, then an - is returned. - - - A collection of the appenders in this appender. - - - - - Appends logging events to the console. - - - - ColoredConsoleAppender appends log events to the standard output stream - or the error output stream using a layout specified by the - user. It also allows the color of a specific type of message to be set. - - - By default, all output is written to the console's standard output stream. - The property can be set to direct the output to the - error stream. - - - NOTE: This appender writes directly to the application's attached console - not to the System.Console.Out or System.Console.Error TextWriter. - The System.Console.Out and System.Console.Error streams can be - programmatically redirected (for example NUnit does this to capture program output). - This appender will ignore these redirections because it needs to use Win32 - API calls to colorize the output. To respect these redirections the - must be used. - - - When configuring the colored console appender, mapping should be - specified to map a logging level to a color. For example: - - - - - - - - - - - - - - The Level is the standard log4net logging level and ForeColor and BackColor can be any - combination of the following values: - - Blue - Green - Red - White - Yellow - Purple - Cyan - HighIntensity - - - - Rick Hobbs - Nicko Cadell - - - - The to use when writing to the Console - standard output stream. - - - - The to use when writing to the Console - standard output stream. - - - - - - The to use when writing to the Console - standard error output stream. - - - - The to use when writing to the Console - standard error output stream. - - - - - - Initializes a new instance of the class. - - - The instance of the class is set up to write - to the standard output stream. - - - - - Initializes a new instance of the class - with the specified layout. - - the layout to use for this appender - - The instance of the class is set up to write - to the standard output stream. - - - - - Initializes a new instance of the class - with the specified layout. - - the layout to use for this appender - flag set to true to write to the console error stream - - When is set to true, output is written to - the standard error output stream. Otherwise, output is written to the standard - output stream. - - - - - Add a mapping of level to color - done by the config file - - The mapping to add - - - Add a mapping to this appender. - Each mapping defines the foreground and background colors - for a level. - - - - - - This method is called by the method. - - The event to log. - - - Writes the event to the console. - - - The format of the output will depend on the appender's layout. - - - - - - Initialize the options for this appender - - - - Initialize the level to color mappings set on this appender. - - - - - - Flag to write output to the error stream rather than the standard output stream - - - - - Mapping from level object to color value - - - - - The console output stream writer to write to - - - - This writer is not thread safe. - - - - - - Target is the value of the console output stream. - This is either "Console.Out" or "Console.Error". - - - Target is the value of the console output stream. - This is either "Console.Out" or "Console.Error". - - - - Target is the value of the console output stream. - This is either "Console.Out" or "Console.Error". - - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - The enum of possible color values for use with the color mapping method - - - - The following flags can be combined together to - form the colors. - - - - - - - color is blue - - - - - color is green - - - - - color is red - - - - - color is white - - - - - color is yellow - - - - - color is purple - - - - - color is cyan - - - - - color is intensified - - - - - A class to act as a mapping between the level that a logging call is made at and - the color it should be displayed as. - - - - Defines the mapping between a level and the color it should be displayed in. - - - - - - Initialize the options for the object - - - - Combine the and together. - - - - - - The mapped foreground color for the specified level - - - - Required property. - The mapped foreground color for the specified level. - - - - - - The mapped background color for the specified level - - - - Required property. - The mapped background color for the specified level. - - - - - - The combined and suitable for - setting the console color. - - - - - Appends logging events to the console. - - - - ConsoleAppender appends log events to the standard output stream - or the error output stream using a layout specified by the - user. - - - By default, all output is written to the console's standard output stream. - The property can be set to direct the output to the - error stream. - - - NOTE: This appender writes each message to the System.Console.Out or - System.Console.Error that is set at the time the event is appended. - Therefore it is possible to programmatically redirect the output of this appender - (for example NUnit does this to capture program output). While this is the desired - behavior of this appender it may have security implications in your application. - - - Nicko Cadell - Gert Driesen - - - - The to use when writing to the Console - standard output stream. - - - - The to use when writing to the Console - standard output stream. - - - - - - The to use when writing to the Console - standard error output stream. - - - - The to use when writing to the Console - standard error output stream. - - - - - - Initializes a new instance of the class. - - - The instance of the class is set up to write - to the standard output stream. - - - - - Initializes a new instance of the class - with the specified layout. - - the layout to use for this appender - - The instance of the class is set up to write - to the standard output stream. - - - - - Initializes a new instance of the class - with the specified layout. - - the layout to use for this appender - flag set to true to write to the console error stream - - When is set to true, output is written to - the standard error output stream. Otherwise, output is written to the standard - output stream. - - - - - This method is called by the method. - - The event to log. - - - Writes the event to the console. - - - The format of the output will depend on the appender's layout. - - - - - - Target is the value of the console output stream. - This is either "Console.Out" or "Console.Error". - - - Target is the value of the console output stream. - This is either "Console.Out" or "Console.Error". - - - - Target is the value of the console output stream. - This is either "Console.Out" or "Console.Error". - - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - Appends log events to the system. - - - - The application configuration file can be used to control what listeners - are actually used. See the MSDN documentation for the - class for details on configuring the - debug system. - - - Events are written using the - method. The event's logger name is passed as the value for the category name to the Write method. - - - Nicko Cadell - - - - Initializes a new instance of the . - - - - Default constructor. - - - - - - Initializes a new instance of the - with a specified layout. - - The layout to use with this appender. - - - Obsolete constructor. - - - - - - Writes the logging event to the system. - - The event to log. - - - Writes the logging event to the system. - If is true then the - is called. - - - - - - Immediate flush means that the underlying writer or output stream - will be flushed at the end of each append operation. - - - - Immediate flush is slower but ensures that each append request is - actually written. If is set to - false, then there is a good chance that the last few - logs events are not actually written to persistent media if and - when the application crashes. - - - The default value is true. - - - - - Gets or sets a value that indicates whether the appender will - flush at the end of each write. - - - The default behavior is to flush at the end of each - write. If the option is set tofalse, then the underlying - stream can defer writing to physical medium to a later time. - - - Avoiding the flush operation at the end of each append results - in a performance gain of 10 to 20 percent. However, there is safety - trade-off involved in skipping flushing. Indeed, when flushing is - skipped, then it is likely that the last few log events will not - be recorded on disk when the application exits. This is a high - price to pay even for a 20% performance gain. - - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - Writes events to the system event log. - - - - The EventID of the event log entry can be - set using the EventLogEventID property () - on the . - - - There is a limit of 32K characters for an event log message - - - When configuring the EventLogAppender a mapping can be - specified to map a logging level to an event log entry type. For example: - - - <mapping> - <level value="ERROR" /> - <eventLogEntryType value="Error" /> - </mapping> - <mapping> - <level value="DEBUG" /> - <eventLogEntryType value="Information" /> - </mapping> - - - The Level is the standard log4net logging level and eventLogEntryType can be any value - from the enum, i.e.: - - Erroran error event - Warninga warning event - Informationan informational event - - - - Aspi Havewala - Douglas de la Torre - Nicko Cadell - Gert Driesen - Thomas Voss - - - - Initializes a new instance of the class. - - - - Default constructor. - - - - - - Initializes a new instance of the class - with the specified . - - The to use with this appender. - - - Obsolete constructor. - - - - - - Add a mapping of level to - done by the config file - - The mapping to add - - - Add a mapping to this appender. - Each mapping defines the event log entry type for a level. - - - - - - Initialize the appender based on the options set - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Create an event log source - - - Uses different API calls under NET_2_0 - - - - - This method is called by the - method. - - the event to log - - Writes the event to the system event log using the - . - - If the event has an EventID property (see ) - set then this integer will be used as the event log event id. - - - There is a limit of 32K characters for an event log message - - - - - - Get the equivalent for a - - the Level to convert to an EventLogEntryType - The equivalent for a - - Because there are fewer applicable - values to use in logging levels than there are in the - this is a one way mapping. There is - a loss of information during the conversion. - - - - - The log name is the section in the event logs where the messages - are stored. - - - - - Name of the application to use when logging. This appears in the - application column of the event log named by . - - - - - The name of the machine which holds the event log. This is - currently only allowed to be '.' i.e. the current machine. - - - - - Mapping from level object to EventLogEntryType - - - - - The security context to use for privileged calls - - - - - The name of the log where messages will be stored. - - - The string name of the log where messages will be stored. - - - This is the name of the log as it appears in the Event Viewer - tree. The default value is to log into the Application - log, this is where most applications write their events. However - if you need a separate log for your application (or applications) - then you should set the appropriately. - This should not be used to distinguish your event log messages - from those of other applications, the - property should be used to distinguish events. This property should be - used to group together events into a single log. - - - - - - Property used to set the Application name. This appears in the - event logs when logging. - - - The string used to distinguish events from different sources. - - - Sets the event log source property. - - - - - This property is used to return the name of the computer to use - when accessing the event logs. Currently, this is the current - computer, denoted by a dot "." - - - The string name of the machine holding the event log that - will be logged into. - - - This property cannot be changed. It is currently set to '.' - i.e. the local machine. This may be changed in future. - - - - - Gets or sets the used to write to the EventLog. - - - The used to write to the EventLog. - - - - The system security context used to write to the EventLog. - - - Unless a specified here for this appender - the is queried for the - security context to use. The default behavior is to use the security context - of the current thread. - - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - A class to act as a mapping between the level that a logging call is made at and - the color it should be displayed as. - - - - Defines the mapping between a level and its event log entry type. - - - - - - The for this entry - - - - Required property. - The for this entry - - - - - - Appends logging events to a file. - - - - Logging events are sent to the file specified by - the property. - - - The file can be opened in either append or overwrite mode - by specifying the property. - If the file path is relative it is taken as relative from - the application base directory. The file encoding can be - specified by setting the property. - - - The layout's and - values will be written each time the file is opened and closed - respectively. If the property is - then the file may contain multiple copies of the header and footer. - - - This appender will first try to open the file for writing when - is called. This will typically be during configuration. - If the file cannot be opened for writing the appender will attempt - to open the file again each time a message is logged to the appender. - If the file cannot be opened for writing when a message is logged then - the message will be discarded by this appender. - - - The supports pluggable file locking models via - the property. - The default behavior, implemented by - is to obtain an exclusive write lock on the file until this appender is closed. - The alternative model, , only holds a - write lock while the appender is writing a logging event. - - - Nicko Cadell - Gert Driesen - Rodrigo B. de Oliveira - Douglas de la Torre - Niall Daley - - - - Sends logging events to a . - - - - An Appender that writes to a . - - - This appender may be used stand alone if initialized with an appropriate - writer, however it is typically used as a base class for an appender that - can open a to write to. - - - Nicko Cadell - Gert Driesen - Douglas de la Torre - - - - Initializes a new instance of the class. - - - - Default constructor. - - - - - - Initializes a new instance of the class and - sets the output destination to a new initialized - with the specified . - - The layout to use with this appender. - The to output to. - - - Obsolete constructor. - - - - - - Initializes a new instance of the class and sets - the output destination to the specified . - - The layout to use with this appender - The to output to - - The must have been previously opened. - - - - Obsolete constructor. - - - - - - This method determines if there is a sense in attempting to append. - - - - This method checked if an output target has been set and if a - layout has been set. - - - false if any of the preconditions fail. - - - - This method is called by the - method. - - The event to log. - - - Writes a log statement to the output stream if the output stream exists - and is writable. - - - The format of the output will depend on the appender's layout. - - - - - - This method is called by the - method. - - The array of events to log. - - - This method writes all the bulk logged events to the output writer - before flushing the stream. - - - - - - Close this appender instance. The underlying stream or writer is also closed. - - - Closed appenders cannot be reused. - - - - - Writes the footer and closes the underlying . - - - - Writes the footer and closes the underlying . - - - - - - Closes the underlying . - - - - Closes the underlying . - - - - - - Clears internal references to the underlying - and other variables. - - - - Subclasses can override this method for an alternate closing behavior. - - - - - - Writes a footer as produced by the embedded layout's property. - - - - Writes a footer as produced by the embedded layout's property. - - - - - - Writes a header produced by the embedded layout's property. - - - - Writes a header produced by the embedded layout's property. - - - - - - Called to allow a subclass to lazily initialize the writer - - - - This method is called when an event is logged and the or - have not been set. This allows a subclass to - attempt to initialize the writer multiple times. - - - - - - This is the where logging events - will be written to. - - - - - Immediate flush means that the underlying - or output stream will be flushed at the end of each append operation. - - - - Immediate flush is slower but ensures that each append request is - actually written. If is set to - false, then there is a good chance that the last few - logging events are not actually persisted if and when the application - crashes. - - - The default value is true. - - - - - - Gets or set whether the appender will flush at the end - of each append operation. - - - - The default behavior is to flush at the end of each - append operation. - - - If this option is set to false, then the underlying - stream can defer persisting the logging event to a later - time. - - - - Avoiding the flush operation at the end of each append results in - a performance gain of 10 to 20 percent. However, there is safety - trade-off involved in skipping flushing. Indeed, when flushing is - skipped, then it is likely that the last few log events will not - be recorded on disk when the application exits. This is a high - price to pay even for a 20% performance gain. - - - - - Sets the where the log output will go. - - - - The specified must be open and writable. - - - The will be closed when the appender - instance is closed. - - - Note: Logging to an unopened will fail. - - - - - - Gets or set the and the underlying - , if any, for this appender. - - - The for this appender. - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - Gets or sets the where logging events - will be written to. - - - The where logging events are written. - - - - This is the where logging events - will be written to. - - - - - - Default constructor - - - - Default constructor - - - - - - Construct a new appender using the layout, file and append mode. - - the layout to use with this appender - the full path to the file to write to - flag to indicate if the file should be appended to - - - Obsolete constructor. - - - - - - Construct a new appender using the layout and file specified. - The file will be appended to. - - the layout to use with this appender - the full path to the file to write to - - - Obsolete constructor. - - - - - - Activate the options on the file appender. - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - This will cause the file to be opened. - - - - - - Closes any previously opened file and calls the parent's . - - - - Resets the filename and the file stream. - - - - - - Called to initialize the file writer - - - - Will be called for each logged message until the file is - successfully opened. - - - - - - This method is called by the - method. - - The event to log. - - - Writes a log statement to the output stream if the output stream exists - and is writable. - - - The format of the output will depend on the appender's layout. - - - - - - This method is called by the - method. - - The array of events to log. - - - Acquires the output file locks once before writing all the events to - the stream. - - - - - - Writes a footer as produced by the embedded layout's property. - - - - Writes a footer as produced by the embedded layout's property. - - - - - - Writes a header produced by the embedded layout's property. - - - - Writes a header produced by the embedded layout's property. - - - - - - Closes the underlying . - - - - Closes the underlying . - - - - - - Closes the previously opened file. - - - - Writes the to the file and then - closes the file. - - - - - - Sets and opens the file where the log output will go. The specified file must be writable. - - The path to the log file. Must be a fully qualified path. - If true will append to fileName. Otherwise will truncate fileName - - - Calls but guarantees not to throw an exception. - Errors are passed to the . - - - - - - Sets and opens the file where the log output will go. The specified file must be writable. - - The path to the log file. Must be a fully qualified path. - If true will append to fileName. Otherwise will truncate fileName - - - If there was already an opened file, then the previous file - is closed first. - - - This method will ensure that the directory structure - for the specified exists. - - - - - - Sets the quiet writer used for file output - - the file stream that has been opened for writing - - - This implementation of creates a - over the and passes it to the - method. - - - This method can be overridden by sub classes that want to wrap the - in some way, for example to encrypt the output - data using a System.Security.Cryptography.CryptoStream. - - - - - - Sets the quiet writer being used. - - the writer over the file stream that has been opened for writing - - - This method can be overridden by sub classes that want to - wrap the in some way. - - - - - - Convert a path into a fully qualified path. - - The path to convert. - The fully qualified path. - - - Converts the path specified to a fully - qualified path. If the path is relative it is - taken as relative from the application base - directory. - - - - - - Flag to indicate if we should append to the file - or overwrite the file. The default is to append. - - - - - The name of the log file. - - - - - The encoding to use for the file stream. - - - - - The security context to use for privileged calls - - - - - The stream to log to. Has added locking semantics - - - - - The locking model to use - - - - - Gets or sets the path to the file that logging will be written to. - - - The path to the file that logging will be written to. - - - - If the path is relative it is taken as relative from - the application base directory. - - - - - - Gets or sets a flag that indicates whether the file should be - appended to or overwritten. - - - Indicates whether the file should be appended to or overwritten. - - - - If the value is set to false then the file will be overwritten, if - it is set to true then the file will be appended to. - - The default value is true. - - - - - Gets or sets used to write to the file. - - - The used to write to the file. - - - - The default encoding set is - which is the encoding for the system's current ANSI code page. - - - - - - Gets or sets the used to write to the file. - - - The used to write to the file. - - - - Unless a specified here for this appender - the is queried for the - security context to use. The default behavior is to use the security context - of the current thread. - - - - - - Gets or sets the used to handle locking of the file. - - - The used to lock the file. - - - - Gets or sets the used to handle locking of the file. - - - There are two built in locking models, and . - The former locks the file from the start of logging to the end and the - later lock only for the minimal amount of time when logging each message. - - - The default locking model is the . - - - - - - Write only that uses the - to manage access to an underlying resource. - - - - - True asynchronous writes are not supported, the implementation forces a synchronous write. - - - - - Exception base type for log4net. - - - - This type extends . It - does not add any new functionality but does differentiate the - type of exception being thrown. - - - Nicko Cadell - Gert Driesen - - - - Constructor - - - - Initializes a new instance of the class. - - - - - - Constructor - - A message to include with the exception. - - - Initializes a new instance of the class with - the specified message. - - - - - - Constructor - - A message to include with the exception. - A nested exception to include. - - - Initializes a new instance of the class - with the specified message and inner exception. - - - - - - Serialization constructor - - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - - - Initializes a new instance of the class - with serialized data. - - - - - - Locking model base class - - - - Base class for the locking models available to the derived loggers. - - - - - - Open the output file - - The filename to use - Whether to append to the file, or overwrite - The encoding to use - - - Open the file specified and prepare for logging. - No writes will be made until is called. - Must be called before any calls to , - and . - - - - - - Close the file - - - - Close the file. No further writes will be made. - - - - - - Acquire the lock on the file - - A stream that is ready to be written to. - - - Acquire the lock on the file in preparation for writing to it. - Return a stream pointing to the file. - must be called to release the lock on the output file. - - - - - - Release the lock on the file - - - - Release the lock on the file. No further writes will be made to the - stream until is called again. - - - - - - Gets or sets the for this LockingModel - - - The for this LockingModel - - - - The file appender this locking model is attached to and working on - behalf of. - - - The file appender is used to locate the security context and the error handler to use. - - - The value of this property will be set before is - called. - - - - - - Hold an exclusive lock on the output file - - - - Open the file once for writing and hold it open until is called. - Maintains an exclusive lock on the file during this time. - - - - - - Open the file specified and prepare for logging. - - The filename to use - Whether to append to the file, or overwrite - The encoding to use - - - Open the file specified and prepare for logging. - No writes will be made until is called. - Must be called before any calls to , - and . - - - - - - Close the file - - - - Close the file. No further writes will be made. - - - - - - Acquire the lock on the file - - A stream that is ready to be written to. - - - Does nothing. The lock is already taken - - - - - - Release the lock on the file - - - - Does nothing. The lock will be released when the file is closed. - - - - - - Acquires the file lock for each write - - - - Opens the file once for each / cycle, - thus holding the lock for the minimal amount of time. This method of locking - is considerably slower than but allows - other processes to move/delete the log file whilst logging continues. - - - - - - Prepares to open the file when the first message is logged. - - The filename to use - Whether to append to the file, or overwrite - The encoding to use - - - Open the file specified and prepare for logging. - No writes will be made until is called. - Must be called before any calls to , - and . - - - - - - Close the file - - - - Close the file. No further writes will be made. - - - - - - Acquire the lock on the file - - A stream that is ready to be written to. - - - Acquire the lock on the file in preparation for writing to it. - Return a stream pointing to the file. - must be called to release the lock on the output file. - - - - - - Release the lock on the file - - - - Release the lock on the file. No further writes will be made to the - stream until is called again. - - - - - - This appender forwards logging events to attached appenders. - - - - The forwarding appender can be used to specify different thresholds - and filters for the same appender at different locations within the hierarchy. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Default constructor. - - - - - - Closes the appender and releases resources. - - - - Releases any resources allocated within the appender such as file handles, - network connections, etc. - - - It is a programming error to append to a closed appender. - - - - - - Forward the logging event to the attached appenders - - The event to log. - - - Delivers the logging event to all the attached appenders. - - - - - - Forward the logging events to the attached appenders - - The array of events to log. - - - Delivers the logging events to all the attached appenders. - - - - - - Adds an to the list of appenders of this - instance. - - The to add to this appender. - - - If the specified is already in the list of - appenders, then it won't be added again. - - - - - - Looks for the appender with the specified name. - - The name of the appender to lookup. - - The appender with the specified name, or null. - - - - Get the named appender attached to this appender. - - - - - - Removes all previously added appenders from this appender. - - - - This is useful when re-reading configuration information. - - - - - - Removes the specified appender from the list of appenders. - - The appender to remove. - The appender removed from the list - - The appender removed is not closed. - If you are discarding the appender you must call - on the appender removed. - - - - - Removes the appender with the specified name from the list of appenders. - - The name of the appender to remove. - The appender removed from the list - - The appender removed is not closed. - If you are discarding the appender you must call - on the appender removed. - - - - - Implementation of the interface - - - - - Gets the appenders contained in this appender as an - . - - - If no appenders can be found, then an - is returned. - - - A collection of the appenders in this appender. - - - - - Logs events to a local syslog service. - - - - This appender uses the POSIX libc library functions openlog, syslog, and closelog. - If these functions are not available on the local system then this appender will not work! - - - The functions openlog, syslog, and closelog are specified in SUSv2 and - POSIX 1003.1-2001 standards. These are used to log messages to the local syslog service. - - - This appender talks to a local syslog service. If you need to log to a remote syslog - daemon and you cannot configure your local syslog service to do this you may be - able to use the to log via UDP. - - - Syslog messages must have a facility and and a severity. The severity - is derived from the Level of the logging event. - The facility must be chosen from the set of defined syslog - values. The facilities list is predefined - and cannot be extended. - - - An identifier is specified with each log message. This can be specified - by setting the property. The identity (also know - as the tag) must not contain white space. The default value for the - identity is the application name (from ). - - - Rob Lyon - Nicko Cadell - - - - Initializes a new instance of the class. - - - This instance of the class is set up to write - to a local syslog service. - - - - - Add a mapping of level to severity - - The mapping to add - - - Adds a to this appender. - - - - - - Initialize the appender based on the options set. - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - This method is called by the method. - - The event to log. - - - Writes the event to a remote syslog daemon. - - - The format of the output will depend on the appender's layout. - - - - - - Close the syslog when the appender is closed - - - - Close the syslog when the appender is closed - - - - - - Translates a log4net level to a syslog severity. - - A log4net level. - A syslog severity. - - - Translates a log4net level to a syslog severity. - - - - - - Generate a syslog priority. - - The syslog facility. - The syslog severity. - A syslog priority. - - - - The facility. The default facility is . - - - - - The message identity - - - - - Marshaled handle to the identity string. We have to hold on to the - string as the openlog and syslog APIs just hold the - pointer to the ident and dereference it for each log message. - - - - - Mapping from level object to syslog severity - - - - - Open connection to system logger. - - - - - Generate a log message. - - - - The libc syslog method takes a format string and a variable argument list similar - to the classic printf function. As this type of vararg list is not supported - by C# we need to specify the arguments explicitly. Here we have specified the - format string with a single message argument. The caller must set the format - string to "%s". - - - - - - Close descriptor used to write to system logger. - - - - - Message identity - - - - An identifier is specified with each log message. This can be specified - by setting the property. The identity (also know - as the tag) must not contain white space. The default value for the - identity is the application name (from ). - - - - - - Syslog facility - - - Set to one of the values. The list of - facilities is predefined and cannot be extended. The default value - is . - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - syslog severities - - - - The log4net Level maps to a syslog severity using the - method and the - class. The severity is set on . - - - - - - system is unusable - - - - - action must be taken immediately - - - - - critical conditions - - - - - error conditions - - - - - warning conditions - - - - - normal but significant condition - - - - - informational - - - - - debug-level messages - - - - - syslog facilities - - - - The syslog facility defines which subsystem the logging comes from. - This is set on the property. - - - - - - kernel messages - - - - - random user-level messages - - - - - mail system - - - - - system daemons - - - - - security/authorization messages - - - - - messages generated internally by syslogd - - - - - line printer subsystem - - - - - network news subsystem - - - - - UUCP subsystem - - - - - clock (cron/at) daemon - - - - - security/authorization messages (private) - - - - - ftp daemon - - - - - NTP subsystem - - - - - log audit - - - - - log alert - - - - - clock daemon - - - - - reserved for local use - - - - - reserved for local use - - - - - reserved for local use - - - - - reserved for local use - - - - - reserved for local use - - - - - reserved for local use - - - - - reserved for local use - - - - - reserved for local use - - - - - A class to act as a mapping between the level that a logging call is made at and - the syslog severity that is should be logged at. - - - - A class to act as a mapping between the level that a logging call is made at and - the syslog severity that is should be logged at. - - - - - - The mapped syslog severity for the specified level - - - - Required property. - The mapped syslog severity for the specified level - - - - - - Stores logging events in an array. - - - - The memory appender stores all the logging events - that are appended in an in-memory array. - - - Use the method to get - the current list of events that have been appended. - - - Use the method to clear the - current list of events. - - - Julian Biddle - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Default constructor. - - - - - - Gets the events that have been logged. - - The events that have been logged - - - Gets the events that have been logged. - - - - - - This method is called by the method. - - the event to log - - Stores the in the events list. - - - - - Clear the list of events - - - Clear the list of events - - - - - The list of events that have been appended. - - - - - Value indicating which fields in the event should be fixed - - - By default all fields are fixed - - - - - Gets or sets a value indicating whether only part of the logging event - data should be fixed. - - - true if the appender should only fix part of the logging event - data, otherwise false. The default is false. - - - - Setting this property to true will cause only part of the event - data to be fixed and stored in the appender, hereby improving performance. - - - See for more information. - - - - - - Gets or sets the fields that will be fixed in the event - - - - The logging event needs to have certain thread specific values - captured before it can be buffered. See - for details. - - - - - - Logs entries by sending network messages using the - native function. - - - - You can send messages only to names that are active - on the network. If you send the message to a user name, - that user must be logged on and running the Messenger - service to receive the message. - - - The receiver will get a top most window displaying the - messages one at a time, therefore this appender should - not be used to deliver a high volume of messages. - - - The following table lists some possible uses for this appender : - - - - - Action - Property Value(s) - - - Send a message to a user account on the local machine - - - = <name of the local machine> - - - = <user name> - - - - - Send a message to a user account on a remote machine - - - = <name of the remote machine> - - - = <user name> - - - - - Send a message to a domain user account - - - = <name of a domain controller | uninitialized> - - - = <user name> - - - - - Send a message to all the names in a workgroup or domain - - - = <workgroup name | domain name>* - - - - - Send a message from the local machine to a remote machine - - - = <name of the local machine | uninitialized> - - - = <name of the remote machine> - - - - - - - Note : security restrictions apply for sending - network messages, see - for more information. - - - - - An example configuration section to log information - using this appender from the local machine, named - LOCAL_PC, to machine OPERATOR_PC : - - - - - - - - - - Nicko Cadell - Gert Driesen - - - - The DNS or NetBIOS name of the server on which the function is to execute. - - - - - The sender of the network message. - - - - - The message alias to which the message should be sent. - - - - - The security context to use for privileged calls - - - - - Initializes the appender. - - - The default constructor initializes all fields to their default values. - - - - - Initialize the appender based on the options set. - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - The appender will be ignored if no was specified. - - - The required property was not specified. - - - - This method is called by the method. - - The event to log. - - - Sends the event using a network message. - - - - - - Sends a buffer of information to a registered message alias. - - The DNS or NetBIOS name of the server on which the function is to execute. - The message alias to which the message buffer should be sent - The originator of the message. - The message text. - The length, in bytes, of the message text. - - - The following restrictions apply for sending network messages: - - - - - Platform - Requirements - - - Windows NT - - - No special group membership is required to send a network message. - - - Admin, Accounts, Print, or Server Operator group membership is required to - successfully send a network message on a remote server. - - - - - Windows 2000 or later - - - If you send a message on a domain controller that is running Active Directory, - access is allowed or denied based on the access control list (ACL) for the securable - object. The default ACL permits only Domain Admins and Account Operators to send a network message. - - - On a member server or workstation, only Administrators and Server Operators can send a network message. - - - - - - - For more information see Security Requirements for the Network Management Functions. - - - - - If the function succeeds, the return value is zero. - - - - - - Gets or sets the sender of the message. - - - The sender of the message. - - - If this property is not specified, the message is sent from the local computer. - - - - - Gets or sets the message alias to which the message should be sent. - - - The recipient of the message. - - - This property should always be specified in order to send a message. - - - - - Gets or sets the DNS or NetBIOS name of the remote server on which the function is to execute. - - - DNS or NetBIOS name of the remote server on which the function is to execute. - - - - For Windows NT 4.0 and earlier, the string should begin with \\. - - - If this property is not specified, the local computer is used. - - - - - - Gets or sets the used to call the NetSend method. - - - The used to call the NetSend method. - - - - Unless a specified here for this appender - the is queried for the - security context to use. The default behavior is to use the security context - of the current thread. - - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - Appends log events to the OutputDebugString system. - - - - OutputDebugStringAppender appends log events to the - OutputDebugString system. - - - The string is passed to the native OutputDebugString - function. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Default constructor. - - - - - - Write the logging event to the output debug string API - - the event to log - - - Write the logging event to the output debug string API - - - - - - Stub for OutputDebugString native method - - the string to output - - - Stub for OutputDebugString native method - - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - Logs events to a remote syslog daemon. - - - - The BSD syslog protocol is used to remotely log to - a syslog daemon. The syslogd listens for for messages - on UDP port 514. - - - The syslog UDP protocol is not authenticated. Most syslog daemons - do not accept remote log messages because of the security implications. - You may be able to use the LocalSyslogAppender to talk to a local - syslog service. - - - There is an RFC 3164 that claims to document the BSD Syslog Protocol. - This RFC can be seen here: http://www.faqs.org/rfcs/rfc3164.html. - This appender generates what the RFC calls an "Original Device Message", - i.e. does not include the TIMESTAMP or HOSTNAME fields. By observation - this format of message will be accepted by all current syslog daemon - implementations. The daemon will attach the current time and the source - hostname or IP address to any messages received. - - - Syslog messages must have a facility and and a severity. The severity - is derived from the Level of the logging event. - The facility must be chosen from the set of defined syslog - values. The facilities list is predefined - and cannot be extended. - - - An identifier is specified with each log message. This can be specified - by setting the property. The identity (also know - as the tag) must not contain white space. The default value for the - identity is the application name (from ). - - - Rob Lyon - Nicko Cadell - - - - Sends logging events as connectionless UDP datagrams to a remote host or a - multicast group using an . - - - - UDP guarantees neither that messages arrive, nor that they arrive in the correct order. - - - To view the logging results, a custom application can be developed that listens for logging - events. - - - When decoding events send via this appender remember to use the same encoding - to decode the events as was used to send the events. See the - property to specify the encoding to use. - - - - This example shows how to log receive logging events that are sent - on IP address 244.0.0.1 and port 8080 to the console. The event is - encoded in the packet as a unicode string and it is decoded as such. - - IPEndPoint remoteEndPoint = new IPEndPoint(IPAddress.Any, 0); - UdpClient udpClient; - byte[] buffer; - string loggingEvent; - - try - { - udpClient = new UdpClient(8080); - - while(true) - { - buffer = udpClient.Receive(ref remoteEndPoint); - loggingEvent = System.Text.Encoding.Unicode.GetString(buffer); - Console.WriteLine(loggingEvent); - } - } - catch(Exception e) - { - Console.WriteLine(e.ToString()); - } - - - Dim remoteEndPoint as IPEndPoint - Dim udpClient as UdpClient - Dim buffer as Byte() - Dim loggingEvent as String - - Try - remoteEndPoint = new IPEndPoint(IPAddress.Any, 0) - udpClient = new UdpClient(8080) - - While True - buffer = udpClient.Receive(ByRef remoteEndPoint) - loggingEvent = System.Text.Encoding.Unicode.GetString(buffer) - Console.WriteLine(loggingEvent) - Wend - Catch e As Exception - Console.WriteLine(e.ToString()) - End Try - - - An example configuration section to log information using this appender to the - IP 224.0.0.1 on port 8080: - - - - - - - - - - Gert Driesen - Nicko Cadell - - - - Initializes a new instance of the class. - - - The default constructor initializes all fields to their default values. - - - - - Initialize the appender based on the options set. - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - The appender will be ignored if no was specified or - an invalid remote or local TCP port number was specified. - - - The required property was not specified. - The TCP port number assigned to or is less than or greater than . - - - - This method is called by the method. - - The event to log. - - - Sends the event using an UDP datagram. - - - Exceptions are passed to the . - - - - - - Closes the UDP connection and releases all resources associated with - this instance. - - - - Disables the underlying and releases all managed - and unmanaged resources associated with the . - - - - - - Initializes the underlying connection. - - - - The underlying is initialized and binds to the - port number from which you intend to communicate. - - - Exceptions are passed to the . - - - - - - The IP address of the remote host or multicast group to which - the logging event will be sent. - - - - - The TCP port number of the remote host or multicast group to - which the logging event will be sent. - - - - - The cached remote endpoint to which the logging events will be sent. - - - - - The TCP port number from which the will communicate. - - - - - The instance that will be used for sending the - logging events. - - - - - The encoding to use for the packet. - - - - - Gets or sets the IP address of the remote host or multicast group to which - the underlying should sent the logging event. - - - The IP address of the remote host or multicast group to which the logging event - will be sent. - - - - Multicast addresses are identified by IP class D addresses (in the range 224.0.0.0 to - 239.255.255.255). Multicast packets can pass across different networks through routers, so - it is possible to use multicasts in an Internet scenario as long as your network provider - supports multicasting. - - - Hosts that want to receive particular multicast messages must register their interest by joining - the multicast group. Multicast messages are not sent to networks where no host has joined - the multicast group. Class D IP addresses are used for multicast groups, to differentiate - them from normal host addresses, allowing nodes to easily detect if a message is of interest. - - - Static multicast addresses that are needed globally are assigned by IANA. A few examples are listed in the table below: - - - - - IP Address - Description - - - 224.0.0.1 - - - Sends a message to all system on the subnet. - - - - - 224.0.0.2 - - - Sends a message to all routers on the subnet. - - - - - 224.0.0.12 - - - The DHCP server answers messages on the IP address 224.0.0.12, but only on a subnet. - - - - - - - A complete list of actually reserved multicast addresses and their owners in the ranges - defined by RFC 3171 can be found at the IANA web site. - - - The address range 239.0.0.0 to 239.255.255.255 is reserved for administrative scope-relative - addresses. These addresses can be reused with other local groups. Routers are typically - configured with filters to prevent multicast traffic in this range from flowing outside - of the local network. - - - - - - Gets or sets the TCP port number of the remote host or multicast group to which - the underlying should sent the logging event. - - - An integer value in the range to - indicating the TCP port number of the remote host or multicast group to which the logging event - will be sent. - - - The underlying will send messages to this TCP port number - on the remote host or multicast group. - - The value specified is less than or greater than . - - - - Gets or sets the TCP port number from which the underlying will communicate. - - - An integer value in the range to - indicating the TCP port number from which the underlying will communicate. - - - - The underlying will bind to this port for sending messages. - - - Setting the value to 0 (the default) will cause the udp client not to bind to - a local port. - - - The value specified is less than or greater than . - - - - Gets or sets used to write the packets. - - - The used to write the packets. - - - - The used to write the packets. - - - - - - Gets or sets the underlying . - - - The underlying . - - - creates a to send logging events - over a network. Classes deriving from can use this - property to get or set this . Use the underlying - returned from if you require access beyond that which - provides. - - - - - Gets or sets the cached remote endpoint to which the logging events should be sent. - - - The cached remote endpoint to which the logging events will be sent. - - - The method will initialize the remote endpoint - with the values of the and - properties. - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - Syslog port 514 - - - - - Initializes a new instance of the class. - - - This instance of the class is set up to write - to a remote syslog daemon. - - - - - Add a mapping of level to severity - - The mapping to add - - - Add a mapping to this appender. - - - - - - This method is called by the method. - - The event to log. - - - Writes the event to a remote syslog daemon. - - - The format of the output will depend on the appender's layout. - - - - - - Initialize the options for this appender - - - - Initialize the level to syslog severity mappings set on this appender. - - - - - - Translates a log4net level to a syslog severity. - - A log4net level. - A syslog severity. - - - Translates a log4net level to a syslog severity. - - - - - - Generate a syslog priority. - - The syslog facility. - The syslog severity. - A syslog priority. - - - Generate a syslog priority. - - - - - - The facility. The default facility is . - - - - - The message identity - - - - - Mapping from level object to syslog severity - - - - - Message identity - - - - An identifier is specified with each log message. This can be specified - by setting the property. The identity (also know - as the tag) must not contain white space. The default value for the - identity is the application name (from ). - - - - - - Syslog facility - - - Set to one of the values. The list of - facilities is predefined and cannot be extended. The default value - is . - - - - - syslog severities - - - - The syslog severities. - - - - - - system is unusable - - - - - action must be taken immediately - - - - - critical conditions - - - - - error conditions - - - - - warning conditions - - - - - normal but significant condition - - - - - informational - - - - - debug-level messages - - - - - syslog facilities - - - - The syslog facilities - - - - - - kernel messages - - - - - random user-level messages - - - - - mail system - - - - - system daemons - - - - - security/authorization messages - - - - - messages generated internally by syslogd - - - - - line printer subsystem - - - - - network news subsystem - - - - - UUCP subsystem - - - - - clock (cron/at) daemon - - - - - security/authorization messages (private) - - - - - ftp daemon - - - - - NTP subsystem - - - - - log audit - - - - - log alert - - - - - clock daemon - - - - - reserved for local use - - - - - reserved for local use - - - - - reserved for local use - - - - - reserved for local use - - - - - reserved for local use - - - - - reserved for local use - - - - - reserved for local use - - - - - reserved for local use - - - - - A class to act as a mapping between the level that a logging call is made at and - the syslog severity that is should be logged at. - - - - A class to act as a mapping between the level that a logging call is made at and - the syslog severity that is should be logged at. - - - - - - The mapped syslog severity for the specified level - - - - Required property. - The mapped syslog severity for the specified level - - - - - - Delivers logging events to a remote logging sink. - - - - This Appender is designed to deliver events to a remote sink. - That is any object that implements the - interface. It delivers the events using .NET remoting. The - object to deliver events to is specified by setting the - appenders property. - - The RemotingAppender buffers events before sending them. This allows it to - make more efficient use of the remoting infrastructure. - - Once the buffer is full the events are still not sent immediately. - They are scheduled to be sent using a pool thread. The effect is that - the send occurs asynchronously. This is very important for a - number of non obvious reasons. The remoting infrastructure will - flow thread local variables (stored in the ), - if they are marked as , across the - remoting boundary. If the server is not contactable then - the remoting infrastructure will clear the - objects from the . To prevent a logging failure from - having side effects on the calling application the remoting call must be made - from a separate thread to the one used by the application. A - thread is used for this. If no thread is available then - the events will block in the thread pool manager until a thread is available. - - Because the events are sent asynchronously using pool threads it is possible to close - this appender before all the queued events have been sent. - When closing the appender attempts to wait until all the queued events have been sent, but - this will timeout after 30 seconds regardless. - - If this appender is being closed because the - event has fired it may not be possible to send all the queued events. During process - exit the runtime limits the time that a - event handler is allowed to run for. If the runtime terminates the threads before - the queued events have been sent then they will be lost. To ensure that all events - are sent the appender must be closed before the application exits. See - for details on how to shutdown - log4net programmatically. - - - Nicko Cadell - Gert Driesen - Daniel Cazzulino - - - - Initializes a new instance of the class. - - - - Default constructor. - - - - - - Initialize the appender based on the options set - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Send the contents of the buffer to the remote sink. - - - The events are not sent immediately. They are scheduled to be sent - using a pool thread. The effect is that the send occurs asynchronously. - This is very important for a number of non obvious reasons. The remoting - infrastructure will flow thread local variables (stored in the ), - if they are marked as , across the - remoting boundary. If the server is not contactable then - the remoting infrastructure will clear the - objects from the . To prevent a logging failure from - having side effects on the calling application the remoting call must be made - from a separate thread to the one used by the application. A - thread is used for this. If no thread is available then - the events will block in the thread pool manager until a thread is available. - - The events to send. - - - - Override base class close. - - - - This method waits while there are queued work items. The events are - sent asynchronously using work items. These items - will be sent once a thread pool thread is available to send them, therefore - it is possible to close the appender before all the queued events have been - sent. - - This method attempts to wait until all the queued events have been sent, but this - method will timeout after 30 seconds regardless. - - If the appender is being closed because the - event has fired it may not be possible to send all the queued events. During process - exit the runtime limits the time that a - event handler is allowed to run for. - - - - - A work item is being queued into the thread pool - - - - - A work item from the thread pool has completed - - - - - Send the contents of the buffer to the remote sink. - - - This method is designed to be used with the . - This method expects to be passed an array of - objects in the state param. - - the logging events to send - - - - The URL of the remote sink. - - - - - The local proxy (.NET remoting) for the remote logging sink. - - - - - The number of queued callbacks currently waiting or executing - - - - - Event used to signal when there are no queued work items - - - This event is set when there are no queued work items. In this - state it is safe to close the appender. - - - - - Gets or sets the URL of the well-known object that will accept - the logging events. - - - The well-known URL of the remote sink. - - - - The URL of the remoting sink that will accept logging events. - The sink must implement the - interface. - - - - - - Interface used to deliver objects to a remote sink. - - - This interface must be implemented by a remoting sink - if the is to be used - to deliver logging events to the sink. - - - - - Delivers logging events to the remote sink - - Array of events to log. - - - Delivers logging events to the remote sink - - - - - - Appender that rolls log files based on size or date or both. - - - - RollingFileAppender can roll log files based on size or date or both - depending on the setting of the property. - When set to the log file will be rolled - once its size exceeds the . - When set to the log file will be rolled - once the date boundary specified in the property - is crossed. - When set to the log file will be - rolled once the date boundary specified in the property - is crossed, but within a date boundary the file will also be rolled - once its size exceeds the . - When set to the log file will be rolled when - the appender is configured. This effectively means that the log file can be - rolled once per program execution. - - - A of few additional optional features have been added: - - Attach date pattern for current log file - Backup number increments for newer files - Infinite number of backups by file size - - - - - - For large or infinite numbers of backup files a - greater than zero is highly recommended, otherwise all the backup files need - to be renamed each time a new backup is created. - - - When Date/Time based rolling is used setting - to will reduce the number of file renamings to few or none. - - - - - - Changing or without clearing - the log file directory of backup files will cause unexpected and unwanted side effects. - - - - - If Date/Time based rolling is enabled this appender will attempt to roll existing files - in the directory without a Date/Time tag based on the last write date of the base log file. - The appender only rolls the log file when a message is logged. If Date/Time based rolling - is enabled then the appender will not roll the log file at the Date/Time boundary but - at the point when the next message is logged after the boundary has been crossed. - - - - The extends the and - has the same behavior when opening the log file. - The appender will first try to open the file for writing when - is called. This will typically be during configuration. - If the file cannot be opened for writing the appender will attempt - to open the file again each time a message is logged to the appender. - If the file cannot be opened for writing when a message is logged then - the message will be discarded by this appender. - - - When rolling a backup file necessitates deleting an older backup file the - file to be deleted is moved to a temporary name before being deleted. - - - - - A maximum number of backup files when rolling on date/time boundaries is not supported. - - - - Nicko Cadell - Gert Driesen - Aspi Havewala - Douglas de la Torre - Edward Smit - - - - Initializes a new instance of the class. - - - - Default constructor. - - - - - - Sets the quiet writer being used. - - - This method can be overridden by sub classes. - - the writer to set - - - - Write out a logging event. - - the event to write to file. - - - Handles append time behavior for RollingFileAppender. This checks - if a roll over either by date (checked first) or time (checked second) - is need and then appends to the file last. - - - - - - Write out an array of logging events. - - the events to write to file. - - - Handles append time behavior for RollingFileAppender. This checks - if a roll over either by date (checked first) or time (checked second) - is need and then appends to the file last. - - - - - - Performs any required rolling before outputting the next event - - - - Handles append time behavior for RollingFileAppender. This checks - if a roll over either by date (checked first) or time (checked second) - is need and then appends to the file last. - - - - - - Creates and opens the file for logging. If - is false then the fully qualified name is determined and used. - - the name of the file to open - true to append to existing file - - This method will ensure that the directory structure - for the specified exists. - - - - - Get the current output file name - - the base file name - the output file name - - The output file name is based on the base fileName specified. - If is set then the output - file name is the same as the base file passed in. Otherwise - the output file depends on the date pattern, on the count - direction or both. - - - - - Determines curSizeRollBackups (only within the current roll point) - - - - - Generates a wildcard pattern that can be used to find all files - that are similar to the base file name. - - - - - - - Builds a list of filenames for all files matching the base filename plus a file - pattern. - - - - - - - Initiates a roll over if needed for crossing a date boundary since the last run. - - - - - Initializes based on existing conditions at time of . - - - - Initializes based on existing conditions at time of . - The following is done - - determine curSizeRollBackups (only within the current roll point) - initiates a roll over if needed for crossing a date boundary since the last run. - - - - - - - Does the work of bumping the 'current' file counter higher - to the highest count when an incremental file name is seen. - The highest count is either the first file (when count direction - is greater than 0) or the last file (when count direction less than 0). - In either case, we want to know the highest count that is present. - - - - - - - Takes a list of files and a base file name, and looks for - 'incremented' versions of the base file. Bumps the max - count up to the highest count seen. - - - - - - - Calculates the RollPoint for the datePattern supplied. - - the date pattern to calculate the check period for - The RollPoint that is most accurate for the date pattern supplied - - Essentially the date pattern is examined to determine what the - most suitable roll point is. The roll point chosen is the roll point - with the smallest period that can be detected using the date pattern - supplied. i.e. if the date pattern only outputs the year, month, day - and hour then the smallest roll point that can be detected would be - and hourly roll point as minutes could not be detected. - - - - - Initialize the appender based on the options set - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - Sets initial conditions including date/time roll over information, first check, - scheduledFilename, and calls to initialize - the current number of backups. - - - - - - Rollover the file(s) to date/time tagged file(s). - - set to true if the file to be rolled is currently open - - - Rollover the file(s) to date/time tagged file(s). - Resets curSizeRollBackups. - If fileIsOpen is set then the new file is opened (through SafeOpenFile). - - - - - - Renames file to file . - - Name of existing file to roll. - New name for file. - - - Renames file to file . It - also checks for existence of target file and deletes if it does. - - - - - - Test if a file exists at a specified path - - the path to the file - true if the file exists - - - Test if a file exists at a specified path - - - - - - Deletes the specified file if it exists. - - The file to delete. - - - Delete a file if is exists. - The file is first moved to a new filename then deleted. - This allows the file to be removed even when it cannot - be deleted, but it still can be moved. - - - - - - Implements file roll base on file size. - - - - If the maximum number of size based backups is reached - (curSizeRollBackups == maxSizeRollBackups) then the oldest - file is deleted -- its index determined by the sign of countDirection. - If countDirection < 0, then files - {File.1, ..., File.curSizeRollBackups -1} - are renamed to {File.2, ..., - File.curSizeRollBackups}. Moreover, File is - renamed File.1 and closed. - - - A new file is created to receive further log output. - - - If maxSizeRollBackups is equal to zero, then the - File is truncated with no backup files created. - - - If maxSizeRollBackups < 0, then File is - renamed if needed and no files are deleted. - - - - - - Implements file roll. - - the base name to rename - - - If the maximum number of size based backups is reached - (curSizeRollBackups == maxSizeRollBackups) then the oldest - file is deleted -- its index determined by the sign of countDirection. - If countDirection < 0, then files - {File.1, ..., File.curSizeRollBackups -1} - are renamed to {File.2, ..., - File.curSizeRollBackups}. - - - If maxSizeRollBackups is equal to zero, then the - File is truncated with no backup files created. - - - If maxSizeRollBackups < 0, then File is - renamed if needed and no files are deleted. - - - This is called by to rename the files. - - - - - - Get the start time of the next window for the current rollpoint - - the current date - the type of roll point we are working with - the start time for the next roll point an interval after the currentDateTime date - - - Returns the date of the next roll point after the currentDateTime date passed to the method. - - - The basic strategy is to subtract the time parts that are less significant - than the rollpoint from the current time. This should roll the time back to - the start of the time window for the current rollpoint. Then we add 1 window - worth of time and get the start time of the next window for the rollpoint. - - - - - - This object supplies the current date/time. Allows test code to plug in - a method to control this class when testing date/time based rolling. - - - - - The date pattern. By default, the pattern is set to ".yyyy-MM-dd" - meaning daily rollover. - - - - - The actual formatted filename that is currently being written to - or will be the file transferred to on roll over - (based on staticLogFileName). - - - - - The timestamp when we shall next recompute the filename. - - - - - Holds date of last roll over - - - - - The type of rolling done - - - - - The default maximum file size is 10MB - - - - - There is zero backup files by default - - - - - How many sized based backups have been made so far - - - - - The rolling file count direction. - - - - - The rolling mode used in this appender. - - - - - Cache flag set if we are rolling by date. - - - - - Cache flag set if we are rolling by size. - - - - - Value indicating whether to always log to the same file. - - - - - FileName provided in configuration. Used for rolling properly - - - - - The 1st of January 1970 in UTC - - - - - Gets or sets the date pattern to be used for generating file names - when rolling over on date. - - - The date pattern to be used for generating file names when rolling - over on date. - - - - Takes a string in the same format as expected by - . - - - This property determines the rollover schedule when rolling over - on date. - - - - - - Gets or sets the maximum number of backup files that are kept before - the oldest is erased. - - - The maximum number of backup files that are kept before the oldest is - erased. - - - - If set to zero, then there will be no backup files and the log file - will be truncated when it reaches . - - - If a negative number is supplied then no deletions will be made. Note - that this could result in very slow performance as a large number of - files are rolled over unless is used. - - - The maximum applies to each time based group of files and - not the total. - - - - - - Gets or sets the maximum size that the output file is allowed to reach - before being rolled over to backup files. - - - The maximum size in bytes that the output file is allowed to reach before being - rolled over to backup files. - - - - This property is equivalent to except - that it is required for differentiating the setter taking a - argument from the setter taking a - argument. - - - The default maximum file size is 10MB (10*1024*1024). - - - - - - Gets or sets the maximum size that the output file is allowed to reach - before being rolled over to backup files. - - - The maximum size that the output file is allowed to reach before being - rolled over to backup files. - - - - This property allows you to specify the maximum size with the - suffixes "KB", "MB" or "GB" so that the size is interpreted being - expressed respectively in kilobytes, megabytes or gigabytes. - - - For example, the value "10KB" will be interpreted as 10240 bytes. - - - The default maximum file size is 10MB. - - - If you have the option to set the maximum file size programmatically - consider using the property instead as this - allows you to set the size in bytes as a . - - - - - - Gets or sets the rolling file count direction. - - - The rolling file count direction. - - - - Indicates if the current file is the lowest numbered file or the - highest numbered file. - - - By default newer files have lower numbers ( < 0), - i.e. log.1 is most recent, log.5 is the 5th backup, etc... - - - >= 0 does the opposite i.e. - log.1 is the first backup made, log.5 is the 5th backup made, etc. - For infinite backups use >= 0 to reduce - rollover costs. - - The default file count direction is -1. - - - - - Gets or sets the rolling style. - - The rolling style. - - - The default rolling style is . - - - When set to this appender's - property is set to false, otherwise - the appender would append to a single file rather than rolling - the file each time it is opened. - - - - - - Gets or sets a value indicating whether to always log to - the same file. - - - true if always should be logged to the same file, otherwise false. - - - - By default file.log is always the current file. Optionally - file.log.yyyy-mm-dd for current formatted datePattern can by the currently - logging file (or file.log.curSizeRollBackup or even - file.log.yyyy-mm-dd.curSizeRollBackup). - - - This will make time based rollovers with a large number of backups - much faster as the appender it won't have to rename all the backups! - - - - - - Style of rolling to use - - - - Style of rolling to use - - - - - - Roll files once per program execution - - - - Roll files once per program execution. - Well really once each time this appender is - configured. - - - Setting this option also sets AppendToFile to - false on the RollingFileAppender, otherwise - this appender would just be a normal file appender. - - - - - - Roll files based only on the size of the file - - - - - Roll files based only on the date - - - - - Roll files based on both the size and date of the file - - - - - The code assumes that the following 'time' constants are in a increasing sequence. - - - - The code assumes that the following 'time' constants are in a increasing sequence. - - - - - - Roll the log not based on the date - - - - - Roll the log for each minute - - - - - Roll the log for each hour - - - - - Roll the log twice a day (midday and midnight) - - - - - Roll the log each day (midnight) - - - - - Roll the log each week - - - - - Roll the log each month - - - - - This interface is used to supply Date/Time information to the . - - - This interface is used to supply Date/Time information to the . - Used primarily to allow test classes to plug themselves in so they can - supply test date/times. - - - - - Gets the current time. - - The current time. - - - Gets the current time. - - - - - - Default implementation of that returns the current time. - - - - - Gets the current time. - - The current time. - - - Gets the current time. - - - - - - Send an e-mail when a specific logging event occurs, typically on errors - or fatal errors. - - - - The number of logging events delivered in this e-mail depend on - the value of option. The - keeps only the last - logging events in its - cyclic buffer. This keeps memory requirements at a reasonable level while - still delivering useful application context. - - - Authentication and setting the server Port are only available on the MS .NET 1.1 runtime. - For these features to be enabled you need to ensure that you are using a version of - the log4net assembly that is built against the MS .NET 1.1 framework and that you are - running the your application on the MS .NET 1.1 runtime. On all other platforms only sending - unauthenticated messages to a server listening on port 25 (the default) is supported. - - - Authentication is supported by setting the property to - either or . - If using authentication then the - and properties must also be set. - - - To set the SMTP server port use the property. The default port is 25. - - - Nicko Cadell - Gert Driesen - - - - Default constructor - - - - Default constructor - - - - - - Sends the contents of the cyclic buffer as an e-mail message. - - The logging events to send. - - - - Send the email message - - the body text to include in the mail - - - - Gets or sets a semicolon-delimited list of recipient e-mail addresses. - - - A semicolon-delimited list of e-mail addresses. - - - - A semicolon-delimited list of recipient e-mail addresses. - - - - - - Gets or sets the e-mail address of the sender. - - - The e-mail address of the sender. - - - - The e-mail address of the sender. - - - - - - Gets or sets the subject line of the e-mail message. - - - The subject line of the e-mail message. - - - - The subject line of the e-mail message. - - - - - - Gets or sets the name of the SMTP relay mail server to use to send - the e-mail messages. - - - The name of the e-mail relay server. If SmtpServer is not set, the - name of the local SMTP server is used. - - - - The name of the e-mail relay server. If SmtpServer is not set, the - name of the local SMTP server is used. - - - - - - Obsolete - - - Use the BufferingAppenderSkeleton Fix methods instead - - - - Obsolete property. - - - - - - The mode to use to authentication with the SMTP server - - - Authentication is only available on the MS .NET 1.1 runtime. - - Valid Authentication mode values are: , - , and . - The default value is . When using - you must specify the - and to use to authenticate. - When using the Windows credentials for the current - thread, if impersonating, or the process will be used to authenticate. - - - - - - The username to use to authenticate with the SMTP server - - - Authentication is only available on the MS .NET 1.1 runtime. - - A and must be specified when - is set to , - otherwise the username will be ignored. - - - - - - The password to use to authenticate with the SMTP server - - - Authentication is only available on the MS .NET 1.1 runtime. - - A and must be specified when - is set to , - otherwise the password will be ignored. - - - - - - The port on which the SMTP server is listening - - - Server Port is only available on the MS .NET 1.1 runtime. - - The port on which the SMTP server is listening. The default - port is 25. The Port can only be changed when running on - the MS .NET 1.1 runtime. - - - - - - Gets or sets the priority of the e-mail message - - - One of the values. - - - - Sets the priority of the e-mails generated by this - appender. The default priority is . - - - If you are using this appender to report errors then - you may want to set the priority to . - - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - Values for the property. - - - - SMTP authentication modes. - - - - - - No authentication - - - - - Basic authentication. - - - Requires a username and password to be supplied - - - - - Integrated authentication - - - Uses the Windows credentials from the current thread or process to authenticate. - - - - - Send an email when a specific logging event occurs, typically on errors - or fatal errors. Rather than sending via smtp it writes a file into the - directory specified by . This allows services such - as the IIS SMTP agent to manage sending the messages. - - - - The configuration for this appender is identical to that of the SMTPAppender, - except that instead of specifying the SMTPAppender.SMTPHost you specify - . - - - The number of logging events delivered in this e-mail depend on - the value of option. The - keeps only the last - logging events in its - cyclic buffer. This keeps memory requirements at a reasonable level while - still delivering useful application context. - - - Niall Daley - Nicko Cadell - - - - Default constructor - - - - Default constructor - - - - - - Sends the contents of the cyclic buffer as an e-mail message. - - The logging events to send. - - - Sends the contents of the cyclic buffer as an e-mail message. - - - - - - Activate the options on this appender. - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Convert a path into a fully qualified path. - - The path to convert. - The fully qualified path. - - - Converts the path specified to a fully - qualified path. If the path is relative it is - taken as relative from the application base - directory. - - - - - - The security context to use for privileged calls - - - - - Gets or sets a semicolon-delimited list of recipient e-mail addresses. - - - A semicolon-delimited list of e-mail addresses. - - - - A semicolon-delimited list of e-mail addresses. - - - - - - Gets or sets the e-mail address of the sender. - - - The e-mail address of the sender. - - - - The e-mail address of the sender. - - - - - - Gets or sets the subject line of the e-mail message. - - - The subject line of the e-mail message. - - - - The subject line of the e-mail message. - - - - - - Gets or sets the path to write the messages to. - - - - Gets or sets the path to write the messages to. This should be the same - as that used by the agent sending the messages. - - - - - - Gets or sets the used to write to the pickup directory. - - - The used to write to the pickup directory. - - - - Unless a specified here for this appender - the is queried for the - security context to use. The default behavior is to use the security context - of the current thread. - - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - Appender that allows clients to connect via Telnet to receive log messages - - - - The TelnetAppender accepts socket connections and streams logging messages - back to the client. - The output is provided in a telnet-friendly way so that a log can be monitored - over a TCP/IP socket. - This allows simple remote monitoring of application logging. - - - The default is 23 (the telnet port). - - - Keith Long - Nicko Cadell - - - - Default constructor - - - - Default constructor - - - - - - Overrides the parent method to close the socket handler - - - - Closes all the outstanding connections. - - - - - - Initialize the appender based on the options set. - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - Create the socket handler and wait for connections - - - - - - Writes the logging event to each connected client. - - The event to log. - - - Writes the logging event to each connected client. - - - - - - Gets or sets the TCP port number on which this will listen for connections. - - - An integer value in the range to - indicating the TCP port number on which this will listen for connections. - - - - The default value is 23 (the telnet port). - - - The value specified is less than - or greater than . - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - Helper class to manage connected clients - - - - The SocketHandler class is used to accept connections from - clients. It is threaded so that clients can connect/disconnect - asynchronously. - - - - - - Opens a new server port on - - the local port to listen on for connections - - - Creates a socket handler on the specified local server port. - - - - - - Sends a string message to each of the connected clients - - the text to send - - - Sends a string message to each of the connected clients - - - - - - Add a client to the internal clients list - - client to add - - - - Remove a client from the internal clients list - - client to remove - - - - Callback used to accept a connection on the server socket - - The result of the asynchronous operation - - - On connection adds to the list of connections - if there are two many open connections you will be disconnected - - - - - - Close all network connections - - - - Make sure we close all network connections - - - - - - Test if this handler has active connections - - - true if this handler has active connections - - - - This property will be true while this handler has - active connections, that is at least one connection that - the handler will attempt to send a message to. - - - - - - Class that represents a client connected to this handler - - - - Class that represents a client connected to this handler - - - - - - Create this for the specified - - the client's socket - - - Opens a stream writer on the socket. - - - - - - Write a string to the client - - string to send - - - Write a string to the client - - - - - - Cleanup the clients connection - - - - Close the socket connection. - - - - - - Appends log events to the system. - - - - The application configuration file can be used to control what listeners - are actually used. See the MSDN documentation for the - class for details on configuring the - trace system. - - - Events are written using the System.Diagnostics.Trace.Write(string,string) - method. The event's logger name is passed as the value for the category name to the Write method. - - - Compact Framework
- The Compact Framework does not support the - class for any operation except Assert. When using the Compact Framework this - appender will write to the system rather than - the Trace system. This appender will therefore behave like the . -
-
- Douglas de la Torre - Nicko Cadell - Gert Driesen -
- - - Initializes a new instance of the . - - - - Default constructor. - - - - - - Initializes a new instance of the - with a specified layout. - - The layout to use with this appender. - - - Obsolete constructor. - - - - - - Writes the logging event to the system. - - The event to log. - - - Writes the logging event to the system. - - - - - - Immediate flush means that the underlying writer or output stream - will be flushed at the end of each append operation. - - - - Immediate flush is slower but ensures that each append request is - actually written. If is set to - false, then there is a good chance that the last few - logs events are not actually written to persistent media if and - when the application crashes. - - - The default value is true. - - - - - Gets or sets a value that indicates whether the appender will - flush at the end of each write. - - - The default behavior is to flush at the end of each - write. If the option is set tofalse, then the underlying - stream can defer writing to physical medium to a later time. - - - Avoiding the flush operation at the end of each append results - in a performance gain of 10 to 20 percent. However, there is safety - trade-off involved in skipping flushing. Indeed, when flushing is - skipped, then it is likely that the last few log events will not - be recorded on disk when the application exits. This is a high - price to pay even for a 20% performance gain. - - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - Assembly level attribute that specifies a domain to alias to this assembly's repository. - - - - AliasDomainAttribute is obsolete. Use AliasRepositoryAttribute instead of AliasDomainAttribute. - - - An assembly's logger repository is defined by its , - however this can be overridden by an assembly loaded before the target assembly. - - - An assembly can alias another assembly's domain to its repository by - specifying this attribute with the name of the target domain. - - - This attribute can only be specified on the assembly and may be used - as many times as necessary to alias all the required domains. - - - Nicko Cadell - Gert Driesen - - - - Assembly level attribute that specifies a repository to alias to this assembly's repository. - - - - An assembly's logger repository is defined by its , - however this can be overridden by an assembly loaded before the target assembly. - - - An assembly can alias another assembly's repository to its repository by - specifying this attribute with the name of the target repository. - - - This attribute can only be specified on the assembly and may be used - as many times as necessary to alias all the required repositories. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class with - the specified repository to alias to this assembly's repository. - - The repository to alias to this assemby's repository. - - - Initializes a new instance of the class with - the specified repository to alias to this assembly's repository. - - - - - - Gets or sets the repository to alias to this assemby's repository. - - - The repository to alias to this assemby's repository. - - - - The name of the repository to alias to this assemby's repository. - - - - - - Initializes a new instance of the class with - the specified domain to alias to this assembly's repository. - - The domain to alias to this assemby's repository. - - - Obsolete. Use instead of . - - - - - - Use this class to quickly configure a . - - - - Allows very simple programmatic configuration of log4net. - - - Only one appender can be configured using this configurator. - The appender is set at the root of the hierarchy and all logging - events will be delivered to that appender. - - - Appenders can also implement the interface. Therefore - they would require that the method - be called after the appenders properties have been configured. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Uses a private access modifier to prevent instantiation of this class. - - - - - - Initializes the log4net system with a default configuration. - - - - Initializes the log4net logging system using a - that will write to Console.Out. The log messages are - formatted using the layout object - with the - layout style. - - - - - - Initializes the log4net system using the specified appender. - - The appender to use to log all logging events. - - - Initializes the log4net system using the specified appender. - - - - - - Initializes the with a default configuration. - - The repository to configure. - - - Initializes the specified repository using a - that will write to Console.Out. The log messages are - formatted using the layout object - with the - layout style. - - - - - - Initializes the using the specified appender. - - The repository to configure. - The appender to use to log all logging events. - - - Initializes the using the specified appender. - - - - - - Base class for all log4net configuration attributes. - - - This is an abstract class that must be extended by - specific configurators. This attribute allows the - configurator to be parameterized by an assembly level - attribute. - - Nicko Cadell - Gert Driesen - - - - Constructor used by subclasses. - - the ordering priority for this configurator - - - The is used to order the configurator - attributes before they are invoked. Higher priority configurators are executed - before lower priority ones. - - - - - - Configures the for the specified assembly. - - The assembly that this attribute was defined on. - The repository to configure. - - - Abstract method implemented by a subclass. When this method is called - the subclass should configure the . - - - - - - Compare this instance to another ConfiguratorAttribute - - the object to compare to - see - - - Compares the priorities of the two instances. - Sorts by priority in descending order. Objects with the same priority are - randomly ordered. - - - - - - Assembly level attribute that specifies the logging domain for the assembly. - - - - DomainAttribute is obsolete. Use RepositoryAttribute instead of DomainAttribute. - - - Assemblies are mapped to logging domains. Each domain has its own - logging repository. This attribute specified on the assembly controls - the configuration of the domain. The property specifies the name - of the domain that this assembly is a part of. The - specifies the type of the repository objects to create for the domain. If - this attribute is not specified and a is not specified - then the assembly will be part of the default shared logging domain. - - - This attribute can only be specified on the assembly and may only be used - once per assembly. - - - Nicko Cadell - Gert Driesen - - - - Assembly level attribute that specifies the logging repository for the assembly. - - - - Assemblies are mapped to logging repository. This attribute specified - on the assembly controls - the configuration of the repository. The property specifies the name - of the repository that this assembly is a part of. The - specifies the type of the object - to create for the assembly. If this attribute is not specified or a - is not specified then the assembly will be part of the default shared logging repository. - - - This attribute can only be specified on the assembly and may only be used - once per assembly. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Default constructor. - - - - - - Initialize a new instance of the class - with the name of the repository. - - The name of the repository. - - - Initialize the attribute with the name for the assembly's repository. - - - - - - Gets or sets the name of the logging repository. - - - The string name to use as the name of the repository associated with this - assembly. - - - - This value does not have to be unique. Several assemblies can share the - same repository. They will share the logging configuration of the repository. - - - - - - Gets or sets the type of repository to create for this assembly. - - - The type of repository to create for this assembly. - - - - The type of the repository to create for the assembly. - The type must implement the - interface. - - - This will be the type of repository created when - the repository is created. If multiple assemblies reference the - same repository then the repository is only created once using the - of the first assembly to call into the - repository. - - - - - - Initializes a new instance of the class. - - - - Obsolete. Use RepositoryAttribute instead of DomainAttribute. - - - - - - Initialize a new instance of the class - with the name of the domain. - - The name of the domain. - - - Obsolete. Use RepositoryAttribute instead of DomainAttribute. - - - - - - Use this class to initialize the log4net environment using an Xml tree. - - - - DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator. - - - Configures a using an Xml tree. - - - Nicko Cadell - Gert Driesen - - - - Private constructor - - - - - Automatically configures the log4net system based on the - application's configuration settings. - - - - DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator. - - Each application has a configuration file. This has the - same name as the application with '.config' appended. - This file is XML and calling this function prompts the - configurator to look in that file for a section called - log4net that contains the configuration data. - - - - - Automatically configures the using settings - stored in the application's configuration file. - - - - DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator. - - Each application has a configuration file. This has the - same name as the application with '.config' appended. - This file is XML and calling this function prompts the - configurator to look in that file for a section called - log4net that contains the configuration data. - - The repository to configure. - - - - Configures log4net using a log4net element - - - - DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator. - - Loads the log4net configuration from the XML element - supplied as . - - The element to parse. - - - - Configures the using the specified XML - element. - - - - DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator. - - Loads the log4net configuration from the XML element - supplied as . - - The repository to configure. - The element to parse. - - - - Configures log4net using the specified configuration file. - - The XML file to load the configuration from. - - - DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator. - - - The configuration file must be valid XML. It must contain - at least one element called log4net that holds - the log4net configuration data. - - - The log4net configuration file can possible be specified in the application's - configuration file (either MyAppName.exe.config for a - normal application on Web.config for an ASP.NET application). - - - The following example configures log4net using a configuration file, of which the - location is stored in the application's configuration file : - - - using log4net.Config; - using System.IO; - using System.Configuration; - - ... - - DOMConfigurator.Configure(new FileInfo(ConfigurationSettings.AppSettings["log4net-config-file"])); - - - In the .config file, the path to the log4net can be specified like this : - - - - - - - - - - - - - Configures log4net using the specified configuration file. - - A stream to load the XML configuration from. - - - DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator. - - - The configuration data must be valid XML. It must contain - at least one element called log4net that holds - the log4net configuration data. - - - Note that this method will NOT close the stream parameter. - - - - - - Configures the using the specified configuration - file. - - The repository to configure. - The XML file to load the configuration from. - - - DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator. - - - The configuration file must be valid XML. It must contain - at least one element called log4net that holds - the configuration data. - - - The log4net configuration file can possible be specified in the application's - configuration file (either MyAppName.exe.config for a - normal application on Web.config for an ASP.NET application). - - - The following example configures log4net using a configuration file, of which the - location is stored in the application's configuration file : - - - using log4net.Config; - using System.IO; - using System.Configuration; - - ... - - DOMConfigurator.Configure(new FileInfo(ConfigurationSettings.AppSettings["log4net-config-file"])); - - - In the .config file, the path to the log4net can be specified like this : - - - - - - - - - - - - - Configures the using the specified configuration - file. - - The repository to configure. - The stream to load the XML configuration from. - - - DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator. - - - The configuration data must be valid XML. It must contain - at least one element called log4net that holds - the configuration data. - - - Note that this method will NOT close the stream parameter. - - - - - - Configures log4net using the file specified, monitors the file for changes - and reloads the configuration if a change is detected. - - The XML file to load the configuration from. - - - DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator. - - - The configuration file must be valid XML. It must contain - at least one element called log4net that holds - the configuration data. - - - The configuration file will be monitored using a - and depends on the behavior of that class. - - - For more information on how to configure log4net using - a separate configuration file, see . - - - - - - - Configures the using the file specified, - monitors the file for changes and reloads the configuration if a change - is detected. - - The repository to configure. - The XML file to load the configuration from. - - - DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator. - - - The configuration file must be valid XML. It must contain - at least one element called log4net that holds - the configuration data. - - - The configuration file will be monitored using a - and depends on the behavior of that class. - - - For more information on how to configure log4net using - a separate configuration file, see . - - - - - - - Assembly level attribute to configure the . - - - - AliasDomainAttribute is obsolete. Use AliasRepositoryAttribute instead of AliasDomainAttribute. - - - This attribute may only be used at the assembly scope and can only - be used once per assembly. - - - Use this attribute to configure the - without calling one of the - methods. - - - Nicko Cadell - Gert Driesen - - - - Assembly level attribute to configure the . - - - - This attribute may only be used at the assembly scope and can only - be used once per assembly. - - - Use this attribute to configure the - without calling one of the - methods. - - - If neither of the or - properties are set the configuration is loaded from the application's .config file. - If set the property takes priority over the - property. The property - specifies a path to a file to load the config from. The path is relative to the - application's base directory; . - The property is used as a postfix to the assembly file name. - The config file must be located in the application's base directory; . - For example in a console application setting the to - config has the same effect as not specifying the or - properties. - - - The property can be set to cause the - to watch the configuration file for changes. - - - - Log4net will only look for assembly level configuration attributes once. - When using the log4net assembly level attributes to control the configuration - of log4net you must ensure that the first call to any of the - methods is made from the assembly with the configuration - attributes. - - - If you cannot guarantee the order in which log4net calls will be made from - different assemblies you must use programmatic configuration instead, i.e. - call the method directly. - - - - Nicko Cadell - Gert Driesen - - - - Default constructor - - - - Default constructor - - - - - - Configures the for the specified assembly. - - The assembly that this attribute was defined on. - The repository to configure. - - - Configure the repository using the . - The specified must extend the - class otherwise the will not be able to - configure it. - - - The does not extend . - - - - Attempt to load configuration from the local file system - - The assembly that this attribute was defined on. - The repository to configure. - - - - Configure the specified repository using a - - The repository to configure. - the FileInfo pointing to the config file - - - - Attempt to load configuration from a URI - - The assembly that this attribute was defined on. - The repository to configure. - - - - Gets or sets the filename of the configuration file. - - - The filename of the configuration file. - - - - If specified, this is the name of the configuration file to use with - the . This file path is relative to the - application base directory (). - - - The takes priority over the . - - - - - - Gets or sets the extension of the configuration file. - - - The extension of the configuration file. - - - - If specified this is the extension for the configuration file. - The path to the config file is built by using the application - base directory (), - the assembly file name and the config file extension. - - - If the is set to MyExt then - possible config file names would be: MyConsoleApp.exe.MyExt or - MyClassLibrary.dll.MyExt. - - - The takes priority over the . - - - - - - Gets or sets a value indicating whether to watch the configuration file. - - - true if the configuration should be watched, false otherwise. - - - - If this flag is specified and set to true then the framework - will watch the configuration file and will reload the config each time - the file is modified. - - - The config file can only be watched if it is loaded from local disk. - In a No-Touch (Smart Client) deployment where the application is downloaded - from a web server the config file may not reside on the local disk - and therefore it may not be able to watch it. - - - Watching configuration is not supported on the SSCLI. - - - - - - Class to register for the log4net section of the configuration file - - - The log4net section of the configuration file needs to have a section - handler registered. This is the section handler used. It simply returns - the XML element that is the root of the section. - - - Example of registering the log4net section handler : - - - -
- - - log4net configuration XML goes here - - - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Default constructor. - - - - - - Parses the configuration section. - - The configuration settings in a corresponding parent configuration section. - The configuration context when called from the ASP.NET configuration system. Otherwise, this parameter is reserved and is a null reference. - The for the log4net section. - The for the log4net section. - - - Returns the containing the configuration data, - - - - - - Assembly level attribute that specifies a plugin to attach to - the repository. - - - - Specifies the type of a plugin to create and attach to the - assembly's repository. The plugin type must implement the - interface. - - - Nicko Cadell - Gert Driesen - - - - Interface used to create plugins. - - - - Interface used to create a plugin. - - - Nicko Cadell - Gert Driesen - - - - Creates the plugin object. - - the new plugin instance - - - Create and return a new plugin instance. - - - - - - Initializes a new instance of the class - with the specified type. - - The type name of plugin to create. - - - Create the attribute with the plugin type specified. - - - Where possible use the constructor that takes a . - - - - - - Initializes a new instance of the class - with the specified type. - - The type of plugin to create. - - - Create the attribute with the plugin type specified. - - - - - - Creates the plugin object defined by this attribute. - - - - Creates the instance of the object as - specified by this attribute. - - - The plugin object. - - - - Returns a representation of the properties of this object. - - - - Overrides base class method to - return a representation of the properties of this object. - - - A representation of the properties of this object - - - - Gets or sets the type for the plugin. - - - The type for the plugin. - - - - The type for the plugin. - - - - - - Gets or sets the type name for the plugin. - - - The type name for the plugin. - - - - The type name for the plugin. - - - Where possible use the property instead. - - - - - - Assembly level attribute to configure the . - - - - This attribute may only be used at the assembly scope and can only - be used once per assembly. - - - Use this attribute to configure the - without calling one of the - methods. - - - Nicko Cadell - - - - Construct provider attribute with type specified - - the type of the provider to use - - - The provider specified must subclass the - class. - - - - - - Configures the SecurityContextProvider - - The assembly that this attribute was defined on. - The repository to configure. - - - Creates a provider instance from the specified. - Sets this as the default security context provider . - - - - - - Gets or sets the type of the provider to use. - - - the type of the provider to use. - - - - The provider specified must subclass the - class. - - - - - - Use this class to initialize the log4net environment using an Xml tree. - - - - Configures a using an Xml tree. - - - Nicko Cadell - Gert Driesen - - - - Private constructor - - - - - Automatically configures the log4net system based on the - application's configuration settings. - - - - Each application has a configuration file. This has the - same name as the application with '.config' appended. - This file is XML and calling this function prompts the - configurator to look in that file for a section called - log4net that contains the configuration data. - - - To use this method to configure log4net you must specify - the section - handler for the log4net configuration section. See the - for an example. - - - - - - - Automatically configures the using settings - stored in the application's configuration file. - - - - Each application has a configuration file. This has the - same name as the application with '.config' appended. - This file is XML and calling this function prompts the - configurator to look in that file for a section called - log4net that contains the configuration data. - - - To use this method to configure log4net you must specify - the section - handler for the log4net configuration section. See the - for an example. - - - The repository to configure. - - - - Configures log4net using a log4net element - - - - Loads the log4net configuration from the XML element - supplied as . - - - The element to parse. - - - - Configures the using the specified XML - element. - - - Loads the log4net configuration from the XML element - supplied as . - - The repository to configure. - The element to parse. - - - - Configures log4net using the specified configuration file. - - The XML file to load the configuration from. - - - The configuration file must be valid XML. It must contain - at least one element called log4net that holds - the log4net configuration data. - - - The log4net configuration file can possible be specified in the application's - configuration file (either MyAppName.exe.config for a - normal application on Web.config for an ASP.NET application). - - - The first element matching <configuration> will be read as the - configuration. If this file is also a .NET .config file then you must specify - a configuration section for the log4net element otherwise .NET will - complain. Set the type for the section handler to , for example: - - -
- - - - - The following example configures log4net using a configuration file, of which the - location is stored in the application's configuration file : - - - using log4net.Config; - using System.IO; - using System.Configuration; - - ... - - XmlConfigurator.Configure(new FileInfo(ConfigurationSettings.AppSettings["log4net-config-file"])); - - - In the .config file, the path to the log4net can be specified like this : - - - - - - - - - - - - - Configures log4net using the specified configuration URI. - - A URI to load the XML configuration from. - - - The configuration data must be valid XML. It must contain - at least one element called log4net that holds - the log4net configuration data. - - - The must support the URI scheme specified. - - - - - - Configures log4net using the specified configuration data stream. - - A stream to load the XML configuration from. - - - The configuration data must be valid XML. It must contain - at least one element called log4net that holds - the log4net configuration data. - - - Note that this method will NOT close the stream parameter. - - - - - - Configures the using the specified configuration - file. - - The repository to configure. - The XML file to load the configuration from. - - - The configuration file must be valid XML. It must contain - at least one element called log4net that holds - the configuration data. - - - The log4net configuration file can possible be specified in the application's - configuration file (either MyAppName.exe.config for a - normal application on Web.config for an ASP.NET application). - - - The first element matching <configuration> will be read as the - configuration. If this file is also a .NET .config file then you must specify - a configuration section for the log4net element otherwise .NET will - complain. Set the type for the section handler to , for example: - - -
- - - - - The following example configures log4net using a configuration file, of which the - location is stored in the application's configuration file : - - - using log4net.Config; - using System.IO; - using System.Configuration; - - ... - - XmlConfigurator.Configure(new FileInfo(ConfigurationSettings.AppSettings["log4net-config-file"])); - - - In the .config file, the path to the log4net can be specified like this : - - - - - - - - - - - - - Configures the using the specified configuration - URI. - - The repository to configure. - A URI to load the XML configuration from. - - - The configuration data must be valid XML. It must contain - at least one element called log4net that holds - the configuration data. - - - The must support the URI scheme specified. - - - - - - Configures the using the specified configuration - file. - - The repository to configure. - The stream to load the XML configuration from. - - - The configuration data must be valid XML. It must contain - at least one element called log4net that holds - the configuration data. - - - Note that this method will NOT close the stream parameter. - - - - - - Configures log4net using the file specified, monitors the file for changes - and reloads the configuration if a change is detected. - - The XML file to load the configuration from. - - - The configuration file must be valid XML. It must contain - at least one element called log4net that holds - the configuration data. - - - The configuration file will be monitored using a - and depends on the behavior of that class. - - - For more information on how to configure log4net using - a separate configuration file, see . - - - - - - - Configures the using the file specified, - monitors the file for changes and reloads the configuration if a change - is detected. - - The repository to configure. - The XML file to load the configuration from. - - - The configuration file must be valid XML. It must contain - at least one element called log4net that holds - the configuration data. - - - The configuration file will be monitored using a - and depends on the behavior of that class. - - - For more information on how to configure log4net using - a separate configuration file, see . - - - - - - - Configures the specified repository using a log4net element. - - The hierarchy to configure. - The element to parse. - - - Loads the log4net configuration from the XML element - supplied as . - - - This method is ultimately called by one of the Configure methods - to load the configuration from an . - - - - - - Class used to watch config files. - - - - Uses the to monitor - changes to a specified file. Because multiple change notifications - may be raised when the file is modified, a timer is used to - compress the notifications into a single event. The timer - waits for time before delivering - the event notification. If any further - change notifications arrive while the timer is waiting it - is reset and waits again for to - elapse. - - - - - - The default amount of time to wait after receiving notification - before reloading the config file. - - - - - Watch a specified config file used to configure a repository - - The repository to configure. - The configuration file to watch. - - - Watch a specified config file used to configure a repository - - - - - - Holds the FileInfo used to configure the XmlConfigurator - - - - - Holds the repository being configured. - - - - - The timer used to compress the notification events. - - - - - Initializes a new instance of the class. - - The repository to configure. - The configuration file to watch. - - - Initializes a new instance of the class. - - - - - - Event handler used by . - - The firing the event. - The argument indicates the file that caused the event to be fired. - - - This handler reloads the configuration from the file when the event is fired. - - - - - - Event handler used by . - - The firing the event. - The argument indicates the file that caused the event to be fired. - - - This handler reloads the configuration from the file when the event is fired. - - - - - - Called by the timer when the configuration has been updated. - - null - - - - The implementation of the interface suitable - for use with the compact framework - - - - This implementation is a simple - mapping between repository name and - object. - - - The .NET Compact Framework 1.0 does not support retrieving assembly - level attributes therefore unlike the DefaultRepositorySelector - this selector does not examine the calling assembly for attributes. - - - Nicko Cadell - - - - Interface used by the to select the . - - - - The uses a - to specify the policy for selecting the correct - to return to the caller. - - - Nicko Cadell - Gert Driesen - - - - Gets the for the specified assembly. - - The assembly to use to lookup to the - The for the assembly. - - - Gets the for the specified assembly. - - - How the association between and - is made is not defined. The implementation may choose any method for - this association. The results of this method must be repeatable, i.e. - when called again with the same arguments the result must be the - save value. - - - - - - Gets the named . - - The name to use to lookup to the . - The named - - Lookup a named . This is the repository created by - calling . - - - - - Creates a new repository for the assembly specified. - - The assembly to use to create the domain to associate with the . - The type of repository to create, must implement . - The repository created. - - - The created will be associated with the domain - specified such that a call to with the - same assembly specified will return the same repository instance. - - - How the association between and - is made is not defined. The implementation may choose any method for - this association. - - - - - - Creates a new repository with the name specified. - - The name to associate with the . - The type of repository to create, must implement . - The repository created. - - - The created will be associated with the name - specified such that a call to with the - same name will return the same repository instance. - - - - - - Test if a named repository exists - - the named repository to check - true if the repository exists - - - Test if a named repository exists. Use - to create a new repository and to retrieve - a repository. - - - - - - Gets an array of all currently defined repositories. - - - An array of the instances created by - this . - - - Gets an array of all of the repositories created by this selector. - - - - - - Event to notify that a logger repository has been created. - - - Event to notify that a logger repository has been created. - - - - Event raised when a new repository is created. - The event source will be this selector. The event args will - be a which - holds the newly created . - - - - - - Create a new repository selector - - the type of the repositories to create, must implement - - - Create an new compact repository selector. - The default type for repositories must be specified, - an appropriate value would be . - - - throw if is null - throw if does not implement - - - - Get the for the specified assembly - - not used - The default - - - The argument is not used. This selector does not create a - separate repository for each assembly. - - - As a named repository is not specified the default repository is - returned. The default repository is named log4net-default-repository. - - - - - - Get the named - - the name of the repository to lookup - The named - - - Get the named . The default - repository is log4net-default-repository. Other repositories - must be created using the . - If the named repository does not exist an exception is thrown. - - - throw if is null - throw if the does not exist - - - - Create a new repository for the assembly specified - - not used - the type of repository to create, must implement - the repository created - - - The argument is not used. This selector does not create a - separate repository for each assembly. - - - If the is null then the - default repository type specified to the constructor is used. - - - As a named repository is not specified the default repository is - returned. The default repository is named log4net-default-repository. - - - - - - Create a new repository for the repository specified - - the repository to associate with the - the type of repository to create, must implement . - If this param is null then the default repository type is used. - the repository created - - - The created will be associated with the repository - specified such that a call to with the - same repository specified will return the same repository instance. - - - If the named repository already exists an exception will be thrown. - - - If is null then the default - repository type specified to the constructor is used. - - - throw if is null - throw if the already exists - - - - Test if a named repository exists - - the named repository to check - true if the repository exists - - - Test if a named repository exists. Use - to create a new repository and to retrieve - a repository. - - - - - - Gets a list of objects - - an array of all known objects - - - Gets an array of all of the repositories created by this selector. - - - - - - Notify the registered listeners that the repository has been created - - The repository that has been created - - - Raises the LoggerRepositoryCreatedEvent - event. - - - - - - Event to notify that a logger repository has been created. - - - Event to notify that a logger repository has been created. - - - - Event raised when a new repository is created. - The event source will be this selector. The event args will - be a which - holds the newly created . - - - - - - The default implementation of the interface. - - - - Uses attributes defined on the calling assembly to determine how to - configure the hierarchy for the repository. - - - Nicko Cadell - Gert Driesen - - - - Creates a new repository selector. - - The type of the repositories to create, must implement - - - Create an new repository selector. - The default type for repositories must be specified, - an appropriate value would be . - - - is . - does not implement . - - - - Gets the for the specified assembly. - - The assembly use to lookup the . - - - The type of the created and the repository - to create can be overridden by specifying the - attribute on the . - - - The default values are to use the - implementation of the interface and to use the - as the name of the repository. - - - The created will be automatically configured using - any attributes defined on - the . - - - The for the assembly - is . - - - - Gets the for the specified repository. - - The repository to use to lookup the . - The for the specified repository. - - - Returns the named repository. If is null - a is thrown. If the repository - does not exist a is thrown. - - - Use to create a repository. - - - is . - does not exist. - - - - Create a new repository for the assembly specified - - the assembly to use to create the repository to associate with the . - The type of repository to create, must implement . - The repository created. - - - The created will be associated with the repository - specified such that a call to with the - same assembly specified will return the same repository instance. - - - The type of the created and - the repository to create can be overridden by specifying the - attribute on the - . The default values are to use the - implementation of the - interface and to use the - as the name of the repository. - - - The created will be automatically - configured using any - attributes defined on the . - - - If a repository for the already exists - that repository will be returned. An error will not be raised and that - repository may be of a different type to that specified in . - Also the attribute on the - assembly may be used to override the repository type specified in - . - - - is . - - - - Creates a new repository for the assembly specified. - - the assembly to use to create the repository to associate with the . - The type of repository to create, must implement . - The name to assign to the created repository - Set to true to read and apply the assembly attributes - The repository created. - - - The created will be associated with the repository - specified such that a call to with the - same assembly specified will return the same repository instance. - - - The type of the created and - the repository to create can be overridden by specifying the - attribute on the - . The default values are to use the - implementation of the - interface and to use the - as the name of the repository. - - - The created will be automatically - configured using any - attributes defined on the . - - - If a repository for the already exists - that repository will be returned. An error will not be raised and that - repository may be of a different type to that specified in . - Also the attribute on the - assembly may be used to override the repository type specified in - . - - - is . - - - - Creates a new repository for the specified repository. - - The repository to associate with the . - The type of repository to create, must implement . - If this param is then the default repository type is used. - The new repository. - - - The created will be associated with the repository - specified such that a call to with the - same repository specified will return the same repository instance. - - - is . - already exists. - - - - Test if a named repository exists - - the named repository to check - true if the repository exists - - - Test if a named repository exists. Use - to create a new repository and to retrieve - a repository. - - - - - - Gets a list of objects - - an array of all known objects - - - Gets an array of all of the repositories created by this selector. - - - - - - Aliases a repository to an existing repository. - - The repository to alias. - The repository that the repository is aliased to. - - - The repository specified will be aliased to the repository when created. - The repository must not already exist. - - - When the repository is created it must utilize the same repository type as - the repository it is aliased to, otherwise the aliasing will fail. - - - - is . - -or- - is . - - - - - Notifies the registered listeners that the repository has been created. - - The repository that has been created. - - - Raises the event. - - - - - - Gets the repository name and repository type for the specified assembly. - - The assembly that has a . - in/out param to hold the repository name to use for the assembly, caller should set this to the default value before calling. - in/out param to hold the type of the repository to create for the assembly, caller should set this to the default value before calling. - is . - - - - Configures the repository using information from the assembly. - - The assembly containing - attributes which define the configuration for the repository. - The repository to configure. - - is . - -or- - is . - - - - - Loads the attribute defined plugins on the assembly. - - The assembly that contains the attributes. - The repository to add the plugins to. - - is . - -or- - is . - - - - - Loads the attribute defined aliases on the assembly. - - The assembly that contains the attributes. - The repository to alias to. - - is . - -or- - is . - - - - - Event to notify that a logger repository has been created. - - - Event to notify that a logger repository has been created. - - - - Event raised when a new repository is created. - The event source will be this selector. The event args will - be a which - holds the newly created . - - - - - - Defined error codes that can be passed to the method. - - - - Values passed to the method. - - - Nicko Cadell - - - - A general error - - - - - Error while writing output - - - - - Failed to flush file - - - - - Failed to close file - - - - - Unable to open output file - - - - - No layout specified - - - - - Failed to parse address - - - - - Appenders may delegate their error handling to an . - - - - Error handling is a particularly tedious to get right because by - definition errors are hard to predict and to reproduce. - - - Nicko Cadell - Gert Driesen - - - - Handles the error and information about the error condition is passed as - a parameter. - - The message associated with the error. - The that was thrown when the error occurred. - The error code associated with the error. - - - Handles the error and information about the error condition is passed as - a parameter. - - - - - - Prints the error message passed as a parameter. - - The message associated with the error. - The that was thrown when the error occurred. - - - See . - - - - - - Prints the error message passed as a parameter. - - The message associated with the error. - - - See . - - - - - - Interface for objects that require fixing. - - - - Interface that indicates that the object requires fixing before it - can be taken outside the context of the appender's - method. - - - When objects that implement this interface are stored - in the context properties maps - and - are fixed - (see ) the - method will be called. - - - Nicko Cadell - - - - Get a portable version of this object - - the portable instance of this object - - - Get a portable instance object that represents the current - state of this object. The portable object can be stored - and logged from any thread with identical results. - - - - - - Interface that all loggers implement - - - - This interface supports logging events and testing if a level - is enabled for logging. - - - These methods will not throw exceptions. Note to implementor, ensure - that the implementation of these methods cannot allow an exception - to be thrown to the caller. - - - Nicko Cadell - Gert Driesen - - - - This generic form is intended to be used by wrappers. - - The declaring type of the method that is - the stack boundary into the logging system for this call. - The level of the message to be logged. - The message object to log. - the exception to log, including its stack trace. Pass null to not log an exception. - - - Generates a logging event for the specified using - the and . - - - - - - This is the most generic printing method that is intended to be used - by wrappers. - - The event being logged. - - - Logs the specified logging event through this logger. - - - - - - Checks if this logger is enabled for a given passed as parameter. - - The level to check. - - true if this logger is enabled for level, otherwise false. - - - - Test if this logger is going to log events of the specified . - - - - - - Gets the name of the logger. - - - The name of the logger. - - - - The name of this logger - - - - - - Gets the where this - Logger instance is attached to. - - - The that this logger belongs to. - - - - Gets the where this - Logger instance is attached to. - - - - - - Base interface for all wrappers - - - - Base interface for all wrappers. - - - All wrappers must implement this interface. - - - Nicko Cadell - - - - Get the implementation behind this wrapper object. - - - The object that in implementing this object. - - - - The object that in implementing this - object. The Logger object may not - be the same object as this object because of logger decorators. - This gets the actual underlying objects that is used to process - the log events. - - - - - - Delegate used to handle logger repository creation event notifications - - The which created the repository. - The event args - that holds the instance that has been created. - - - Delegate used to handle logger repository creation event notifications. - - - - - - Provides data for the event. - - - - A - event is raised every time a is created. - - - - - - The created - - - - - Construct instance using specified - - the that has been created - - - Construct instance using specified - - - - - - The that has been created - - - The that has been created - - - - The that has been created - - - - - - Test if an triggers an action - - - - Implementations of this interface allow certain appenders to decide - when to perform an appender specific action. - - - The action or behavior triggered is defined by the implementation. - - - Nicko Cadell - - - - Test if this event triggers the action - - The event to check - true if this event triggers the action, otherwise false - - - Return true if this event triggers the action - - - - - - Defines the default set of levels recognized by the system. - - - - Each has an associated . - - - Levels have a numeric that defines the relative - ordering between levels. Two Levels with the same - are deemed to be equivalent. - - - The levels that are recognized by log4net are set for each - and each repository can have different levels defined. The levels are stored - in the on the repository. Levels are - looked up by name from the . - - - When logging at level INFO the actual level used is not but - the value of LoggerRepository.LevelMap["INFO"]. The default value for this is - , but this can be changed by reconfiguring the level map. - - - Each level has a in addition to its . The - is the string that is written into the output log. By default - the display name is the same as the level name, but this can be used to alias levels - or to localize the log output. - - - Some of the predefined levels recognized by the system are: - - - - . - - - . - - - . - - - . - - - . - - - . - - - . - - - - Nicko Cadell - Gert Driesen - - - - Constructor - - Integer value for this level, higher values represent more severe levels. - The string name of this level. - The display name for this level. This may be localized or otherwise different from the name - - - Initializes a new instance of the class with - the specified level name and value. - - - - - - Constructor - - Integer value for this level, higher values represent more severe levels. - The string name of this level. - - - Initializes a new instance of the class with - the specified level name and value. - - - - - - Returns the representation of the current - . - - - A representation of the current . - - - - Returns the level . - - - - - - Compares levels. - - The object to compare against. - true if the objects are equal. - - - Compares the levels of instances, and - defers to base class if the target object is not a - instance. - - - - - - Returns a hash code - - A hash code for the current . - - - Returns a hash code suitable for use in hashing algorithms and data - structures like a hash table. - - - Returns the hash code of the level . - - - - - - Compares this instance to a specified object and returns an - indication of their relative values. - - A instance or to compare with this instance. - - A 32-bit signed integer that indicates the relative order of the - values compared. The return value has these meanings: - - - Value - Meaning - - - Less than zero - This instance is less than . - - - Zero - This instance is equal to . - - - Greater than zero - - This instance is greater than . - -or- - is . - - - - - - - must be an instance of - or ; otherwise, an exception is thrown. - - - is not a . - - - - Returns a value indicating whether a specified - is greater than another specified . - - A - A - - true if is greater than - ; otherwise, false. - - - - Compares two levels. - - - - - - Returns a value indicating whether a specified - is less than another specified . - - A - A - - true if is less than - ; otherwise, false. - - - - Compares two levels. - - - - - - Returns a value indicating whether a specified - is greater than or equal to another specified . - - A - A - - true if is greater than or equal to - ; otherwise, false. - - - - Compares two levels. - - - - - - Returns a value indicating whether a specified - is less than or equal to another specified . - - A - A - - true if is less than or equal to - ; otherwise, false. - - - - Compares two levels. - - - - - - Returns a value indicating whether two specified - objects have the same value. - - A or . - A or . - - true if the value of is the same as the - value of ; otherwise, false. - - - - Compares two levels. - - - - - - Returns a value indicating whether two specified - objects have different values. - - A or . - A or . - - true if the value of is different from - the value of ; otherwise, false. - - - - Compares two levels. - - - - - - Compares two specified instances. - - The first to compare. - The second to compare. - - A 32-bit signed integer that indicates the relative order of the - two values compared. The return value has these meanings: - - - Value - Meaning - - - Less than zero - is less than . - - - Zero - is equal to . - - - Greater than zero - is greater than . - - - - - - Compares two levels. - - - - - - The level designates a higher level than all the rest. - - - - - The level designates very severe error events. - System unusable, emergencies. - - - - - The level designates very severe error events - that will presumably lead the application to abort. - - - - - The level designates very severe error events. - Take immediate action, alerts. - - - - - The level designates very severe error events. - Critical condition, critical. - - - - - The level designates very severe error events. - - - - - The level designates error events that might - still allow the application to continue running. - - - - - The level designates potentially harmful - situations. - - - - - The level designates informational messages - that highlight the progress of the application at the highest level. - - - - - The level designates informational messages that - highlight the progress of the application at coarse-grained level. - - - - - The level designates fine-grained informational - events that are most useful to debug an application. - - - - - The level designates fine-grained informational - events that are most useful to debug an application. - - - - - The level designates fine-grained informational - events that are most useful to debug an application. - - - - - The level designates fine-grained informational - events that are most useful to debug an application. - - - - - The level designates fine-grained informational - events that are most useful to debug an application. - - - - - The level designates fine-grained informational - events that are most useful to debug an application. - - - - - The level designates the lowest level possible. - - - - - Gets the name of this level. - - - The name of this level. - - - - Gets the name of this level. - - - - - - Gets the value of this level. - - - The value of this level. - - - - Gets the value of this level. - - - - - - Gets the display name of this level. - - - The display name of this level. - - - - Gets the display name of this level. - - - - - - A strongly-typed collection of objects. - - Nicko Cadell - - - - Creates a read-only wrapper for a LevelCollection instance. - - list to create a readonly wrapper arround - - A LevelCollection wrapper that is read-only. - - - - - Initializes a new instance of the LevelCollection class - that is empty and has the default initial capacity. - - - - - Initializes a new instance of the LevelCollection class - that has the specified initial capacity. - - - The number of elements that the new LevelCollection is initially capable of storing. - - - - - Initializes a new instance of the LevelCollection class - that contains elements copied from the specified LevelCollection. - - The LevelCollection whose elements are copied to the new collection. - - - - Initializes a new instance of the LevelCollection class - that contains elements copied from the specified array. - - The array whose elements are copied to the new list. - - - - Initializes a new instance of the LevelCollection class - that contains elements copied from the specified collection. - - The collection whose elements are copied to the new list. - - - - Allow subclasses to avoid our default constructors - - - - - - Copies the entire LevelCollection to a one-dimensional - array. - - The one-dimensional array to copy to. - - - - Copies the entire LevelCollection to a one-dimensional - array, starting at the specified index of the target array. - - The one-dimensional array to copy to. - The zero-based index in at which copying begins. - - - - Adds a to the end of the LevelCollection. - - The to be added to the end of the LevelCollection. - The index at which the value has been added. - - - - Removes all elements from the LevelCollection. - - - - - Creates a shallow copy of the . - - A new with a shallow copy of the collection data. - - - - Determines whether a given is in the LevelCollection. - - The to check for. - true if is found in the LevelCollection; otherwise, false. - - - - Returns the zero-based index of the first occurrence of a - in the LevelCollection. - - The to locate in the LevelCollection. - - The zero-based index of the first occurrence of - in the entire LevelCollection, if found; otherwise, -1. - - - - - Inserts an element into the LevelCollection at the specified index. - - The zero-based index at which should be inserted. - The to insert. - - is less than zero - -or- - is equal to or greater than . - - - - - Removes the first occurrence of a specific from the LevelCollection. - - The to remove from the LevelCollection. - - The specified was not found in the LevelCollection. - - - - - Removes the element at the specified index of the LevelCollection. - - The zero-based index of the element to remove. - - is less than zero - -or- - is equal to or greater than . - - - - - Returns an enumerator that can iterate through the LevelCollection. - - An for the entire LevelCollection. - - - - Adds the elements of another LevelCollection to the current LevelCollection. - - The LevelCollection whose elements should be added to the end of the current LevelCollection. - The new of the LevelCollection. - - - - Adds the elements of a array to the current LevelCollection. - - The array whose elements should be added to the end of the LevelCollection. - The new of the LevelCollection. - - - - Adds the elements of a collection to the current LevelCollection. - - The collection whose elements should be added to the end of the LevelCollection. - The new of the LevelCollection. - - - - Sets the capacity to the actual number of elements. - - - - - is less than zero - -or- - is equal to or greater than . - - - - - is less than zero - -or- - is equal to or greater than . - - - - - Gets the number of elements actually contained in the LevelCollection. - - - - - Gets a value indicating whether access to the collection is synchronized (thread-safe). - - true if access to the ICollection is synchronized (thread-safe); otherwise, false. - - - - Gets an object that can be used to synchronize access to the collection. - - - - - Gets or sets the at the specified index. - - The zero-based index of the element to get or set. - - is less than zero - -or- - is equal to or greater than . - - - - - Gets a value indicating whether the collection has a fixed size. - - true if the collection has a fixed size; otherwise, false. The default is false - - - - Gets a value indicating whether the IList is read-only. - - true if the collection is read-only; otherwise, false. The default is false - - - - Gets or sets the number of elements the LevelCollection can contain. - - - - - Supports type-safe iteration over a . - - - - - Advances the enumerator to the next element in the collection. - - - true if the enumerator was successfully advanced to the next element; - false if the enumerator has passed the end of the collection. - - - The collection was modified after the enumerator was created. - - - - - Sets the enumerator to its initial position, before the first element in the collection. - - - - - Gets the current element in the collection. - - - - - Type visible only to our subclasses - Used to access protected constructor - - - - - A value - - - - - Supports simple iteration over a . - - - - - Initializes a new instance of the Enumerator class. - - - - - - Advances the enumerator to the next element in the collection. - - - true if the enumerator was successfully advanced to the next element; - false if the enumerator has passed the end of the collection. - - - The collection was modified after the enumerator was created. - - - - - Sets the enumerator to its initial position, before the first element in the collection. - - - - - Gets the current element in the collection. - - - - - An evaluator that triggers at a threshold level - - - - This evaluator will trigger if the level of the event - passed to - is equal to or greater than the - level. - - - Nicko Cadell - - - - The threshold for triggering - - - - - Create a new evaluator using the threshold. - - - - Create a new evaluator using the threshold. - - - This evaluator will trigger if the level of the event - passed to - is equal to or greater than the - level. - - - - - - Create a new evaluator using the specified threshold. - - the threshold to trigger at - - - Create a new evaluator using the specified threshold. - - - This evaluator will trigger if the level of the event - passed to - is equal to or greater than the - level. - - - - - - Is this the triggering event? - - The event to check - This method returns true, if the event level - is equal or higher than the . - Otherwise it returns false - - - This evaluator will trigger if the level of the event - passed to - is equal to or greater than the - level. - - - - - - the threshold to trigger at - - - The that will cause this evaluator to trigger - - - - This evaluator will trigger if the level of the event - passed to - is equal to or greater than the - level. - - - - - - Mapping between string name and Level object - - - - Mapping between string name and object. - This mapping is held separately for each . - The level name is case insensitive. - - - Nicko Cadell - - - - Mapping from level name to Level object. The - level name is case insensitive - - - - - Construct the level map - - - - Construct the level map. - - - - - - Clear the internal maps of all levels - - - - Clear the internal maps of all levels - - - - - - Create a new Level and add it to the map - - the string to display for the Level - the level value to give to the Level - - - Create a new Level and add it to the map - - - - - - - Create a new Level and add it to the map - - the string to display for the Level - the level value to give to the Level - the display name to give to the Level - - - Create a new Level and add it to the map - - - - - - Add a Level to the map - - the Level to add - - - Add a Level to the map - - - - - - Lookup a named level from the map - - the name of the level to lookup is taken from this level. - If the level is not set on the map then this level is added - the level in the map with the name specified - - - Lookup a named level from the map. The name of the level to lookup is taken - from the property of the - argument. - - - If no level with the specified name is found then the - argument is added to the level map - and returned. - - - - - - Lookup a by name - - The name of the Level to lookup - a Level from the map with the name specified - - - Returns the from the - map with the name specified. If the no level is - found then null is returned. - - - - - - Return all possible levels as a list of Level objects. - - all possible levels as a list of Level objects - - - Return all possible levels as a list of Level objects. - - - - - - The internal representation of caller location information. - - - - This class uses the System.Diagnostics.StackTrace class to generate - a call stack. The caller's information is then extracted from this stack. - - - The System.Diagnostics.StackTrace class is not supported on the - .NET Compact Framework 1.0 therefore caller location information is not - available on that framework. - - - The System.Diagnostics.StackTrace class has this to say about Release builds: - - - "StackTrace information will be most informative with Debug build configurations. - By default, Debug builds include debug symbols, while Release builds do not. The - debug symbols contain most of the file, method name, line number, and column - information used in constructing StackFrame and StackTrace objects. StackTrace - might not report as many method calls as expected, due to code transformations - that occur during optimization." - - - This means that in a Release build the caller information may be incomplete or may - not exist at all! Therefore caller location information cannot be relied upon in a Release build. - - - Nicko Cadell - Gert Driesen - - - - When location information is not available the constant - NA is returned. Current value of this string - constant is ?. - - - - - Constructor - - The declaring type of the method that is - the stack boundary into the logging system for this call. - - - Initializes a new instance of the - class based on the current thread. - - - - - - Constructor - - The fully qualified class name. - The method name. - The file name. - The line number of the method within the file. - - - Initializes a new instance of the - class with the specified data. - - - - - - Gets the fully qualified class name of the caller making the logging - request. - - - The fully qualified class name of the caller making the logging - request. - - - - Gets the fully qualified class name of the caller making the logging - request. - - - - - - Gets the file name of the caller. - - - The file name of the caller. - - - - Gets the file name of the caller. - - - - - - Gets the line number of the caller. - - - The line number of the caller. - - - - Gets the line number of the caller. - - - - - - Gets the method name of the caller. - - - The method name of the caller. - - - - Gets the method name of the caller. - - - - - - Gets all available caller information - - - All available caller information, in the format - fully.qualified.classname.of.caller.methodName(Filename:line) - - - - Gets all available caller information, in the format - fully.qualified.classname.of.caller.methodName(Filename:line) - - - - - - Static manager that controls the creation of repositories - - - - Static manager that controls the creation of repositories - - - This class is used by the wrapper managers (e.g. ) - to provide access to the objects. - - - This manager also holds the that is used to - lookup and create repositories. The selector can be set either programmatically using - the property, or by setting the log4net.RepositorySelector - AppSetting in the applications config file to the fully qualified type name of the - selector to use. - - - Nicko Cadell - Gert Driesen - - - - Private constructor to prevent instances. Only static methods should be used. - - - - Private constructor to prevent instances. Only static methods should be used. - - - - - - Hook the shutdown event - - - - On the full .NET runtime, the static constructor hooks up the - AppDomain.ProcessExit and AppDomain.DomainUnload> events. - These are used to shutdown the log4net system as the application exits. - - - - - - Register for ProcessExit and DomainUnload events on the AppDomain - - - - This needs to be in a separate method because the events make - a LinkDemand for the ControlAppDomain SecurityPermission. Because - this is a LinkDemand it is demanded at JIT time. Therefore we cannot - catch the exception in the method itself, we have to catch it in the - caller. - - - - - - Return the default instance. - - the repository to lookup in - Return the default instance - - - Gets the for the repository specified - by the argument. - - - - - - Returns the default instance. - - The assembly to use to lookup the repository. - The default instance. - - - - Return the default instance. - - the repository to lookup in - Return the default instance - - - Gets the for the repository specified - by the argument. - - - - - - Returns the default instance. - - The assembly to use to lookup the repository. - The default instance. - - - Returns the default instance. - - - - - - Returns the named logger if it exists. - - The repository to lookup in. - The fully qualified logger name to look for. - - The logger found, or null if the named logger does not exist in the - specified repository. - - - - If the named logger exists (in the specified repository) then it - returns a reference to the logger, otherwise it returns - null. - - - - - - Returns the named logger if it exists. - - The assembly to use to lookup the repository. - The fully qualified logger name to look for. - - The logger found, or null if the named logger does not exist in the - specified assembly's repository. - - - - If the named logger exists (in the specified assembly's repository) then it - returns a reference to the logger, otherwise it returns - null. - - - - - - Returns all the currently defined loggers in the specified repository. - - The repository to lookup in. - All the defined loggers. - - - The root logger is not included in the returned array. - - - - - - Returns all the currently defined loggers in the specified assembly's repository. - - The assembly to use to lookup the repository. - All the defined loggers. - - - The root logger is not included in the returned array. - - - - - - Retrieves or creates a named logger. - - The repository to lookup in. - The name of the logger to retrieve. - The logger with the name specified. - - - Retrieves a logger named as the - parameter. If the named logger already exists, then the - existing instance will be returned. Otherwise, a new instance is - created. - - - By default, loggers do not have a set level but inherit - it from the hierarchy. This is one of the central features of - log4net. - - - - - - Retrieves or creates a named logger. - - The assembly to use to lookup the repository. - The name of the logger to retrieve. - The logger with the name specified. - - - Retrieves a logger named as the - parameter. If the named logger already exists, then the - existing instance will be returned. Otherwise, a new instance is - created. - - - By default, loggers do not have a set level but inherit - it from the hierarchy. This is one of the central features of - log4net. - - - - - - Shorthand for . - - The repository to lookup in. - The of which the fullname will be used as the name of the logger to retrieve. - The logger with the name specified. - - - Gets the logger for the fully qualified name of the type specified. - - - - - - Shorthand for . - - the assembly to use to lookup the repository - The of which the fullname will be used as the name of the logger to retrieve. - The logger with the name specified. - - - Gets the logger for the fully qualified name of the type specified. - - - - - - Shuts down the log4net system. - - - - Calling this method will safely close and remove all - appenders in all the loggers including root contained in all the - default repositories. - - - Some appenders need to be closed before the application exists. - Otherwise, pending logging events might be lost. - - - The shutdown method is careful to close nested - appenders before closing regular appenders. This is allows - configurations where a regular appender is attached to a logger - and again to a nested appender. - - - - - - Shuts down the repository for the repository specified. - - The repository to shutdown. - - - Calling this method will safely close and remove all - appenders in all the loggers including root contained in the - repository for the specified. - - - Some appenders need to be closed before the application exists. - Otherwise, pending logging events might be lost. - - - The shutdown method is careful to close nested - appenders before closing regular appenders. This is allows - configurations where a regular appender is attached to a logger - and again to a nested appender. - - - - - - Shuts down the repository for the repository specified. - - The assembly to use to lookup the repository. - - - Calling this method will safely close and remove all - appenders in all the loggers including root contained in the - repository for the repository. The repository is looked up using - the specified. - - - Some appenders need to be closed before the application exists. - Otherwise, pending logging events might be lost. - - - The shutdown method is careful to close nested - appenders before closing regular appenders. This is allows - configurations where a regular appender is attached to a logger - and again to a nested appender. - - - - - - Resets all values contained in this repository instance to their defaults. - - The repository to reset. - - - Resets all values contained in the repository instance to their - defaults. This removes all appenders from all loggers, sets - the level of all non-root loggers to null, - sets their additivity flag to true and sets the level - of the root logger to . Moreover, - message disabling is set its default "off" value. - - - - - - Resets all values contained in this repository instance to their defaults. - - The assembly to use to lookup the repository to reset. - - - Resets all values contained in the repository instance to their - defaults. This removes all appenders from all loggers, sets - the level of all non-root loggers to null, - sets their additivity flag to true and sets the level - of the root logger to . Moreover, - message disabling is set its default "off" value. - - - - - - Creates a repository with the specified name. - - The name of the repository, this must be unique amongst repositories. - The created for the repository. - - - CreateDomain is obsolete. Use CreateRepository instead of CreateDomain. - - - Creates the default type of which is a - object. - - - The name must be unique. Repositories cannot be redefined. - An will be thrown if the repository already exists. - - - The specified repository already exists. - - - - Creates a repository with the specified name. - - The name of the repository, this must be unique amongst repositories. - The created for the repository. - - - Creates the default type of which is a - object. - - - The name must be unique. Repositories cannot be redefined. - An will be thrown if the repository already exists. - - - The specified repository already exists. - - - - Creates a repository with the specified name and repository type. - - The name of the repository, this must be unique to the repository. - A that implements - and has a no arg constructor. An instance of this type will be created to act - as the for the repository specified. - The created for the repository. - - - CreateDomain is obsolete. Use CreateRepository instead of CreateDomain. - - - The name must be unique. Repositories cannot be redefined. - An Exception will be thrown if the repository already exists. - - - The specified repository already exists. - - - - Creates a repository with the specified name and repository type. - - The name of the repository, this must be unique to the repository. - A that implements - and has a no arg constructor. An instance of this type will be created to act - as the for the repository specified. - The created for the repository. - - - The name must be unique. Repositories cannot be redefined. - An Exception will be thrown if the repository already exists. - - - The specified repository already exists. - - - - Creates a repository for the specified assembly and repository type. - - The assembly to use to get the name of the repository. - A that implements - and has a no arg constructor. An instance of this type will be created to act - as the for the repository specified. - The created for the repository. - - - CreateDomain is obsolete. Use CreateRepository instead of CreateDomain. - - - The created will be associated with the repository - specified such that a call to with the - same assembly specified will return the same repository instance. - - - - - - Creates a repository for the specified assembly and repository type. - - The assembly to use to get the name of the repository. - A that implements - and has a no arg constructor. An instance of this type will be created to act - as the for the repository specified. - The created for the repository. - - - The created will be associated with the repository - specified such that a call to with the - same assembly specified will return the same repository instance. - - - - - - Gets an array of all currently defined repositories. - - An array of all the known objects. - - - Gets an array of all currently defined repositories. - - - - - - Internal method to get pertinent version info. - - A string of version info. - - - - Called when the event fires - - the that is exiting - null - - - Called when the event fires. - - - When the event is triggered the log4net system is . - - - - - - Called when the event fires - - the that is exiting - null - - - Called when the event fires. - - - When the event is triggered the log4net system is . - - - - - - Initialize the default repository selector - - - - - Gets or sets the repository selector used by the . - - - The repository selector used by the . - - - - The repository selector () is used by - the to create and select repositories - (). - - - The caller to supplies either a string name - or an assembly (if not supplied the assembly is inferred using - ). - - - This context is used by the selector to lookup a specific repository. - - - For the full .NET Framework, the default repository is DefaultRepositorySelector; - for the .NET Compact Framework CompactRepositorySelector is the default - repository. - - - - - - Implementation of the interface. - - - - This class should be used as the base for all wrapper implementations. - - - Nicko Cadell - Gert Driesen - - - - Constructs a new wrapper for the specified logger. - - The logger to wrap. - - - Constructs a new wrapper for the specified logger. - - - - - - The logger that this object is wrapping - - - - - Gets the implementation behind this wrapper object. - - - The object that this object is implementing. - - - - The Logger object may not be the same object as this object - because of logger decorators. - - - This gets the actual underlying objects that is used to process - the log events. - - - - - - Portable data structure used by - - - - Portable data structure used by - - - Nicko Cadell - - - - The logger name. - - - - The logger name. - - - - - - Level of logging event. - - - - Level of logging event. Level cannot be Serializable - because it is a flyweight. Due to its special serialization it - cannot be declared final either. - - - - - - The application supplied message. - - - - The application supplied message of logging event. - - - - - - The name of thread - - - - The name of thread in which this logging event was generated - - - - - - The time the event was logged - - - - The TimeStamp is stored in the local time zone for this computer. - - - - - - Location information for the caller. - - - - Location information for the caller. - - - - - - String representation of the user - - - - String representation of the user's windows name, - like DOMAIN\username - - - - - - String representation of the identity. - - - - String representation of the current thread's principal identity. - - - - - - The string representation of the exception - - - - The string representation of the exception - - - - - - String representation of the AppDomain. - - - - String representation of the AppDomain. - - - - - - Additional event specific properties - - - - A logger or an appender may attach additional - properties to specific events. These properties - have a string key and an object value. - - - - - - Flags passed to the property - - - - Flags passed to the property - - - Nicko Cadell - - - - Fix the MDC - - - - - Fix the NDC - - - - - Fix the rendered message - - - - - Fix the thread name - - - - - Fix the callers location information - - - CAUTION: Very slow to generate - - - - - Fix the callers windows user name - - - CAUTION: Slow to generate - - - - - Fix the domain friendly name - - - - - Fix the callers principal name - - - CAUTION: May be slow to generate - - - - - Fix the exception text - - - - - Fix the event properties - - - - - No fields fixed - - - - - All fields fixed - - - - - Partial fields fixed - - - - This set of partial fields gives good performance. The following fields are fixed: - - - - - - - - - - - - - The internal representation of logging events. - - - - When an affirmative decision is made to log then a - instance is created. This instance - is passed around to the different log4net components. - - - This class is of concern to those wishing to extend log4net. - - - Some of the values in instances of - are considered volatile, that is the values are correct at the - time the event is delivered to appenders, but will not be consistent - at any time afterwards. If an event is to be stored and then processed - at a later time these volatile values must be fixed by calling - . There is a performance penalty - for incurred by calling but it - is essential to maintaining data consistency. - - - Nicko Cadell - Gert Driesen - Douglas de la Torre - Daniel Cazzulino - - - - The key into the Properties map for the host name value. - - - - - The key into the Properties map for the thread identity value. - - - - - The key into the Properties map for the user name value. - - - - - Initializes a new instance of the class - from the supplied parameters. - - The declaring type of the method that is - the stack boundary into the logging system for this call. - The repository this event is logged in. - The name of the logger of this event. - The level of this event. - The message of this event. - The exception for this event. - - - Except , and , - all fields of LoggingEvent are filled when actually needed. Call - to cache all data locally - to prevent inconsistencies. - - This method is called by the log4net framework - to create a logging event. - - - - - - Initializes a new instance of the class - using specific data. - - The declaring type of the method that is - the stack boundary into the logging system for this call. - The repository this event is logged in. - Data used to initialize the logging event. - The fields in the struct that have already been fixed. - - - This constructor is provided to allow a - to be created independently of the log4net framework. This can - be useful if you require a custom serialization scheme. - - - Use the method to obtain an - instance of the class. - - - The parameter should be used to specify which fields in the - struct have been preset. Fields not specified in the - will be captured from the environment if requested or fixed. - - - - - - Initializes a new instance of the class - using specific data. - - The declaring type of the method that is - the stack boundary into the logging system for this call. - The repository this event is logged in. - Data used to initialize the logging event. - - - This constructor is provided to allow a - to be created independently of the log4net framework. This can - be useful if you require a custom serialization scheme. - - - Use the method to obtain an - instance of the class. - - - This constructor sets this objects flags to , - this assumes that all the data relating to this event is passed in via the - parameter and no other data should be captured from the environment. - - - - - - Initializes a new instance of the class - using specific data. - - Data used to initialize the logging event. - - - This constructor is provided to allow a - to be created independently of the log4net framework. This can - be useful if you require a custom serialization scheme. - - - Use the method to obtain an - instance of the class. - - - This constructor sets this objects flags to , - this assumes that all the data relating to this event is passed in via the - parameter and no other data should be captured from the environment. - - - - - - Serialization constructor - - The that holds the serialized object data. - The that contains contextual information about the source or destination. - - - Initializes a new instance of the class - with serialized data. - - - - - - Ensure that the repository is set. - - the value for the repository - - - - Write the rendered message to a TextWriter - - the writer to write the message to - - - Unlike the property this method - does store the message data in the internal cache. Therefore - if called only once this method should be faster than the - property, however if the message is - to be accessed multiple times then the property will be more efficient. - - - - - - Serializes this object into the provided. - - The to populate with data. - The destination for this serialization. - - - The data in this event must be fixed before it can be serialized. - - - The method must be called during the - method call if this event - is to be used outside that method. - - - - - - Gets the portable data for this . - - The for this event. - - - A new can be constructed using a - instance. - - - Does a fix of the data - in the logging event before returning the event data. - - - - - - Gets the portable data for this . - - The set of data to ensure is fixed in the LoggingEventData - The for this event. - - - A new can be constructed using a - instance. - - - - - - Returns this event's exception's rendered using the - . - - - This event's exception's rendered using the . - - - - Obsolete. Use instead. - - - - - - Returns this event's exception's rendered using the - . - - - This event's exception's rendered using the . - - - - Returns this event's exception's rendered using the - . - - - - - - Fix instance fields that hold volatile data. - - - - Some of the values in instances of - are considered volatile, that is the values are correct at the - time the event is delivered to appenders, but will not be consistent - at any time afterwards. If an event is to be stored and then processed - at a later time these volatile values must be fixed by calling - . There is a performance penalty - incurred by calling but it - is essential to maintaining data consistency. - - - Calling is equivalent to - calling passing the parameter - false. - - - See for more - information. - - - - - - Fixes instance fields that hold volatile data. - - Set to true to not fix data that takes a long time to fix. - - - Some of the values in instances of - are considered volatile, that is the values are correct at the - time the event is delivered to appenders, but will not be consistent - at any time afterwards. If an event is to be stored and then processed - at a later time these volatile values must be fixed by calling - . There is a performance penalty - for incurred by calling but it - is essential to maintaining data consistency. - - - The param controls the data that - is fixed. Some of the data that can be fixed takes a long time to - generate, therefore if you do not require those settings to be fixed - they can be ignored by setting the param - to true. This setting will ignore the - and settings. - - - Set to false to ensure that all - settings are fixed. - - - - - - Fix the fields specified by the parameter - - the fields to fix - - - Only fields specified in the will be fixed. - Fields will not be fixed if they have previously been fixed. - It is not possible to 'unfix' a field. - - - - - - Lookup a composite property in this event - - the key for the property to lookup - the value for the property - - - This event has composite properties that combine together properties from - several different contexts in the following order: - - - this events properties - - This event has that can be set. These - properties are specific to this event only. - - - - the thread properties - - The that are set on the current - thread. These properties are shared by all events logged on this thread. - - - - the global properties - - The that are set globally. These - properties are shared by all the threads in the AppDomain. - - - - - - - - - Get all the composite properties in this event - - the containing all the properties - - - See for details of the composite properties - stored by the event. - - - This method returns a single containing all the - properties defined for this event. - - - - - - The internal logging event data. - - - - - The internal logging event data. - - - - - The internal logging event data. - - - - - The fully qualified Type of the calling - logger class in the stack frame (i.e. the declaring type of the method). - - - - - The application supplied message of logging event. - - - - - The exception that was thrown. - - - This is not serialized. The string representation - is serialized instead. - - - - - The repository that generated the logging event - - - This is not serialized. - - - - - The fix state for this event - - - These flags indicate which fields have been fixed. - Not serialized. - - - - - Indicated that the internal cache is updateable (ie not fixed) - - - This is a seperate flag to m_fixFlags as it allows incrementel fixing and simpler - changes in the caching strategy. - - - - - Gets the time when the current process started. - - - This is the time when this process started. - - - - The TimeStamp is stored in the local time zone for this computer. - - - Tries to get the start time for the current process. - Failing that it returns the time of the first call to - this property. - - - Note that AppDomains may be loaded and unloaded within the - same process without the process terminating and therefore - without the process start time being reset. - - - - - - Gets the of the logging event. - - - The of the logging event. - - - - Gets the of the logging event. - - - - - - Gets the time of the logging event. - - - The time of the logging event. - - - - The TimeStamp is stored in the local time zone for this computer. - - - - - - Gets the name of the logger that logged the event. - - - The name of the logger that logged the event. - - - - Gets the name of the logger that logged the event. - - - - - - Gets the location information for this logging event. - - - The location information for this logging event. - - - - The collected information is cached for future use. - - - See the class for more information on - supported frameworks and the different behavior in Debug and - Release builds. - - - - - - Gets the message object used to initialize this event. - - - The message object used to initialize this event. - - - - Gets the message object used to initialize this event. - Note that this event may not have a valid message object. - If the event is serialized the message object will not - be transferred. To get the text of the message the - property must be used - not this property. - - - If there is no defined message object for this event then - null will be returned. - - - - - - Gets the exception object used to initialize this event. - - - The exception object used to initialize this event. - - - - Gets the exception object used to initialize this event. - Note that this event may not have a valid exception object. - If the event is serialized the exception object will not - be transferred. To get the text of the exception the - method must be used - not this property. - - - If there is no defined exception object for this event then - null will be returned. - - - - - - The that this event was created in. - - - - The that this event was created in. - - - - - - Gets the message, rendered through the . - - - The message rendered through the . - - - - The collected information is cached for future use. - - - - - - Gets the name of the current thread. - - - The name of the current thread, or the thread ID when - the name is not available. - - - - The collected information is cached for future use. - - - - - - Gets the name of the current user. - - - The name of the current user, or NOT AVAILABLE when the - underlying runtime has no support for retrieving the name of the - current user. - - - - Calls WindowsIdentity.GetCurrent().Name to get the name of - the current windows user. - - - To improve performance, we could cache the string representation of - the name, and reuse that as long as the identity stayed constant. - Once the identity changed, we would need to re-assign and re-render - the string. - - - However, the WindowsIdentity.GetCurrent() call seems to - return different objects every time, so the current implementation - doesn't do this type of caching. - - - Timing for these operations: - - - - Method - Results - - - WindowsIdentity.GetCurrent() - 10000 loops, 00:00:00.2031250 seconds - - - WindowsIdentity.GetCurrent().Name - 10000 loops, 00:00:08.0468750 seconds - - - - This means we could speed things up almost 40 times by caching the - value of the WindowsIdentity.GetCurrent().Name property, since - this takes (8.04-0.20) = 7.84375 seconds. - - - - - - Gets the identity of the current thread principal. - - - The string name of the identity of the current thread principal. - - - - Calls System.Threading.Thread.CurrentPrincipal.Identity.Name to get - the name of the current thread principal. - - - - - - Gets the AppDomain friendly name. - - - The AppDomain friendly name. - - - - Gets the AppDomain friendly name. - - - - - - Additional event specific properties. - - - Additional event specific properties. - - - - A logger or an appender may attach additional - properties to specific events. These properties - have a string key and an object value. - - - This property is for events that have been added directly to - this event. The aggregate properties (which include these - event properties) can be retrieved using - and . - - - Once the properties have been fixed this property - returns the combined cached properties. This ensures that updates to - this property are always reflected in the underlying storage. When - returning the combined properties there may be more keys in the - Dictionary than expected. - - - - - - The fixed fields in this event - - - The set of fields that are fixed in this event - - - - Fields will not be fixed if they have previously been fixed. - It is not possible to 'unfix' a field. - - - - - - Implementation of wrapper interface. - - - - This implementation of the interface - forwards to the held by the base class. - - - This logger has methods to allow the caller to log at the following - levels: - - - - DEBUG - - The and methods log messages - at the DEBUG level. That is the level with that name defined in the - repositories . The default value - for this level is . The - property tests if this level is enabled for logging. - - - - INFO - - The and methods log messages - at the INFO level. That is the level with that name defined in the - repositories . The default value - for this level is . The - property tests if this level is enabled for logging. - - - - WARN - - The and methods log messages - at the WARN level. That is the level with that name defined in the - repositories . The default value - for this level is . The - property tests if this level is enabled for logging. - - - - ERROR - - The and methods log messages - at the ERROR level. That is the level with that name defined in the - repositories . The default value - for this level is . The - property tests if this level is enabled for logging. - - - - FATAL - - The and methods log messages - at the FATAL level. That is the level with that name defined in the - repositories . The default value - for this level is . The - property tests if this level is enabled for logging. - - - - - The values for these levels and their semantic meanings can be changed by - configuring the for the repository. - - - Nicko Cadell - Gert Driesen - - - - The ILog interface is use by application to log messages into - the log4net framework. - - - - Use the to obtain logger instances - that implement this interface. The - static method is used to get logger instances. - - - This class contains methods for logging at different levels and also - has properties for determining if those logging levels are - enabled in the current configuration. - - - This interface can be implemented in different ways. This documentation - specifies reasonable behavior that a caller can expect from the actual - implementation, however different implementations reserve the right to - do things differently. - - - Simple example of logging messages - - ILog log = LogManager.GetLogger("application-log"); - - log.Info("Application Start"); - log.Debug("This is a debug message"); - - if (log.IsDebugEnabled) - { - log.Debug("This is another debug message"); - } - - - - - Nicko Cadell - Gert Driesen - - - Log a message object with the level. - - Log a message object with the level. - - The message object to log. - - - This method first checks if this logger is DEBUG - enabled by comparing the level of this logger with the - level. If this logger is - DEBUG enabled, then it converts the message object - (passed as parameter) to a string by invoking the appropriate - . It then - proceeds to call all the registered appenders in this logger - and also higher in the hierarchy depending on the value of - the additivity flag. - - WARNING Note that passing an - to this method will print the name of the - but no stack trace. To print a stack trace use the - form instead. - - - - - - - - Log a message object with the level including - the stack trace of the passed - as a parameter. - - The message object to log. - The exception to log, including its stack trace. - - - See the form for more detailed information. - - - - - - - Log a formatted string with the level. - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - An Object to format - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - An that supplies culture-specific formatting information - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - Log a message object with the level. - - Logs a message object with the level. - - - - This method first checks if this logger is INFO - enabled by comparing the level of this logger with the - level. If this logger is - INFO enabled, then it converts the message object - (passed as parameter) to a string by invoking the appropriate - . It then - proceeds to call all the registered appenders in this logger - and also higher in the hierarchy depending on the value of the - additivity flag. - - WARNING Note that passing an - to this method will print the name of the - but no stack trace. To print a stack trace use the - form instead. - - - The message object to log. - - - - - - Logs a message object with the INFO level including - the stack trace of the passed - as a parameter. - - The message object to log. - The exception to log, including its stack trace. - - - See the form for more detailed information. - - - - - - - Log a formatted message string with the level. - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - An Object to format - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - An that supplies culture-specific formatting information - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - Log a message object with the level. - - Log a message object with the level. - - - - This method first checks if this logger is WARN - enabled by comparing the level of this logger with the - level. If this logger is - WARN enabled, then it converts the message object - (passed as parameter) to a string by invoking the appropriate - . It then - proceeds to call all the registered appenders in this logger - and also higher in the hierarchy depending on the value of the - additivity flag. - - WARNING Note that passing an - to this method will print the name of the - but no stack trace. To print a stack trace use the - form instead. - - - The message object to log. - - - - - - Log a message object with the level including - the stack trace of the passed - as a parameter. - - The message object to log. - The exception to log, including its stack trace. - - - See the form for more detailed information. - - - - - - - Log a formatted message string with the level. - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - An Object to format - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - An that supplies culture-specific formatting information - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - Log a message object with the level. - - Logs a message object with the level. - - The message object to log. - - - This method first checks if this logger is ERROR - enabled by comparing the level of this logger with the - level. If this logger is - ERROR enabled, then it converts the message object - (passed as parameter) to a string by invoking the appropriate - . It then - proceeds to call all the registered appenders in this logger - and also higher in the hierarchy depending on the value of the - additivity flag. - - WARNING Note that passing an - to this method will print the name of the - but no stack trace. To print a stack trace use the - form instead. - - - - - - - - Log a message object with the level including - the stack trace of the passed - as a parameter. - - The message object to log. - The exception to log, including its stack trace. - - - See the form for more detailed information. - - - - - - - Log a formatted message string with the level. - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - An Object to format - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - An that supplies culture-specific formatting information - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - Log a message object with the level. - - Log a message object with the level. - - - - This method first checks if this logger is FATAL - enabled by comparing the level of this logger with the - level. If this logger is - FATAL enabled, then it converts the message object - (passed as parameter) to a string by invoking the appropriate - . It then - proceeds to call all the registered appenders in this logger - and also higher in the hierarchy depending on the value of the - additivity flag. - - WARNING Note that passing an - to this method will print the name of the - but no stack trace. To print a stack trace use the - form instead. - - - The message object to log. - - - - - - Log a message object with the level including - the stack trace of the passed - as a parameter. - - The message object to log. - The exception to log, including its stack trace. - - - See the form for more detailed information. - - - - - - - Log a formatted message string with the level. - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - An Object to format - An Object to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Logs a formatted message string with the level. - - An that supplies culture-specific formatting information - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - - - Checks if this logger is enabled for the level. - - - true if this logger is enabled for events, false otherwise. - - - - This function is intended to lessen the computational cost of - disabled log debug statements. - - For some ILog interface log, when you write: - - log.Debug("This is entry number: " + i ); - - - You incur the cost constructing the message, string construction and concatenation in - this case, regardless of whether the message is logged or not. - - - If you are worried about speed (who isn't), then you should write: - - - if (log.IsDebugEnabled) - { - log.Debug("This is entry number: " + i ); - } - - - This way you will not incur the cost of parameter - construction if debugging is disabled for log. On - the other hand, if the log is debug enabled, you - will incur the cost of evaluating whether the logger is debug - enabled twice. Once in and once in - the . This is an insignificant overhead - since evaluating a logger takes about 1% of the time it - takes to actually log. This is the preferred style of logging. - - Alternatively if your logger is available statically then the is debug - enabled state can be stored in a static variable like this: - - - private static readonly bool isDebugEnabled = log.IsDebugEnabled; - - - Then when you come to log you can write: - - - if (isDebugEnabled) - { - log.Debug("This is entry number: " + i ); - } - - - This way the debug enabled state is only queried once - when the class is loaded. Using a private static readonly - variable is the most efficient because it is a run time constant - and can be heavily optimized by the JIT compiler. - - - Of course if you use a static readonly variable to - hold the enabled state of the logger then you cannot - change the enabled state at runtime to vary the logging - that is produced. You have to decide if you need absolute - speed or runtime flexibility. - - - - - - - - Checks if this logger is enabled for the level. - - - true if this logger is enabled for events, false otherwise. - - - For more information see . - - - - - - - - Checks if this logger is enabled for the level. - - - true if this logger is enabled for events, false otherwise. - - - For more information see . - - - - - - - - Checks if this logger is enabled for the level. - - - true if this logger is enabled for events, false otherwise. - - - For more information see . - - - - - - - - Checks if this logger is enabled for the level. - - - true if this logger is enabled for events, false otherwise. - - - For more information see . - - - - - - - - Construct a new wrapper for the specified logger. - - The logger to wrap. - - - Construct a new wrapper for the specified logger. - - - - - - Virtual method called when the configuration of the repository changes - - the repository holding the levels - - - Virtual method called when the configuration of the repository changes - - - - - - Logs a message object with the DEBUG level. - - The message object to log. - - - This method first checks if this logger is DEBUG - enabled by comparing the level of this logger with the - DEBUG level. If this logger is - DEBUG enabled, then it converts the message object - (passed as parameter) to a string by invoking the appropriate - . It then - proceeds to call all the registered appenders in this logger - and also higher in the hierarchy depending on the value of the - additivity flag. - - - WARNING Note that passing an - to this method will print the name of the - but no stack trace. To print a stack trace use the - form instead. - - - - - - Logs a message object with the DEBUG level - - The message object to log. - The exception to log, including its stack trace. - - - Logs a message object with the DEBUG level including - the stack trace of the passed - as a parameter. - - - See the form for more detailed information. - - - - - - - Logs a formatted message string with the DEBUG level. - - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the DEBUG level. - - A String containing zero or more format items - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the DEBUG level. - - A String containing zero or more format items - An Object to format - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the DEBUG level. - - A String containing zero or more format items - An Object to format - An Object to format - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the DEBUG level. - - An that supplies culture-specific formatting information - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a message object with the INFO level. - - The message object to log. - - - This method first checks if this logger is INFO - enabled by comparing the level of this logger with the - INFO level. If this logger is - INFO enabled, then it converts the message object - (passed as parameter) to a string by invoking the appropriate - . It then - proceeds to call all the registered appenders in this logger - and also higher in the hierarchy depending on the value of - the additivity flag. - - - WARNING Note that passing an - to this method will print the name of the - but no stack trace. To print a stack trace use the - form instead. - - - - - - Logs a message object with the INFO level. - - The message object to log. - The exception to log, including its stack trace. - - - Logs a message object with the INFO level including - the stack trace of the - passed as a parameter. - - - See the form for more detailed information. - - - - - - - Logs a formatted message string with the INFO level. - - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the INFO level. - - A String containing zero or more format items - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the INFO level. - - A String containing zero or more format items - An Object to format - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the INFO level. - - A String containing zero or more format items - An Object to format - An Object to format - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the INFO level. - - An that supplies culture-specific formatting information - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a message object with the WARN level. - - the message object to log - - - This method first checks if this logger is WARN - enabled by comparing the level of this logger with the - WARN level. If this logger is - WARN enabled, then it converts the message object - (passed as parameter) to a string by invoking the appropriate - . It then - proceeds to call all the registered appenders in this logger and - also higher in the hierarchy depending on the value of the - additivity flag. - - - WARNING Note that passing an to this - method will print the name of the but no - stack trace. To print a stack trace use the - form instead. - - - - - - Logs a message object with the WARN level - - The message object to log. - The exception to log, including its stack trace. - - - Logs a message object with the WARN level including - the stack trace of the - passed as a parameter. - - - See the form for more detailed information. - - - - - - - Logs a formatted message string with the WARN level. - - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the WARN level. - - A String containing zero or more format items - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the WARN level. - - A String containing zero or more format items - An Object to format - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the WARN level. - - A String containing zero or more format items - An Object to format - An Object to format - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the WARN level. - - An that supplies culture-specific formatting information - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a message object with the ERROR level. - - The message object to log. - - - This method first checks if this logger is ERROR - enabled by comparing the level of this logger with the - ERROR level. If this logger is - ERROR enabled, then it converts the message object - (passed as parameter) to a string by invoking the appropriate - . It then - proceeds to call all the registered appenders in this logger and - also higher in the hierarchy depending on the value of the - additivity flag. - - - WARNING Note that passing an to this - method will print the name of the but no - stack trace. To print a stack trace use the - form instead. - - - - - - Logs a message object with the ERROR level - - The message object to log. - The exception to log, including its stack trace. - - - Logs a message object with the ERROR level including - the stack trace of the - passed as a parameter. - - - See the form for more detailed information. - - - - - - - Logs a formatted message string with the ERROR level. - - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the ERROR level. - - A String containing zero or more format items - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the ERROR level. - - A String containing zero or more format items - An Object to format - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the ERROR level. - - A String containing zero or more format items - An Object to format - An Object to format - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the ERROR level. - - An that supplies culture-specific formatting information - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a message object with the FATAL level. - - The message object to log. - - - This method first checks if this logger is FATAL - enabled by comparing the level of this logger with the - FATAL level. If this logger is - FATAL enabled, then it converts the message object - (passed as parameter) to a string by invoking the appropriate - . It then - proceeds to call all the registered appenders in this logger and - also higher in the hierarchy depending on the value of the - additivity flag. - - - WARNING Note that passing an to this - method will print the name of the but no - stack trace. To print a stack trace use the - form instead. - - - - - - Logs a message object with the FATAL level - - The message object to log. - The exception to log, including its stack trace. - - - Logs a message object with the FATAL level including - the stack trace of the - passed as a parameter. - - - See the form for more detailed information. - - - - - - - Logs a formatted message string with the FATAL level. - - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the FATAL level. - - A String containing zero or more format items - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the FATAL level. - - A String containing zero or more format items - An Object to format - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the FATAL level. - - A String containing zero or more format items - An Object to format - An Object to format - An Object to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Logs a formatted message string with the FATAL level. - - An that supplies culture-specific formatting information - A String containing zero or more format items - An Object array containing zero or more objects to format - - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - - - - - - Event handler for the event - - the repository - Empty - - - - The fully qualified name of this declaring type not the type of any subclass. - - - - - Checks if this logger is enabled for the DEBUG - level. - - - true if this logger is enabled for DEBUG events, - false otherwise. - - - - This function is intended to lessen the computational cost of - disabled log debug statements. - - - For some log Logger object, when you write: - - - log.Debug("This is entry number: " + i ); - - - You incur the cost constructing the message, concatenation in - this case, regardless of whether the message is logged or not. - - - If you are worried about speed, then you should write: - - - if (log.IsDebugEnabled()) - { - log.Debug("This is entry number: " + i ); - } - - - This way you will not incur the cost of parameter - construction if debugging is disabled for log. On - the other hand, if the log is debug enabled, you - will incur the cost of evaluating whether the logger is debug - enabled twice. Once in IsDebugEnabled and once in - the Debug. This is an insignificant overhead - since evaluating a logger takes about 1% of the time it - takes to actually log. - - - - - - Checks if this logger is enabled for the INFO level. - - - true if this logger is enabled for INFO events, - false otherwise. - - - - See for more information and examples - of using this method. - - - - - - - Checks if this logger is enabled for the WARN level. - - - true if this logger is enabled for WARN events, - false otherwise. - - - - See for more information and examples - of using this method. - - - - - - - Checks if this logger is enabled for the ERROR level. - - - true if this logger is enabled for ERROR events, - false otherwise. - - - - See for more information and examples of using this method. - - - - - - - Checks if this logger is enabled for the FATAL level. - - - true if this logger is enabled for FATAL events, - false otherwise. - - - - See for more information and examples of using this method. - - - - - - - A SecurityContext used by log4net when interacting with protected resources - - - - A SecurityContext used by log4net when interacting with protected resources - for example with operating system services. This can be used to impersonate - a principal that has been granted privileges on the system resources. - - - Nicko Cadell - - - - Impersonate this SecurityContext - - State supplied by the caller - An instance that will - revoke the impersonation of this SecurityContext, or null - - - Impersonate this security context. Further calls on the current - thread should now be made in the security context provided - by this object. When the result - method is called the security - context of the thread should be reverted to the state it was in - before was called. - - - - - - The providers default instances. - - - - A configured component that interacts with potentially protected system - resources uses a to provide the elevated - privileges required. If the object has - been not been explicitly provided to the component then the component - will request one from this . - - - By default the is - an instance of which returns only - objects. This is a reasonable default - where the privileges required are not know by the system. - - - This default behavior can be overridden by subclassing the - and overriding the method to return - the desired objects. The default provider - can be replaced by programmatically setting the value of the - property. - - - An alternative is to use the log4net.Config.SecurityContextProviderAttribute - This attribute can be applied to an assembly in the same way as the - log4net.Config.XmlConfiguratorAttribute". The attribute takes - the type to use as the as an argument. - - - Nicko Cadell - - - - The default provider - - - - - Protected default constructor to allow subclassing - - - - Protected default constructor to allow subclassing - - - - - - Create a SecurityContext for a consumer - - The consumer requesting the SecurityContext - An impersonation context - - - The default implementation is to return a . - - - Subclasses should override this method to provide their own - behavior. - - - - - - Gets or sets the default SecurityContextProvider - - - The default SecurityContextProvider - - - - The default provider is used by configured components that - require a and have not had one - given to them. - - - By default this is an instance of - that returns objects. - - - The default provider can be set programmatically by setting - the value of this property to a sub class of - that has the desired behavior. - - - - - - Delegate used to handle creation of new wrappers. - - The logger to wrap in a wrapper. - - - Delegate used to handle creation of new wrappers. This delegate - is called from the - method to construct the wrapper for the specified logger. - - - The delegate to use is supplied to the - constructor. - - - - - - Maps between logger objects and wrapper objects. - - - - This class maintains a mapping between objects and - objects. Use the method to - lookup the for the specified . - - - New wrapper instances are created by the - method. The default behavior is for this method to delegate construction - of the wrapper to the delegate supplied - to the constructor. This allows specialization of the behavior without - requiring subclassing of this type. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the - - The handler to use to create the wrapper objects. - - - Initializes a new instance of the class with - the specified handler to create the wrapper objects. - - - - - - Gets the wrapper object for the specified logger. - - The wrapper object for the specified logger - - - If the logger is null then the corresponding wrapper is null. - - - Looks up the wrapper it it has previously been requested and - returns it. If the wrapper has never been requested before then - the virtual method is - called. - - - - - - Creates the wrapper object for the specified logger. - - The logger to wrap in a wrapper. - The wrapper object for the logger. - - - This implementation uses the - passed to the constructor to create the wrapper. This method - can be overridden in a subclass. - - - - - - Called when a monitored repository shutdown event is received. - - The that is shutting down - - - This method is called when a that this - is holding loggers for has signaled its shutdown - event . The default - behavior of this method is to release the references to the loggers - and their wrappers generated for this repository. - - - - - - Event handler for repository shutdown event. - - The sender of the event. - The event args. - - - - Map of logger repositories to hashtables of ILogger to ILoggerWrapper mappings - - - - - The handler to use to create the extension wrapper objects. - - - - - Internal reference to the delegate used to register for repository shutdown events. - - - - - Gets the map of logger repositories. - - - Map of logger repositories. - - - - Gets the hashtable that is keyed on . The - values are hashtables keyed on with the - value being the corresponding . - - - - - - Formats a as "HH:mm:ss,fff". - - - - Formats a in the format "HH:mm:ss,fff" for example, "15:49:37,459". - - - Nicko Cadell - Gert Driesen - - - - Render a as a string. - - - - Interface to abstract the rendering of a - instance into a string. - - - The method is used to render the - date to a text writer. - - - Nicko Cadell - Gert Driesen - - - - Formats the specified date as a string. - - The date to format. - The writer to write to. - - - Format the as a string and write it - to the provided. - - - - - - String constant used to specify AbsoluteTimeDateFormat in layouts. Current value is ABSOLUTE. - - - - - String constant used to specify DateTimeDateFormat in layouts. Current value is DATE. - - - - - String constant used to specify ISO8601DateFormat in layouts. Current value is ISO8601. - - - - - Renders the date into a string. Format is "HH:mm:ss". - - The date to render into a string. - The string builder to write to. - - - Subclasses should override this method to render the date - into a string using a precision up to the second. This method - will be called at most once per second and the result will be - reused if it is needed again during the same second. - - - - - - Renders the date into a string. Format is "HH:mm:ss,fff". - - The date to render into a string. - The writer to write to. - - - Uses the method to generate the - time string up to the seconds and then appends the current - milliseconds. The results from are - cached and is called at most once - per second. - - - Sub classes should override - rather than . - - - - - - Last stored time with precision up to the second. - - - - - Last stored time with precision up to the second, formatted - as a string. - - - - - Last stored time with precision up to the second, formatted - as a string. - - - - - Formats a as "dd MMM yyyy HH:mm:ss,fff" - - - - Formats a in the format - "dd MMM yyyy HH:mm:ss,fff" for example, - "06 Nov 1994 15:49:37,459". - - - Nicko Cadell - Gert Driesen - Angelika Schnagl - - - - Default constructor. - - - - Initializes a new instance of the class. - - - - - - Formats the date without the milliseconds part - - The date to format. - The string builder to write to. - - - Formats a DateTime in the format "dd MMM yyyy HH:mm:ss" - for example, "06 Nov 1994 15:49:37". - - - The base class will append the ",fff" milliseconds section. - This method will only be called at most once per second. - - - - - - The format info for the invariant culture. - - - - - Formats the as "yyyy-MM-dd HH:mm:ss,fff". - - - - Formats the specified as a string: "yyyy-MM-dd HH:mm:ss,fff". - - - Nicko Cadell - Gert Driesen - - - - Default constructor - - - - Initializes a new instance of the class. - - - - - - Formats the date without the milliseconds part - - The date to format. - The string builder to write to. - - - Formats the date specified as a string: "yyyy-MM-dd HH:mm:ss". - - - The base class will append the ",fff" milliseconds section. - This method will only be called at most once per second. - - - - - - Formats the using the method. - - - - Formats the using the method. - - - Nicko Cadell - Gert Driesen - - - - Constructor - - The format string. - - - Initializes a new instance of the class - with the specified format string. - - - The format string must be compatible with the options - that can be supplied to . - - - - - - Formats the date using . - - The date to convert to a string. - The writer to write to. - - - Uses the date format string supplied to the constructor to call - the method to format the date. - - - - - - The format string used to format the . - - - - The format string must be compatible with the options - that can be supplied to . - - - - - - This filter drops all . - - - - You can add this filter to the end of a filter chain to - switch from the default "accept all unless instructed otherwise" - filtering behavior to a "deny all unless instructed otherwise" - behavior. - - - Nicko Cadell - Gert Driesen - - - - Subclass this type to implement customized logging event filtering - - - - Users should extend this class to implement customized logging - event filtering. Note that and - , the parent class of all standard - appenders, have built-in filtering rules. It is suggested that you - first use and understand the built-in rules before rushing to write - your own custom filters. - - - This abstract class assumes and also imposes that filters be - organized in a linear chain. The - method of each filter is called sequentially, in the order of their - addition to the chain. - - - The method must return one - of the integer constants , - or . - - - If the value is returned, then the log event is dropped - immediately without consulting with the remaining filters. - - - If the value is returned, then the next filter - in the chain is consulted. If there are no more filters in the - chain, then the log event is logged. Thus, in the presence of no - filters, the default behavior is to log all logging events. - - - If the value is returned, then the log - event is logged without consulting the remaining filters. - - - The philosophy of log4net filters is largely inspired from the - Linux ipchains. - - - Nicko Cadell - Gert Driesen - - - - Implement this interface to provide customized logging event filtering - - - - Users should implement this interface to implement customized logging - event filtering. Note that and - , the parent class of all standard - appenders, have built-in filtering rules. It is suggested that you - first use and understand the built-in rules before rushing to write - your own custom filters. - - - This abstract class assumes and also imposes that filters be - organized in a linear chain. The - method of each filter is called sequentially, in the order of their - addition to the chain. - - - The method must return one - of the integer constants , - or . - - - If the value is returned, then the log event is dropped - immediately without consulting with the remaining filters. - - - If the value is returned, then the next filter - in the chain is consulted. If there are no more filters in the - chain, then the log event is logged. Thus, in the presence of no - filters, the default behavior is to log all logging events. - - - If the value is returned, then the log - event is logged without consulting the remaining filters. - - - The philosophy of log4net filters is largely inspired from the - Linux ipchains. - - - Nicko Cadell - Gert Driesen - - - - Decide if the logging event should be logged through an appender. - - The LoggingEvent to decide upon - The decision of the filter - - - If the decision is , then the event will be - dropped. If the decision is , then the next - filter, if any, will be invoked. If the decision is then - the event will be logged without consulting with other filters in - the chain. - - - - - - Property to get and set the next filter - - - The next filter in the chain - - - - Filters are typically composed into chains. This property allows the next filter in - the chain to be accessed. - - - - - - Points to the next filter in the filter chain. - - - - See for more information. - - - - - - Initialize the filter with the options set - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - Typically filter's options become active immediately on set, - however this method must still be called. - - - - - - Decide if the should be logged through an appender. - - The to decide upon - The decision of the filter - - - If the decision is , then the event will be - dropped. If the decision is , then the next - filter, if any, will be invoked. If the decision is then - the event will be logged without consulting with other filters in - the chain. - - - This method is marked abstract and must be implemented - in a subclass. - - - - - - Property to get and set the next filter - - - The next filter in the chain - - - - Filters are typically composed into chains. This property allows the next filter in - the chain to be accessed. - - - - - - Default constructor - - - - - Always returns the integer constant - - the LoggingEvent to filter - Always returns - - - Ignores the event being logged and just returns - . This can be used to change the default filter - chain behavior from to . This filter - should only be used as the last filter in the chain - as any further filters will be ignored! - - - - - - The return result from - - - - The return result from - - - - - - The log event must be dropped immediately without - consulting with the remaining filters, if any, in the chain. - - - - - This filter is neutral with respect to the log event. - The remaining filters, if any, should be consulted for a final decision. - - - - - The log event must be logged immediately without - consulting with the remaining filters, if any, in the chain. - - - - - This is a very simple filter based on matching. - - - - The filter admits two options and - . If there is an exact match between the value - of the option and the of the - , then the method returns in - case the option value is set - to true, if it is false then - is returned. If the does not match then - the result will be . - - - Nicko Cadell - Gert Driesen - - - - flag to indicate if the filter should on a match - - - - - the to match against - - - - - Default constructor - - - - - Tests if the of the logging event matches that of the filter - - the event to filter - see remarks - - - If the of the event matches the level of the - filter then the result of the function depends on the - value of . If it is true then - the function will return , it it is false then it - will return . If the does not match then - the result will be . - - - - - - when matching - - - - The property is a flag that determines - the behavior when a matching is found. If the - flag is set to true then the filter will the - logging event, otherwise it will the event. - - - The default is true i.e. to the event. - - - - - - The that the filter will match - - - - The level that this filter will attempt to match against the - level. If a match is found then - the result depends on the value of . - - - - - - This is a simple filter based on matching. - - - - The filter admits three options and - that determine the range of priorities that are matched, and - . If there is a match between the range - of priorities and the of the , then the - method returns in case the - option value is set to true, if it is false - then is returned. If there is no match, is returned. - - - Nicko Cadell - Gert Driesen - - - - Flag to indicate the behavior when matching a - - - - - the minimum value to match - - - - - the maximum value to match - - - - - Default constructor - - - - - Check if the event should be logged. - - the logging event to check - see remarks - - - If the of the logging event is outside the range - matched by this filter then - is returned. If the is matched then the value of - is checked. If it is true then - is returned, otherwise - is returned. - - - - - - when matching and - - - - The property is a flag that determines - the behavior when a matching is found. If the - flag is set to true then the filter will the - logging event, otherwise it will the event. - - - The default is true i.e. to the event. - - - - - - Set the minimum matched - - - - The minimum level that this filter will attempt to match against the - level. If a match is found then - the result depends on the value of . - - - - - - Sets the maximum matched - - - - The maximum level that this filter will attempt to match against the - level. If a match is found then - the result depends on the value of . - - - - - - Simple filter to match a string in the event's logger name. - - - - The works very similar to the . It admits two - options and . If the - of the starts - with the value of the option, then the - method returns in - case the option value is set to true, - if it is false then is returned. - - - Daniel Cazzulino - - - - Flag to indicate the behavior when we have a match - - - - - The logger name string to substring match against the event - - - - - Default constructor - - - - - Check if this filter should allow the event to be logged - - the event being logged - see remarks - - - The rendered message is matched against the . - If the equals the beginning of - the incoming () - then a match will have occurred. If no match occurs - this function will return - allowing other filters to check the event. If a match occurs then - the value of is checked. If it is - true then is returned otherwise - is returned. - - - - - - when matching - - - - The property is a flag that determines - the behavior when a matching is found. If the - flag is set to true then the filter will the - logging event, otherwise it will the event. - - - The default is true i.e. to the event. - - - - - - The that the filter will match - - - - This filter will attempt to match this value against logger name in - the following way. The match will be done against the beginning of the - logger name (using ). The match is - case sensitive. If a match is found then - the result depends on the value of . - - - - - - Simple filter to match a keyed string in the - - - - Simple filter to match a keyed string in the - - - As the MDC has been replaced with layered properties the - should be used instead. - - - Nicko Cadell - Gert Driesen - - - - Simple filter to match a string an event property - - - - Simple filter to match a string in the value for a - specific event property - - - Nicko Cadell - - - - Simple filter to match a string in the rendered message - - - - Simple filter to match a string in the rendered message - - - Nicko Cadell - Gert Driesen - - - - Flag to indicate the behavior when we have a match - - - - - The string to substring match against the message - - - - - A string regex to match - - - - - A regex object to match (generated from m_stringRegexToMatch) - - - - - Default constructor - - - - - Initialize and precompile the Regex if required - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Check if this filter should allow the event to be logged - - the event being logged - see remarks - - - The rendered message is matched against the . - If the occurs as a substring within - the message then a match will have occurred. If no match occurs - this function will return - allowing other filters to check the event. If a match occurs then - the value of is checked. If it is - true then is returned otherwise - is returned. - - - - - - when matching or - - - - The property is a flag that determines - the behavior when a matching is found. If the - flag is set to true then the filter will the - logging event, otherwise it will the event. - - - The default is true i.e. to the event. - - - - - - Sets the static string to match - - - - The string that will be substring matched against - the rendered message. If the message contains this - string then the filter will match. If a match is found then - the result depends on the value of . - - - One of or - must be specified. - - - - - - Sets the regular expression to match - - - - The regular expression pattern that will be matched against - the rendered message. If the message matches this - pattern then the filter will match. If a match is found then - the result depends on the value of . - - - One of or - must be specified. - - - - - - The key to use to lookup the string from the event properties - - - - - Default constructor - - - - - Check if this filter should allow the event to be logged - - the event being logged - see remarks - - - The event property for the is matched against - the . - If the occurs as a substring within - the property value then a match will have occurred. If no match occurs - this function will return - allowing other filters to check the event. If a match occurs then - the value of is checked. If it is - true then is returned otherwise - is returned. - - - - - - The key to lookup in the event properties and then match against. - - - - The key name to use to lookup in the properties map of the - . The match will be performed against - the value of this property if it exists. - - - - - - Simple filter to match a string in the - - - - Simple filter to match a string in the - - - As the MDC has been replaced with named stacks stored in the - properties collections the should - be used instead. - - - Nicko Cadell - Gert Driesen - - - - Default constructor - - - - Sets the to "NDC". - - - - - - Write the event appdomain name to the output - - - - Writes the to the output writer. - - - Daniel Cazzulino - Nicko Cadell - - - - Abstract class that provides the formatting functionality that - derived classes need. - - - Conversion specifiers in a conversion patterns are parsed to - individual PatternConverters. Each of which is responsible for - converting a logging event in a converter specific manner. - - Nicko Cadell - - - - Abstract class that provides the formatting functionality that - derived classes need. - - - - Conversion specifiers in a conversion patterns are parsed to - individual PatternConverters. Each of which is responsible for - converting a logging event in a converter specific manner. - - - Nicko Cadell - Gert Driesen - - - - Initial buffer size - - - - - Maximum buffer size before it is recycled - - - - - Protected constructor - - - - Initializes a new instance of the class. - - - - - - Evaluate this pattern converter and write the output to a writer. - - that will receive the formatted result. - The state object on which the pattern converter should be executed. - - - Derived pattern converters must override this method in order to - convert conversion specifiers in the appropriate way. - - - - - - Set the next pattern converter in the chains - - the pattern converter that should follow this converter in the chain - the next converter - - - The PatternConverter can merge with its neighbor during this method (or a sub class). - Therefore the return value may or may not be the value of the argument passed in. - - - - - - Write the pattern converter to the writer with appropriate formatting - - that will receive the formatted result. - The state object on which the pattern converter should be executed. - - - This method calls to allow the subclass to perform - appropriate conversion of the pattern converter. If formatting options have - been specified via the then this method will - apply those formattings before writing the output. - - - - - - Fast space padding method. - - to which the spaces will be appended. - The number of spaces to be padded. - - - Fast space padding method. - - - - - - The option string to the converter - - - - - Write an dictionary to a - - the writer to write to - a to use for object conversion - the value to write to the writer - - - Writes the to a writer in the form: - - - {key1=value1, key2=value2, key3=value3} - - - If the specified - is not null then it is used to render the key and value to text, otherwise - the object's ToString method is called. - - - - - - Write an object to a - - the writer to write to - a to use for object conversion - the value to write to the writer - - - Writes the Object to a writer. If the specified - is not null then it is used to render the object to text, otherwise - the object's ToString method is called. - - - - - - Get the next pattern converter in the chain - - - the next pattern converter in the chain - - - - Get the next pattern converter in the chain - - - - - - Gets or sets the formatting info for this converter - - - The formatting info for this converter - - - - Gets or sets the formatting info for this converter - - - - - - Gets or sets the option value for this converter - - - The option for this converter - - - - Gets or sets the option value for this converter - - - - - - Initializes a new instance of the class. - - - - - Derived pattern converters must override this method in order to - convert conversion specifiers in the correct way. - - that will receive the formatted result. - The on which the pattern converter should be executed. - - - - Derived pattern converters must override this method in order to - convert conversion specifiers in the correct way. - - that will receive the formatted result. - The state object on which the pattern converter should be executed. - - - - Flag indicating if this converter handles exceptions - - - false if this converter handles exceptions - - - - - Flag indicating if this converter handles the logging event exception - - false if this converter handles the logging event exception - - - If this converter handles the exception object contained within - , then this property should be set to - false. Otherwise, if the layout ignores the exception - object, then the property should be set to true. - - - Set this value to override a this default setting. The default - value is true, this converter does not handle the exception. - - - - - - Write the event appdomain name to the output - - that will receive the formatted result. - the event being logged - - - Writes the to the output . - - - - - - Date pattern converter, uses a to format - the date of a . - - - - Render the to the writer as a string. - - - The value of the determines - the formatting of the date. The following values are allowed: - - - Option value - Output - - - ISO8601 - - Uses the formatter. - Formats using the "yyyy-MM-dd HH:mm:ss,fff" pattern. - - - - DATE - - Uses the formatter. - Formats using the "dd MMM yyyy HH:mm:ss,fff" for example, "06 Nov 1994 15:49:37,459". - - - - ABSOLUTE - - Uses the formatter. - Formats using the "HH:mm:ss,yyyy" for example, "15:49:37,459". - - - - other - - Any other pattern string uses the formatter. - This formatter passes the pattern string to the - method. - For details on valid patterns see - DateTimeFormatInfo Class. - - - - - - The is in the local time zone and is rendered in that zone. - To output the time in Universal time see . - - - Nicko Cadell - - - - The used to render the date to a string - - - - The used to render the date to a string - - - - - - Initialize the converter pattern based on the property. - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Convert the pattern into the rendered message - - that will receive the formatted result. - the event being logged - - - Pass the to the - for it to render it to the writer. - - - The passed is in the local time zone. - - - - - - Write the exception text to the output - - - - If an exception object is stored in the logging event - it will be rendered into the pattern output with a - trailing newline. - - - If there is no exception then nothing will be output - and no trailing newline will be appended. - It is typical to put a newline before the exception - and to have the exception as the last data in the pattern. - - - Nicko Cadell - - - - Default constructor - - - - - Write the exception text to the output - - that will receive the formatted result. - the event being logged - - - If an exception object is stored in the logging event - it will be rendered into the pattern output with a - trailing newline. - - - If there is no exception then nothing will be output - and no trailing newline will be appended. - It is typical to put a newline before the exception - and to have the exception as the last data in the pattern. - - - - - - Writes the caller location file name to the output - - - - Writes the value of the for - the event to the output writer. - - - Nicko Cadell - - - - Write the caller location file name to the output - - that will receive the formatted result. - the event being logged - - - Writes the value of the for - the to the output . - - - - - - Write the caller location info to the output - - - - Writes the to the output writer. - - - Nicko Cadell - - - - Write the caller location info to the output - - that will receive the formatted result. - the event being logged - - - Writes the to the output writer. - - - - - - Writes the event identity to the output - - - - Writes the value of the to - the output writer. - - - Daniel Cazzulino - Nicko Cadell - - - - Writes the event identity to the output - - that will receive the formatted result. - the event being logged - - - Writes the value of the - to - the output . - - - - - - Write the event level to the output - - - - Writes the display name of the event - to the writer. - - - Nicko Cadell - - - - Write the event level to the output - - that will receive the formatted result. - the event being logged - - - Writes the of the - to the . - - - - - - Write the caller location line number to the output - - - - Writes the value of the for - the event to the output writer. - - - Nicko Cadell - - - - Write the caller location line number to the output - - that will receive the formatted result. - the event being logged - - - Writes the value of the for - the to the output . - - - - - - Converter for logger name - - - - Outputs the of the event. - - - Nicko Cadell - - - - Converter to output and truncate '.' separated strings - - - - This abstract class supports truncating a '.' separated string - to show a specified number of elements from the right hand side. - This is used to truncate class names that are fully qualified. - - - Subclasses should override the method to - return the fully qualified string. - - - Nicko Cadell - - - - Initialize the converter - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Get the fully qualified string data - - the event being logged - the fully qualified name - - - Overridden by subclasses to get the fully qualified name before the - precision is applied to it. - - - Return the fully qualified '.' (dot/period) separated string. - - - - - - Convert the pattern to the rendered message - - that will receive the formatted result. - the event being logged - - Render the to the precision - specified by the property. - - - - - Gets the fully qualified name of the logger - - the event being logged - The fully qualified logger name - - - Returns the of the . - - - - - - Writes the event message to the output - - - - Uses the method - to write out the event message. - - - Nicko Cadell - - - - Writes the event message to the output - - that will receive the formatted result. - the event being logged - - - Uses the method - to write out the event message. - - - - - - Write the method name to the output - - - - Writes the caller location to - the output. - - - Nicko Cadell - - - - Write the method name to the output - - that will receive the formatted result. - the event being logged - - - Writes the caller location to - the output. - - - - - - Converter to include event NDC - - - - Outputs the value of the event property named NDC. - - - The should be used instead. - - - Nicko Cadell - - - - Write the event NDC to the output - - that will receive the formatted result. - the event being logged - - - As the thread context stacks are now stored in named event properties - this converter simply looks up the value of the NDC property. - - - The should be used instead. - - - - - - Property pattern converter - - - - Writes out the value of a named property. The property name - should be set in the - property. - - - If the is set to null - then all the properties are written as key value pairs. - - - Nicko Cadell - - - - Write the property value to the output - - that will receive the formatted result. - the event being logged - - - Writes out the value of a named property. The property name - should be set in the - property. - - - If the is set to null - then all the properties are written as key value pairs. - - - - - - Converter to output the relative time of the event - - - - Converter to output the time of the event relative to the start of the program. - - - Nicko Cadell - - - - Write the relative time to the output - - that will receive the formatted result. - the event being logged - - - Writes out the relative time of the event in milliseconds. - That is the number of milliseconds between the event - and the . - - - - - - Helper method to get the time difference between two DateTime objects - - start time (in the current local time zone) - end time (in the current local time zone) - the time difference in milliseconds - - - - Converter to include event thread name - - - - Writes the to the output. - - - Nicko Cadell - - - - Write the ThreadName to the output - - that will receive the formatted result. - the event being logged - - - Writes the to the . - - - - - - Pattern converter for the class name - - - - Outputs the of the event. - - - Nicko Cadell - - - - Gets the fully qualified name of the class - - the event being logged - The fully qualified type name for the caller location - - - Returns the of the . - - - - - - Converter to include event user name - - Douglas de la Torre - Nicko Cadell - - - - Convert the pattern to the rendered message - - that will receive the formatted result. - the event being logged - - - - Write the TimeStamp to the output - - - - Date pattern converter, uses a to format - the date of a . - - - Uses a to format the - in Universal time. - - - See the for details on the date pattern syntax. - - - - Nicko Cadell - - - - Write the TimeStamp to the output - - that will receive the formatted result. - the event being logged - - - Pass the to the - for it to render it to the writer. - - - The passed is in the local time zone, this is converted - to Universal time before it is rendered. - - - - - - - A Layout that renders only the Exception text from the logging event - - - - A Layout that renders only the Exception text from the logging event. - - - This Layout should only be used with appenders that utilize multiple - layouts (e.g. ). - - - Nicko Cadell - Gert Driesen - - - - Extend this abstract class to create your own log layout format. - - - - This is the base implementation of the - interface. Most layout objects should extend this class. - - - - - - Subclasses must implement the - method. - - - Subclasses should set the in their default - constructor. - - - - Nicko Cadell - Gert Driesen - - - - Interface implemented by layout objects - - - - An object is used to format a - as text. The method is called by an - appender to transform the into a string. - - - The layout can also supply and - text that is appender before any events and after all the events respectively. - - - Nicko Cadell - Gert Driesen - - - - Implement this method to create your own layout format. - - The TextWriter to write the formatted event to - The event to format - - - This method is called by an appender to format - the as text and output to a writer. - - - If the caller does not have a and prefers the - event to be formatted as a then the following - code can be used to format the event into a . - - - StringWriter writer = new StringWriter(); - Layout.Format(writer, loggingEvent); - string formattedEvent = writer.ToString(); - - - - - - The content type output by this layout. - - The content type - - - The content type output by this layout. - - - This is a MIME type e.g. "text/plain". - - - - - - The header for the layout format. - - the layout header - - - The Header text will be appended before any logging events - are formatted and appended. - - - - - - The footer for the layout format. - - the layout footer - - - The Footer text will be appended after all the logging events - have been formatted and appended. - - - - - - Flag indicating if this layout handle exceptions - - false if this layout handles exceptions - - - If this layout handles the exception object contained within - , then the layout should return - false. Otherwise, if the layout ignores the exception - object, then the layout should return true. - - - - - - The header text - - - - See for more information. - - - - - - The footer text - - - - See for more information. - - - - - - Flag indicating if this layout handles exceptions - - - - false if this layout handles exceptions - - - - - - Empty default constructor - - - - Empty default constructor - - - - - - Activate component options - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - This method must be implemented by the subclass. - - - - - - Implement this method to create your own layout format. - - The TextWriter to write the formatted event to - The event to format - - - This method is called by an appender to format - the as text. - - - - - - The content type output by this layout. - - The content type is "text/plain" - - - The content type output by this layout. - - - This base class uses the value "text/plain". - To change this value a subclass must override this - property. - - - - - - The header for the layout format. - - the layout header - - - The Header text will be appended before any logging events - are formatted and appended. - - - - - - The footer for the layout format. - - the layout footer - - - The Footer text will be appended after all the logging events - have been formatted and appended. - - - - - - Flag indicating if this layout handles exceptions - - false if this layout handles exceptions - - - If this layout handles the exception object contained within - , then the layout should return - false. Otherwise, if the layout ignores the exception - object, then the layout should return true. - - - Set this value to override a this default setting. The default - value is true, this layout does not handle the exception. - - - - - - Default constructor - - - - Constructs a ExceptionLayout - - - - - - Activate component options - - - - Part of the component activation - framework. - - - This method does nothing as options become effective immediately. - - - - - - Gets the exception text from the logging event - - The TextWriter to write the formatted event to - the event being logged - - - Write the exception string to the . - The exception string is retrieved from . - - - - - - Interface for raw layout objects - - - - Interface used to format a - to an object. - - - This interface should not be confused with the - interface. This interface is used in - only certain specialized situations where a raw object is - required rather than a formatted string. The - is not generally useful than this interface. - - - Nicko Cadell - Gert Driesen - - - - Implement this method to create your own layout format. - - The event to format - returns the formatted event - - - Implement this method to create your own layout format. - - - - - - Adapts any to a - - - - Where an is required this adapter - allows a to be specified. - - - Nicko Cadell - Gert Driesen - - - - The layout to adapt - - - - - Construct a new adapter - - the layout to adapt - - - Create the adapter for the specified . - - - - - - Format the logging event as an object. - - The event to format - returns the formatted event - - - Format the logging event as an object. - - - Uses the object supplied to - the constructor to perform the formatting. - - - - - - A flexible layout configurable with pattern string. - - - - The goal of this class is to a - as a string. The results - depend on the conversion pattern. - - - The conversion pattern is closely related to the conversion - pattern of the printf function in C. A conversion pattern is - composed of literal text and format control expressions called - conversion specifiers. - - - You are free to insert any literal text within the conversion - pattern. - - - Each conversion specifier starts with a percent sign (%) and is - followed by optional format modifiers and a conversion - pattern name. The conversion pattern name specifies the type of - data, e.g. logger, level, date, thread name. The format - modifiers control such things as field width, padding, left and - right justification. The following is a simple example. - - - Let the conversion pattern be "%-5level [%thread]: %message%newline" and assume - that the log4net environment was set to use a PatternLayout. Then the - statements - - - ILog log = LogManager.GetLogger(typeof(TestApp)); - log.Debug("Message 1"); - log.Warn("Message 2"); - - would yield the output - - DEBUG [main]: Message 1 - WARN [main]: Message 2 - - - Note that there is no explicit separator between text and - conversion specifiers. The pattern parser knows when it has reached - the end of a conversion specifier when it reads a conversion - character. In the example above the conversion specifier - %-5level means the level of the logging event should be left - justified to a width of five characters. - - - The recognized conversion pattern names are: - - - - Conversion Pattern Name - Effect - - - a - Equivalent to appdomain - - - appdomain - - Used to output the friendly name of the AppDomain where the - logging event was generated. - - - - c - Equivalent to logger - - - C - Equivalent to type - - - class - Equivalent to type - - - d - Equivalent to date - - - date - - - Used to output the date of the logging event in the local time zone. - To output the date in universal time use the %utcdate pattern. - The date conversion - specifier may be followed by a date format specifier enclosed - between braces. For example, %date{HH:mm:ss,fff} or - %date{dd MMM yyyy HH:mm:ss,fff}. If no date format specifier is - given then ISO8601 format is - assumed (). - - - The date format specifier admits the same syntax as the - time pattern string of the . - - - For better results it is recommended to use the log4net date - formatters. These can be specified using one of the strings - "ABSOLUTE", "DATE" and "ISO8601" for specifying - , - and respectively - . For example, - %date{ISO8601} or %date{ABSOLUTE}. - - - These dedicated date formatters perform significantly - better than . - - - - - exception - - - Used to output the exception passed in with the log message. - - - If an exception object is stored in the logging event - it will be rendered into the pattern output with a - trailing newline. - If there is no exception then nothing will be output - and no trailing newline will be appended. - It is typical to put a newline before the exception - and to have the exception as the last data in the pattern. - - - - - F - Equivalent to file - - - file - - - Used to output the file name where the logging request was - issued. - - - WARNING Generating caller location information is - extremely slow. Its use should be avoided unless execution speed - is not an issue. - - - See the note below on the availability of caller location information. - - - - - identity - - - Used to output the user name for the currently active user - (Principal.Identity.Name). - - - WARNING Generating caller information is - extremely slow. Its use should be avoided unless execution speed - is not an issue. - - - - - l - Equivalent to location - - - L - Equivalent to line - - - location - - - Used to output location information of the caller which generated - the logging event. - - - The location information depends on the CLI implementation but - usually consists of the fully qualified name of the calling - method followed by the callers source the file name and line - number between parentheses. - - - The location information can be very useful. However, its - generation is extremely slow. Its use should be avoided - unless execution speed is not an issue. - - - See the note below on the availability of caller location information. - - - - - level - - - Used to output the level of the logging event. - - - - - line - - - Used to output the line number from where the logging request - was issued. - - - WARNING Generating caller location information is - extremely slow. Its use should be avoided unless execution speed - is not an issue. - - - See the note below on the availability of caller location information. - - - - - logger - - - Used to output the logger of the logging event. The - logger conversion specifier can be optionally followed by - precision specifier, that is a decimal constant in - brackets. - - - If a precision specifier is given, then only the corresponding - number of right most components of the logger name will be - printed. By default the logger name is printed in full. - - - For example, for the logger name "a.b.c" the pattern - %logger{2} will output "b.c". - - - - - m - Equivalent to message - - - M - Equivalent to method - - - message - - - Used to output the application supplied message associated with - the logging event. - - - - - mdc - - - The MDC (old name for the ThreadContext.Properties) is now part of the - combined event properties. This pattern is supported for compatibility - but is equivalent to property. - - - - - method - - - Used to output the method name where the logging request was - issued. - - - WARNING Generating caller location information is - extremely slow. Its use should be avoided unless execution speed - is not an issue. - - - See the note below on the availability of caller location information. - - - - - n - Equivalent to newline - - - newline - - - Outputs the platform dependent line separator character or - characters. - - - This conversion pattern offers the same performance as using - non-portable line separator strings such as "\n", or "\r\n". - Thus, it is the preferred way of specifying a line separator. - - - - - ndc - - - Used to output the NDC (nested diagnostic context) associated - with the thread that generated the logging event. - - - - - p - Equivalent to level - - - P - Equivalent to property - - - properties - Equivalent to property - - - property - - - Used to output the an event specific property. The key to - lookup must be specified within braces and directly following the - pattern specifier, e.g. %property{user} would include the value - from the property that is keyed by the string 'user'. Each property value - that is to be included in the log must be specified separately. - Properties are added to events by loggers or appenders. By default - the log4net:HostName property is set to the name of machine on - which the event was originally logged. - - - If no key is specified, e.g. %property then all the keys and their - values are printed in a comma separated list. - - - The properties of an event are combined from a number of different - contexts. These are listed below in the order in which they are searched. - - - - the event properties - - The event has that can be set. These - properties are specific to this event only. - - - - the thread properties - - The that are set on the current - thread. These properties are shared by all events logged on this thread. - - - - the global properties - - The that are set globally. These - properties are shared by all the threads in the AppDomain. - - - - - - - - r - Equivalent to timestamp - - - t - Equivalent to thread - - - timestamp - - - Used to output the number of milliseconds elapsed since the start - of the application until the creation of the logging event. - - - - - thread - - - Used to output the name of the thread that generated the - logging event. Uses the thread number if no name is available. - - - - - type - - - Used to output the fully qualified type name of the caller - issuing the logging request. This conversion specifier - can be optionally followed by precision specifier, that - is a decimal constant in brackets. - - - If a precision specifier is given, then only the corresponding - number of right most components of the class name will be - printed. By default the class name is output in fully qualified form. - - - For example, for the class name "log4net.Layout.PatternLayout", the - pattern %type{1} will output "PatternLayout". - - - WARNING Generating the caller class information is - slow. Thus, its use should be avoided unless execution speed is - not an issue. - - - See the note below on the availability of caller location information. - - - - - u - Equivalent to identity - - - username - - - Used to output the WindowsIdentity for the currently - active user. - - - WARNING Generating caller WindowsIdentity information is - extremely slow. Its use should be avoided unless execution speed - is not an issue. - - - - - utcdate - - - Used to output the date of the logging event in universal time. - The date conversion - specifier may be followed by a date format specifier enclosed - between braces. For example, %utcdate{HH:mm:ss,fff} or - %utcdate{dd MMM yyyy HH:mm:ss,fff}. If no date format specifier is - given then ISO8601 format is - assumed (). - - - The date format specifier admits the same syntax as the - time pattern string of the . - - - For better results it is recommended to use the log4net date - formatters. These can be specified using one of the strings - "ABSOLUTE", "DATE" and "ISO8601" for specifying - , - and respectively - . For example, - %utcdate{ISO8601} or %utcdate{ABSOLUTE}. - - - These dedicated date formatters perform significantly - better than . - - - - - w - Equivalent to username - - - x - Equivalent to ndc - - - X - Equivalent to mdc - - - % - - - The sequence %% outputs a single percent sign. - - - - - - The single letter patterns are deprecated in favor of the - longer more descriptive pattern names. - - - By default the relevant information is output as is. However, - with the aid of format modifiers it is possible to change the - minimum field width, the maximum field width and justification. - - - The optional format modifier is placed between the percent sign - and the conversion pattern name. - - - The first optional format modifier is the left justification - flag which is just the minus (-) character. Then comes the - optional minimum field width modifier. This is a decimal - constant that represents the minimum number of characters to - output. If the data item requires fewer characters, it is padded on - either the left or the right until the minimum width is - reached. The default is to pad on the left (right justify) but you - can specify right padding with the left justification flag. The - padding character is space. If the data item is larger than the - minimum field width, the field is expanded to accommodate the - data. The value is never truncated. - - - This behavior can be changed using the maximum field - width modifier which is designated by a period followed by a - decimal constant. If the data item is longer than the maximum - field, then the extra characters are removed from the - beginning of the data item and not from the end. For - example, it the maximum field width is eight and the data item is - ten characters long, then the first two characters of the data item - are dropped. This behavior deviates from the printf function in C - where truncation is done from the end. - - - Below are various format modifier examples for the logger - conversion specifier. - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Format modifierleft justifyminimum widthmaximum widthcomment
%20loggerfalse20none - - Left pad with spaces if the logger name is less than 20 - characters long. - -
%-20loggertrue20none - - Right pad with spaces if the logger - name is less than 20 characters long. - -
%.30loggerNAnone30 - - Truncate from the beginning if the logger - name is longer than 30 characters. - -
%20.30loggerfalse2030 - - Left pad with spaces if the logger name is shorter than 20 - characters. However, if logger name is longer than 30 characters, - then truncate from the beginning. - -
%-20.30loggertrue2030 - - Right pad with spaces if the logger name is shorter than 20 - characters. However, if logger name is longer than 30 characters, - then truncate from the beginning. - -
-
- - Note about caller location information.
- The following patterns %type %file %line %method %location %class %C %F %L %l %M - all generate caller location information. - Location information uses the System.Diagnostics.StackTrace class to generate - a call stack. The caller's information is then extracted from this stack. -
- - - The System.Diagnostics.StackTrace class is not supported on the - .NET Compact Framework 1.0 therefore caller location information is not - available on that framework. - - - - - The System.Diagnostics.StackTrace class has this to say about Release builds: - - - "StackTrace information will be most informative with Debug build configurations. - By default, Debug builds include debug symbols, while Release builds do not. The - debug symbols contain most of the file, method name, line number, and column - information used in constructing StackFrame and StackTrace objects. StackTrace - might not report as many method calls as expected, due to code transformations - that occur during optimization." - - - This means that in a Release build the caller information may be incomplete or may - not exist at all! Therefore caller location information cannot be relied upon in a Release build. - - - - Additional pattern converters may be registered with a specific - instance using the method. - -
- - This is a more detailed pattern. - %timestamp [%thread] %level %logger %ndc - %message%newline - - - A similar pattern except that the relative time is - right padded if less than 6 digits, thread name is right padded if - less than 15 characters and truncated if longer and the logger - name is left padded if shorter than 30 characters and truncated if - longer. - %-6timestamp [%15.15thread] %-5level %30.30logger %ndc - %message%newline - - Nicko Cadell - Gert Driesen - Douglas de la Torre - Daniel Cazzulino -
- - - Default pattern string for log output. - - - - Default pattern string for log output. - Currently set to the string "%message%newline" - which just prints the application supplied message. - - - - - - A detailed conversion pattern - - - - A conversion pattern which includes Time, Thread, Logger, and Nested Context. - Current value is %timestamp [%thread] %level %logger %ndc - %message%newline. - - - - - - Internal map of converter identifiers to converter types. - - - - This static map is overridden by the m_converterRegistry instance map - - - - - - the pattern - - - - - the head of the pattern converter chain - - - - - patterns defined on this PatternLayout only - - - - - Initialize the global registry - - - - Defines the builtin global rules. - - - - - - Constructs a PatternLayout using the DefaultConversionPattern - - - - The default pattern just produces the application supplied message. - - - Note to Inheritors: This constructor calls the virtual method - . If you override this method be - aware that it will be called before your is called constructor. - - - As per the contract the - method must be called after the properties on this object have been - configured. - - - - - - Constructs a PatternLayout using the supplied conversion pattern - - the pattern to use - - - Note to Inheritors: This constructor calls the virtual method - . If you override this method be - aware that it will be called before your is called constructor. - - - When using this constructor the method - need not be called. This may not be the case when using a subclass. - - - - - - Create the pattern parser instance - - the pattern to parse - The that will format the event - - - Creates the used to parse the conversion string. Sets the - global and instance rules on the . - - - - - - Initialize layout options - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Produces a formatted string as specified by the conversion pattern. - - the event being logged - The TextWriter to write the formatted event to - - - Parse the using the patter format - specified in the property. - - - - - - Add a converter to this PatternLayout - - the converter info - - - This version of the method is used by the configurator. - Programmatic users should use the alternative method. - - - - - - Add a converter to this PatternLayout - - the name of the conversion pattern for this converter - the type of the converter - - - Add a named pattern converter to this instance. This - converter will be used in the formatting of the event. - This method must be called before . - - - The specified must extend the - type. - - - - - - The pattern formatting string - - - - The ConversionPattern option. This is the string which - controls formatting and consists of a mix of literal content and - conversion specifiers. - - - - - - Wrapper class used to map converter names to converter types - - - - Pattern converter info class used during configuration to - pass to the - method. - - - - - - default constructor - - - - - Gets or sets the name of the conversion pattern - - - - The name of the pattern in the format string - - - - - - Gets or sets the type of the converter - - - - The value specified must extend the - type. - - - - - - Type converter for the interface - - - - Used to convert objects to the interface. - Supports converting from the interface to - the interface using the . - - - Nicko Cadell - Gert Driesen - - - - Interface supported by type converters - - - - This interface supports conversion from arbitrary types - to a single target type. See . - - - Nicko Cadell - Gert Driesen - - - - Can the source type be converted to the type supported by this object - - the type to convert - true if the conversion is possible - - - Test if the can be converted to the - type supported by this converter. - - - - - - Convert the source object to the type supported by this object - - the object to convert - the converted object - - - Converts the to the type supported - by this converter. - - - - - - Can the sourceType be converted to an - - the source to be to be converted - true if the source type can be converted to - - - Test if the can be converted to a - . Only is supported - as the . - - - - - - Convert the value to a object - - the value to convert - the object - - - Convert the object to a - object. If the object - is a then the - is used to adapt between the two interfaces, otherwise an - exception is thrown. - - - - - - Extract the value of a property from the - - - - Extract the value of a property from the - - - Nicko Cadell - - - - Constructs a RawPropertyLayout - - - - - Lookup the property for - - The event to format - returns property value - - - Looks up and returns the object value of the property - named . If there is no property defined - with than name then null will be returned. - - - - - - The name of the value to lookup in the LoggingEvent Properties collection. - - - Value to lookup in the LoggingEvent Properties collection - - - - String name of the property to lookup in the . - - - - - - Extract the date from the - - - - Extract the date from the - - - Nicko Cadell - Gert Driesen - - - - Constructs a RawTimeStampLayout - - - - - Gets the as a . - - The event to format - returns the time stamp - - - Gets the as a . - - - The time stamp is in local time. To format the time stamp - in universal time use . - - - - - - Extract the date from the - - - - Extract the date from the - - - Nicko Cadell - Gert Driesen - - - - Constructs a RawUtcTimeStampLayout - - - - - Gets the as a . - - The event to format - returns the time stamp - - - Gets the as a . - - - The time stamp is in universal time. To format the time stamp - in local time use . - - - - - - A very simple layout - - - - SimpleLayout consists of the level of the log statement, - followed by " - " and then the log message itself. For example, - - DEBUG - Hello world - - - - Nicko Cadell - Gert Driesen - - - - Constructs a SimpleLayout - - - - - Initialize layout options - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Produces a simple formatted output. - - the event being logged - The TextWriter to write the formatted event to - - - Formats the event as the level of the even, - followed by " - " and then the log message itself. The - output is terminated by a newline. - - - - - - Layout that formats the log events as XML elements. - - - - The output of the consists of a series of - log4net:event elements. It does not output a complete well-formed XML - file. The output is designed to be included as an external entity - in a separate file to form a correct XML file. - - - For example, if abc is the name of the file where - the output goes, then a well-formed XML file would - be: - - - <?xml version="1.0" ?> - - <!DOCTYPE log4net:events SYSTEM "log4net-events.dtd" [<!ENTITY data SYSTEM "abc">]> - - <log4net:events version="1.2" xmlns:log4net="http://logging.apache.org/log4net/schemas/log4net-events-1.2> - &data; - </log4net:events> - - - This approach enforces the independence of the - and the appender where it is embedded. - - - The version attribute helps components to correctly - interpret output generated by . The value of - this attribute should be "1.2" for release 1.2 and later. - - - Alternatively the Header and Footer properties can be - configured to output the correct XML header, open tag and close tag. - When setting the Header and Footer properties it is essential - that the underlying data store not be appendable otherwise the data - will become invalid XML. - - - Nicko Cadell - Gert Driesen - - - - Layout that formats the log events as XML elements. - - - - This is an abstract class that must be subclassed by an implementation - to conform to a specific schema. - - - Deriving classes must implement the method. - - - Nicko Cadell - Gert Driesen - - - - Protected constructor to support subclasses - - - - Initializes a new instance of the class - with no location info. - - - - - - Protected constructor to support subclasses - - - - The parameter determines whether - location information will be output by the layout. If - is set to true, then the - file name and line number of the statement at the origin of the log - statement will be output. - - - If you are embedding this layout within an SMTPAppender - then make sure to set the LocationInfo option of that - appender as well. - - - - - - Initialize layout options - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Produces a formatted string. - - The event being logged. - The TextWriter to write the formatted event to - - - Format the and write it to the . - - - This method creates an that writes to the - . The is passed - to the method. Subclasses should override the - method rather than this method. - - - - - - Does the actual writing of the XML. - - The writer to use to output the event to. - The event to write. - - - Subclasses should override this method to format - the as XML. - - - - - - Flag to indicate if location information should be included in - the XML events. - - - - - Writer adapter that ignores Close - - - - - The string to replace invalid chars with - - - - - Gets a value indicating whether to include location information in - the XML events. - - - true if location information should be included in the XML - events; otherwise, false. - - - - If is set to true, then the file - name and line number of the statement at the origin of the log - statement will be output. - - - If you are embedding this layout within an SMTPAppender - then make sure to set the LocationInfo option of that - appender as well. - - - - - - The string to replace characters that can not be expressed in XML with. - - - Not all characters may be expressed in XML. This property contains the - string to replace those that can not with. This defaults to a ?. Set it - to the empty string to simply remove offending characters. For more - details on the allowed character ranges see http://www.w3.org/TR/REC-xml/#charsets - Character replacement will occur in the log message, the property names - and the property values. - - - - - - - Gets the content type output by this layout. - - - As this is the XML layout, the value is always "text/xml". - - - - As this is the XML layout, the value is always "text/xml". - - - - - - Constructs an XmlLayout - - - - - Constructs an XmlLayout. - - - - The LocationInfo option takes a boolean value. By - default, it is set to false which means there will be no location - information output by this layout. If the the option is set to - true, then the file name and line number of the statement - at the origin of the log statement will be output. - - - If you are embedding this layout within an SmtpAppender - then make sure to set the LocationInfo option of that - appender as well. - - - - - - Initialize layout options - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - Builds a cache of the element names - - - - - - Does the actual writing of the XML. - - The writer to use to output the event to. - The event to write. - - - Override the base class method - to write the to the . - - - - - - The prefix to use for all generated element names - - - - - The prefix to use for all element names - - - - The default prefix is log4net. Set this property - to change the prefix. If the prefix is set to an empty string - then no prefix will be written. - - - - - - Set whether or not to base64 encode the message. - - - - By default the log message will be written as text to the xml - output. This can cause problems when the message contains binary - data. By setting this to true the contents of the message will be - base64 encoded. If this is set then invalid character replacement - (see ) will not be performed - on the log message. - - - - - - Set whether or not to base64 encode the property values. - - - - By default the properties will be written as text to the xml - output. This can cause problems when one or more properties contain - binary data. By setting this to true the values of the properties - will be base64 encoded. If this is set then invalid character replacement - (see ) will not be performed - on the property values. - - - - - - Layout that formats the log events as XML elements compatible with the log4j schema - - - - Formats the log events according to the http://logging.apache.org/log4j schema. - - - Nicko Cadell - - - - The 1st of January 1970 in UTC - - - - - Constructs an XMLLayoutSchemaLog4j - - - - - Constructs an XMLLayoutSchemaLog4j. - - - - The LocationInfo option takes a boolean value. By - default, it is set to false which means there will be no location - information output by this layout. If the the option is set to - true, then the file name and line number of the statement - at the origin of the log statement will be output. - - - If you are embedding this layout within an SMTPAppender - then make sure to set the LocationInfo option of that - appender as well. - - - - - - Actually do the writing of the xml - - the writer to use - the event to write - - - Generate XML that is compatible with the log4j schema. - - - - - - The version of the log4j schema to use. - - - - Only version 1.2 of the log4j schema is supported. - - - - - - The default object Renderer. - - - - The default renderer supports rendering objects and collections to strings. - - - See the method for details of the output. - - - Nicko Cadell - Gert Driesen - - - - Implement this interface in order to render objects as strings - - - - Certain types require special case conversion to - string form. This conversion is done by an object renderer. - Object renderers implement the - interface. - - - Nicko Cadell - Gert Driesen - - - - Render the object to a string - - The map used to lookup renderers - The object to render - The writer to render to - - - Render the object to a - string. - - - The parameter is - provided to lookup and render other objects. This is - very useful where contains - nested objects of unknown type. The - method can be used to render these objects. - - - - - - Default constructor - - - - Default constructor - - - - - - Render the object to a string - - The map used to lookup renderers - The object to render - The writer to render to - - - Render the object to a string. - - - The parameter is - provided to lookup and render other objects. This is - very useful where contains - nested objects of unknown type. The - method can be used to render these objects. - - - The default renderer supports rendering objects to strings as follows: - - - - Value - Rendered String - - - null - - "(null)" - - - - - - - For a one dimensional array this is the - array type name, an open brace, followed by a comma - separated list of the elements (using the appropriate - renderer), followed by a close brace. - - - For example: int[] {1, 2, 3}. - - - If the array is not one dimensional the - Array.ToString() is returned. - - - - - , & - - - Rendered as an open brace, followed by a comma - separated list of the elements (using the appropriate - renderer), followed by a close brace. - - - For example: {a, b, c}. - - - All collection classes that implement its subclasses, - or generic equivalents all implement the interface. - - - - - - - - Rendered as the key, an equals sign ('='), and the value (using the appropriate - renderer). - - - For example: key=value. - - - - - other - - Object.ToString() - - - - - - - - Render the array argument into a string - - The map used to lookup renderers - the array to render - The writer to render to - - - For a one dimensional array this is the - array type name, an open brace, followed by a comma - separated list of the elements (using the appropriate - renderer), followed by a close brace. For example: - int[] {1, 2, 3}. - - - If the array is not one dimensional the - Array.ToString() is returned. - - - - - - Render the enumerator argument into a string - - The map used to lookup renderers - the enumerator to render - The writer to render to - - - Rendered as an open brace, followed by a comma - separated list of the elements (using the appropriate - renderer), followed by a close brace. For example: - {a, b, c}. - - - - - - Render the DictionaryEntry argument into a string - - The map used to lookup renderers - the DictionaryEntry to render - The writer to render to - - - Render the key, an equals sign ('='), and the value (using the appropriate - renderer). For example: key=value. - - - - - - Map class objects to an . - - - - Maintains a mapping between types that require special - rendering and the that - is used to render them. - - - The method is used to render an - object using the appropriate renderers defined in this map. - - - Nicko Cadell - Gert Driesen - - - - Default Constructor - - - - Default constructor. - - - - - - Render using the appropriate renderer. - - the object to render to a string - the object rendered as a string - - - This is a convenience method used to render an object to a string. - The alternative method - should be used when streaming output to a . - - - - - - Render using the appropriate renderer. - - the object to render to a string - The writer to render to - - - Find the appropriate renderer for the type of the - parameter. This is accomplished by calling the - method. Once a renderer is found, it is - applied on the object and the result is returned - as a . - - - - - - Gets the renderer for the specified object type - - the object to lookup the renderer for - the renderer for - - - Gets the renderer for the specified object type. - - - Syntactic sugar method that calls - with the type of the object parameter. - - - - - - Gets the renderer for the specified type - - the type to lookup the renderer for - the renderer for the specified type - - - Returns the renderer for the specified type. - If no specific renderer has been defined the - will be returned. - - - - - - Internal function to recursively search interfaces - - the type to lookup the renderer for - the renderer for the specified type - - - - Clear the map of renderers - - - - Clear the custom renderers defined by using - . The - cannot be removed. - - - - - - Register an for . - - the type that will be rendered by - the renderer for - - - Register an object renderer for a specific source type. - This renderer will be returned from a call to - specifying the same as an argument. - - - - - - Get the default renderer instance - - the default renderer - - - Get the default renderer - - - - - - Interface implemented by logger repository plugins. - - - - Plugins define additional behavior that can be associated - with a . - The held by the - property is used to store the plugins for a repository. - - - The log4net.Config.PluginAttribute can be used to - attach plugins to repositories created using configuration - attributes. - - - Nicko Cadell - Gert Driesen - - - - Attaches the plugin to the specified . - - The that this plugin should be attached to. - - - A plugin may only be attached to a single repository. - - - This method is called when the plugin is attached to the repository. - - - - - - Is called when the plugin is to shutdown. - - - - This method is called to notify the plugin that - it should stop operating and should detach from - the repository. - - - - - - Gets the name of the plugin. - - - The name of the plugin. - - - - Plugins are stored in the - keyed by name. Each plugin instance attached to a - repository must be a unique name. - - - - - - A strongly-typed collection of objects. - - Nicko Cadell - - - - Creates a read-only wrapper for a PluginCollection instance. - - list to create a readonly wrapper arround - - A PluginCollection wrapper that is read-only. - - - - - Initializes a new instance of the PluginCollection class - that is empty and has the default initial capacity. - - - - - Initializes a new instance of the PluginCollection class - that has the specified initial capacity. - - - The number of elements that the new PluginCollection is initially capable of storing. - - - - - Initializes a new instance of the PluginCollection class - that contains elements copied from the specified PluginCollection. - - The PluginCollection whose elements are copied to the new collection. - - - - Initializes a new instance of the PluginCollection class - that contains elements copied from the specified array. - - The array whose elements are copied to the new list. - - - - Initializes a new instance of the PluginCollection class - that contains elements copied from the specified collection. - - The collection whose elements are copied to the new list. - - - - Allow subclasses to avoid our default constructors - - - - - - - Copies the entire PluginCollection to a one-dimensional - array. - - The one-dimensional array to copy to. - - - - Copies the entire PluginCollection to a one-dimensional - array, starting at the specified index of the target array. - - The one-dimensional array to copy to. - The zero-based index in at which copying begins. - - - - Adds a to the end of the PluginCollection. - - The to be added to the end of the PluginCollection. - The index at which the value has been added. - - - - Removes all elements from the PluginCollection. - - - - - Creates a shallow copy of the . - - A new with a shallow copy of the collection data. - - - - Determines whether a given is in the PluginCollection. - - The to check for. - true if is found in the PluginCollection; otherwise, false. - - - - Returns the zero-based index of the first occurrence of a - in the PluginCollection. - - The to locate in the PluginCollection. - - The zero-based index of the first occurrence of - in the entire PluginCollection, if found; otherwise, -1. - - - - - Inserts an element into the PluginCollection at the specified index. - - The zero-based index at which should be inserted. - The to insert. - - is less than zero - -or- - is equal to or greater than . - - - - - Removes the first occurrence of a specific from the PluginCollection. - - The to remove from the PluginCollection. - - The specified was not found in the PluginCollection. - - - - - Removes the element at the specified index of the PluginCollection. - - The zero-based index of the element to remove. - - is less than zero. - -or- - is equal to or greater than . - - - - - Returns an enumerator that can iterate through the PluginCollection. - - An for the entire PluginCollection. - - - - Adds the elements of another PluginCollection to the current PluginCollection. - - The PluginCollection whose elements should be added to the end of the current PluginCollection. - The new of the PluginCollection. - - - - Adds the elements of a array to the current PluginCollection. - - The array whose elements should be added to the end of the PluginCollection. - The new of the PluginCollection. - - - - Adds the elements of a collection to the current PluginCollection. - - The collection whose elements should be added to the end of the PluginCollection. - The new of the PluginCollection. - - - - Sets the capacity to the actual number of elements. - - - - - is less than zero. - -or- - is equal to or greater than . - - - - - is less than zero. - -or- - is equal to or greater than . - - - - - Gets the number of elements actually contained in the PluginCollection. - - - - - Gets a value indicating whether access to the collection is synchronized (thread-safe). - - true if access to the ICollection is synchronized (thread-safe); otherwise, false. - - - - Gets an object that can be used to synchronize access to the collection. - - - An object that can be used to synchronize access to the collection. - - - - - Gets or sets the at the specified index. - - - The at the specified index. - - The zero-based index of the element to get or set. - - is less than zero. - -or- - is equal to or greater than . - - - - - Gets a value indicating whether the collection has a fixed size. - - true if the collection has a fixed size; otherwise, false. The default is false. - - - - Gets a value indicating whether the IList is read-only. - - true if the collection is read-only; otherwise, false. The default is false. - - - - Gets or sets the number of elements the PluginCollection can contain. - - - The number of elements the PluginCollection can contain. - - - - - Supports type-safe iteration over a . - - - - - - Advances the enumerator to the next element in the collection. - - - true if the enumerator was successfully advanced to the next element; - false if the enumerator has passed the end of the collection. - - - The collection was modified after the enumerator was created. - - - - - Sets the enumerator to its initial position, before the first element in the collection. - - - - - Gets the current element in the collection. - - - - - Type visible only to our subclasses - Used to access protected constructor - - - - - - A value - - - - - Supports simple iteration over a . - - - - - - Initializes a new instance of the Enumerator class. - - - - - - Advances the enumerator to the next element in the collection. - - - true if the enumerator was successfully advanced to the next element; - false if the enumerator has passed the end of the collection. - - - The collection was modified after the enumerator was created. - - - - - Sets the enumerator to its initial position, before the first element in the collection. - - - - - Gets the current element in the collection. - - - The current element in the collection. - - - - - - - - Map of repository plugins. - - - - This class is a name keyed map of the plugins that are - attached to a repository. - - - Nicko Cadell - Gert Driesen - - - - Constructor - - The repository that the plugins should be attached to. - - - Initialize a new instance of the class with a - repository that the plugins should be attached to. - - - - - - Adds a to the map. - - The to add to the map. - - - The will be attached to the repository when added. - - - If there already exists a plugin with the same name - attached to the repository then the old plugin will - be and replaced with - the new plugin. - - - - - - Removes a from the map. - - The to remove from the map. - - - Remove a specific plugin from this map. - - - - - - Gets a by name. - - The name of the to lookup. - - The from the map with the name specified, or - null if no plugin is found. - - - - Lookup a plugin by name. If the plugin is not found null - will be returned. - - - - - - Gets all possible plugins as a list of objects. - - All possible plugins as a list of objects. - - - Get a collection of all the plugins defined in this map. - - - - - - Base implementation of - - - - Default abstract implementation of the - interface. This base class can be used by implementors - of the interface. - - - Nicko Cadell - Gert Driesen - - - - Constructor - - the name of the plugin - - Initializes a new Plugin with the specified name. - - - - - Attaches this plugin to a . - - The that this plugin should be attached to. - - - A plugin may only be attached to a single repository. - - - This method is called when the plugin is attached to the repository. - - - - - - Is called when the plugin is to shutdown. - - - - This method is called to notify the plugin that - it should stop operating and should detach from - the repository. - - - - - - The name of this plugin. - - - - - The repository this plugin is attached to. - - - - - Gets or sets the name of the plugin. - - - The name of the plugin. - - - - Plugins are stored in the - keyed by name. Each plugin instance attached to a - repository must be a unique name. - - - The name of the plugin must not change one the - plugin has been attached to a repository. - - - - - - The repository for this plugin - - - The that this plugin is attached to. - - - - Gets or sets the that this plugin is - attached to. - - - - - - Plugin that listens for events from the - - - - This plugin publishes an instance of - on a specified . This listens for logging events delivered from - a remote . - - - When an event is received it is relogged within the attached repository - as if it had been raised locally. - - - Nicko Cadell - Gert Driesen - - - - Default constructor - - - - Initializes a new instance of the class. - - - The property must be set. - - - - - - Construct with sink Uri. - - The name to publish the sink under in the remoting infrastructure. - See for more details. - - - Initializes a new instance of the class - with specified name. - - - - - - Attaches this plugin to a . - - The that this plugin should be attached to. - - - A plugin may only be attached to a single repository. - - - This method is called when the plugin is attached to the repository. - - - - - - Is called when the plugin is to shutdown. - - - - When the plugin is shutdown the remote logging - sink is disconnected. - - - - - - Gets or sets the URI of this sink. - - - The URI of this sink. - - - - This is the name under which the object is marshaled. - - - - - - - Delivers objects to a remote sink. - - - - Internal class used to listen for logging events - and deliver them to the local repository. - - - - - - Constructor - - The repository to log to. - - - Initializes a new instance of the for the - specified . - - - - - - Logs the events to the repository. - - The events to log. - - - The events passed are logged to the - - - - - - Obtains a lifetime service object to control the lifetime - policy for this instance. - - null to indicate that this instance should live forever. - - - Obtains a lifetime service object to control the lifetime - policy for this instance. This object should live forever - therefore this implementation returns null. - - - - - - The underlying that events should - be logged to. - - - - - Default implementation of - - - - This default implementation of the - interface is used to create the default subclass - of the object. - - - Nicko Cadell - Gert Driesen - - - - Interface abstracts creation of instances - - - - This interface is used by the to - create new objects. - - - The method is called - to create a named . - - - Implement this interface to create new subclasses of . - - - Nicko Cadell - Gert Driesen - - - - Create a new instance - - The name of the . - The instance for the specified name. - - - Create a new instance with the - specified name. - - - Called by the to create - new named instances. - - - If the is null then the root logger - must be returned. - - - - - - Default constructor - - - - Initializes a new instance of the class. - - - - - - Create a new instance - - The name of the . - The instance for the specified name. - - - Create a new instance with the - specified name. - - - Called by the to create - new named instances. - - - If the is null then the root logger - must be returned. - - - - - - Default internal subclass of - - - - This subclass has no additional behavior over the - class but does allow instances - to be created. - - - - - - Implementation of used by - - - - Internal class used to provide implementation of - interface. Applications should use to get - logger instances. - - - This is one of the central classes in the log4net implementation. One of the - distinctive features of log4net are hierarchical loggers and their - evaluation. The organizes the - instances into a rooted tree hierarchy. - - - The class is abstract. Only concrete subclasses of - can be created. The - is used to create instances of this type for the . - - - Nicko Cadell - Gert Driesen - Aspi Havewala - Douglas de la Torre - - - - This constructor created a new instance and - sets its name. - - The name of the . - - - This constructor is protected and designed to be used by - a subclass that is not abstract. - - - Loggers are constructed by - objects. See for the default - logger creator. - - - - - - Add to the list of appenders of this - Logger instance. - - An appender to add to this logger - - - Add to the list of appenders of this - Logger instance. - - - If is already in the list of - appenders, then it won't be added again. - - - - - - Look for the appender named as name - - The name of the appender to lookup - The appender with the name specified, or null. - - - Returns the named appender, or null if the appender is not found. - - - - - - Remove all previously added appenders from this Logger instance. - - - - Remove all previously added appenders from this Logger instance. - - - This is useful when re-reading configuration information. - - - - - - Remove the appender passed as parameter form the list of appenders. - - The appender to remove - The appender removed from the list - - - Remove the appender passed as parameter form the list of appenders. - The appender removed is not closed. - If you are discarding the appender you must call - on the appender removed. - - - - - - Remove the appender passed as parameter form the list of appenders. - - The name of the appender to remove - The appender removed from the list - - - Remove the named appender passed as parameter form the list of appenders. - The appender removed is not closed. - If you are discarding the appender you must call - on the appender removed. - - - - - - This generic form is intended to be used by wrappers. - - The declaring type of the method that is - the stack boundary into the logging system for this call. - The level of the message to be logged. - The message object to log. - The exception to log, including its stack trace. - - - Generate a logging event for the specified using - the and . - - - This method must not throw any exception to the caller. - - - - - - This is the most generic printing method that is intended to be used - by wrappers. - - The event being logged. - - - Logs the specified logging event through this logger. - - - This method must not throw any exception to the caller. - - - - - - Checks if this logger is enabled for a given passed as parameter. - - The level to check. - - true if this logger is enabled for level, otherwise false. - - - - Test if this logger is going to log events of the specified . - - - This method must not throw any exception to the caller. - - - - - - Deliver the to the attached appenders. - - The event to log. - - - Call the appenders in the hierarchy starting at - this. If no appenders could be found, emit a - warning. - - - This method calls all the appenders inherited from the - hierarchy circumventing any evaluation of whether to log or not - to log the particular log request. - - - - - - Closes all attached appenders implementing the interface. - - - - Used to ensure that the appenders are correctly shutdown. - - - - - - This is the most generic printing method. This generic form is intended to be used by wrappers - - The level of the message to be logged. - The message object to log. - The exception to log, including its stack trace. - - - Generate a logging event for the specified using - the . - - - - - - Creates a new logging event and logs the event without further checks. - - The declaring type of the method that is - the stack boundary into the logging system for this call. - The level of the message to be logged. - The message object to log. - The exception to log, including its stack trace. - - - Generates a logging event and delivers it to the attached - appenders. - - - - - - Creates a new logging event and logs the event without further checks. - - The event being logged. - - - Delivers the logging event to the attached appenders. - - - - - - The fully qualified type of the Logger class. - - - - - The name of this logger. - - - - - The assigned level of this logger. - - - - The level variable need not be - assigned a value in which case it is inherited - form the hierarchy. - - - - - - The parent of this logger. - - - - The parent of this logger. - All loggers have at least one ancestor which is the root logger. - - - - - - Loggers need to know what Hierarchy they are in. - - - - Loggers need to know what Hierarchy they are in. - The hierarchy that this logger is a member of is stored - here. - - - - - - Helper implementation of the interface - - - - - Flag indicating if child loggers inherit their parents appenders - - - - Additivity is set to true by default, that is children inherit - the appenders of their ancestors by default. If this variable is - set to false then the appenders found in the - ancestors of this logger are not used. However, the children - of this logger will inherit its appenders, unless the children - have their additivity flag set to false too. See - the user manual for more details. - - - - - - Lock to protect AppenderAttachedImpl variable m_appenderAttachedImpl - - - - - Gets or sets the parent logger in the hierarchy. - - - The parent logger in the hierarchy. - - - - Part of the Composite pattern that makes the hierarchy. - The hierarchy is parent linked rather than child linked. - - - - - - Gets or sets a value indicating if child loggers inherit their parent's appenders. - - - true if child loggers inherit their parent's appenders. - - - - Additivity is set to true by default, that is children inherit - the appenders of their ancestors by default. If this variable is - set to false then the appenders found in the - ancestors of this logger are not used. However, the children - of this logger will inherit its appenders, unless the children - have their additivity flag set to false too. See - the user manual for more details. - - - - - - Gets the effective level for this logger. - - The nearest level in the logger hierarchy. - - - Starting from this logger, searches the logger hierarchy for a - non-null level and returns it. Otherwise, returns the level of the - root logger. - - The Logger class is designed so that this method executes as - quickly as possible. - - - - - Gets or sets the where this - Logger instance is attached to. - - The hierarchy that this logger belongs to. - - - This logger must be attached to a single . - - - - - - Gets or sets the assigned , if any, for this Logger. - - - The of this logger. - - - - The assigned can be null. - - - - - - Get the appenders contained in this logger as an - . - - A collection of the appenders in this logger - - - Get the appenders contained in this logger as an - . If no appenders - can be found, then a is returned. - - - - - - Gets the logger name. - - - The name of the logger. - - - - The name of this logger - - - - - - Gets the where this - Logger instance is attached to. - - - The that this logger belongs to. - - - - Gets the where this - Logger instance is attached to. - - - - - - Construct a new Logger - - the name of the logger - - - Initializes a new instance of the class - with the specified name. - - - - - - Delegate used to handle logger creation event notifications. - - The in which the has been created. - The event args that hold the instance that has been created. - - - Delegate used to handle logger creation event notifications. - - - - - - Provides data for the event. - - - - A event is raised every time a - is created. - - - - - - The created - - - - - Constructor - - The that has been created. - - - Initializes a new instance of the event argument - class,with the specified . - - - - - - Gets the that has been created. - - - The that has been created. - - - - The that has been created. - - - - - - Hierarchical organization of loggers - - - - The casual user should not have to deal with this class - directly. - - - This class is specialized in retrieving loggers by name and - also maintaining the logger hierarchy. Implements the - interface. - - - The structure of the logger hierarchy is maintained by the - method. The hierarchy is such that children - link to their parent but parents do not have any references to their - children. Moreover, loggers can be instantiated in any order, in - particular descendant before ancestor. - - - In case a descendant is created before a particular ancestor, - then it creates a provision node for the ancestor and adds itself - to the provision node. Other descendants of the same ancestor add - themselves to the previously created provision node. - - - Nicko Cadell - Gert Driesen - - - - Base implementation of - - - - Default abstract implementation of the interface. - - - Skeleton implementation of the interface. - All types can extend this type. - - - Nicko Cadell - Gert Driesen - - - - Interface implemented by logger repositories. - - - - This interface is implemented by logger repositories. e.g. - . - - - This interface is used by the - to obtain interfaces. - - - Nicko Cadell - Gert Driesen - - - - Check if the named logger exists in the repository. If so return - its reference, otherwise returns null. - - The name of the logger to lookup - The Logger object with the name specified - - - If the names logger exists it is returned, otherwise - null is returned. - - - - - - Returns all the currently defined loggers as an Array. - - All the defined loggers - - - Returns all the currently defined loggers as an Array. - - - - - - Returns a named logger instance - - The name of the logger to retrieve - The logger object with the name specified - - - Returns a named logger instance. - - - If a logger of that name already exists, then it will be - returned. Otherwise, a new logger will be instantiated and - then linked with its existing ancestors as well as children. - - - - - Shutdown the repository - - - Shutting down a repository will safely close and remove - all appenders in all loggers including the root logger. - - - Some appenders need to be closed before the - application exists. Otherwise, pending logging events might be - lost. - - - The method is careful to close nested - appenders before closing regular appenders. This is allows - configurations where a regular appender is attached to a logger - and again to a nested appender. - - - - - - Reset the repositories configuration to a default state - - - - Reset all values contained in this instance to their - default state. - - - Existing loggers are not removed. They are just reset. - - - This method should be used sparingly and with care as it will - block all logging until it is completed. - - - - - - Log the through this repository. - - the event to log - - - This method should not normally be used to log. - The interface should be used - for routine logging. This interface can be obtained - using the method. - - - The logEvent is delivered to the appropriate logger and - that logger is then responsible for logging the event. - - - - - - Returns all the Appenders that are configured as an Array. - - All the Appenders - - - Returns all the Appenders that are configured as an Array. - - - - - - The name of the repository - - - The name of the repository - - - - The name of the repository. - - - - - - RendererMap accesses the object renderer map for this repository. - - - RendererMap accesses the object renderer map for this repository. - - - - RendererMap accesses the object renderer map for this repository. - - - The RendererMap holds a mapping between types and - objects. - - - - - - The plugin map for this repository. - - - The plugin map for this repository. - - - - The plugin map holds the instances - that have been attached to this repository. - - - - - - Get the level map for the Repository. - - - - Get the level map for the Repository. - - - The level map defines the mappings between - level names and objects in - this repository. - - - - - - The threshold for all events in this repository - - - The threshold for all events in this repository - - - - The threshold for all events in this repository. - - - - - - Flag indicates if this repository has been configured. - - - Flag indicates if this repository has been configured. - - - - Flag indicates if this repository has been configured. - - - - - - Event to notify that the repository has been shutdown. - - - Event to notify that the repository has been shutdown. - - - - Event raised when the repository has been shutdown. - - - - - - Event to notify that the repository has had its configuration reset. - - - Event to notify that the repository has had its configuration reset. - - - - Event raised when the repository's configuration has been - reset to default. - - - - - - Event to notify that the repository has had its configuration changed. - - - Event to notify that the repository has had its configuration changed. - - - - Event raised when the repository's configuration has been changed. - - - - - - Repository specific properties - - - Repository specific properties - - - - These properties can be specified on a repository specific basis. - - - - - - Default Constructor - - - - Initializes the repository with default (empty) properties. - - - - - - Construct the repository using specific properties - - the properties to set for this repository - - - Initializes the repository with specified properties. - - - - - - Test if logger exists - - The name of the logger to lookup - The Logger object with the name specified - - - Check if the named logger exists in the repository. If so return - its reference, otherwise returns null. - - - - - - Returns all the currently defined loggers in the repository - - All the defined loggers - - - Returns all the currently defined loggers in the repository as an Array. - - - - - - Return a new logger instance - - The name of the logger to retrieve - The logger object with the name specified - - - Return a new logger instance. - - - If a logger of that name already exists, then it will be - returned. Otherwise, a new logger will be instantiated and - then linked with its existing ancestors as well as children. - - - - - - Shutdown the repository - - - - Shutdown the repository. Can be overridden in a subclass. - This base class implementation notifies the - listeners and all attached plugins of the shutdown event. - - - - - - Reset the repositories configuration to a default state - - - - Reset all values contained in this instance to their - default state. - - - Existing loggers are not removed. They are just reset. - - - This method should be used sparingly and with care as it will - block all logging until it is completed. - - - - - - Log the logEvent through this repository. - - the event to log - - - This method should not normally be used to log. - The interface should be used - for routine logging. This interface can be obtained - using the method. - - - The logEvent is delivered to the appropriate logger and - that logger is then responsible for logging the event. - - - - - - Returns all the Appenders that are configured as an Array. - - All the Appenders - - - Returns all the Appenders that are configured as an Array. - - - - - - Adds an object renderer for a specific class. - - The type that will be rendered by the renderer supplied. - The object renderer used to render the object. - - - Adds an object renderer for a specific class. - - - - - - Notify the registered listeners that the repository is shutting down - - Empty EventArgs - - - Notify any listeners that this repository is shutting down. - - - - - - Notify the registered listeners that the repository has had its configuration reset - - Empty EventArgs - - - Notify any listeners that this repository's configuration has been reset. - - - - - - Notify the registered listeners that the repository has had its configuration changed - - Empty EventArgs - - - Notify any listeners that this repository's configuration has changed. - - - - - - Raise a configuration changed event on this repository - - EventArgs.Empty - - - Applications that programmatically change the configuration of the repository should - raise this event notification to notify listeners. - - - - - - The name of the repository - - - The string name of the repository - - - - The name of this repository. The name is - used to store and lookup the repositories - stored by the . - - - - - - The threshold for all events in this repository - - - The threshold for all events in this repository - - - - The threshold for all events in this repository - - - - - - RendererMap accesses the object renderer map for this repository. - - - RendererMap accesses the object renderer map for this repository. - - - - RendererMap accesses the object renderer map for this repository. - - - The RendererMap holds a mapping between types and - objects. - - - - - - The plugin map for this repository. - - - The plugin map for this repository. - - - - The plugin map holds the instances - that have been attached to this repository. - - - - - - Get the level map for the Repository. - - - - Get the level map for the Repository. - - - The level map defines the mappings between - level names and objects in - this repository. - - - - - - Flag indicates if this repository has been configured. - - - Flag indicates if this repository has been configured. - - - - Flag indicates if this repository has been configured. - - - - - - Event to notify that the repository has been shutdown. - - - Event to notify that the repository has been shutdown. - - - - Event raised when the repository has been shutdown. - - - - - - Event to notify that the repository has had its configuration reset. - - - Event to notify that the repository has had its configuration reset. - - - - Event raised when the repository's configuration has been - reset to default. - - - - - - Event to notify that the repository has had its configuration changed. - - - Event to notify that the repository has had its configuration changed. - - - - Event raised when the repository's configuration has been changed. - - - - - - Repository specific properties - - - Repository specific properties - - - These properties can be specified on a repository specific basis - - - - - Basic Configurator interface for repositories - - - - Interface used by basic configurator to configure a - with a default . - - - A should implement this interface to support - configuration by the . - - - Nicko Cadell - Gert Driesen - - - - Initialize the repository using the specified appender - - the appender to use to log all logging events - - - Configure the repository to route all logging events to the - specified appender. - - - - - - Configure repository using XML - - - - Interface used by Xml configurator to configure a . - - - A should implement this interface to support - configuration by the . - - - Nicko Cadell - Gert Driesen - - - - Initialize the repository using the specified config - - the element containing the root of the config - - - The schema for the XML configuration data is defined by - the implementation. - - - - - - Default constructor - - - - Initializes a new instance of the class. - - - - - - Construct with properties - - The properties to pass to this repository. - - - Initializes a new instance of the class. - - - - - - Construct with a logger factory - - The factory to use to create new logger instances. - - - Initializes a new instance of the class with - the specified . - - - - - - Construct with properties and a logger factory - - The properties to pass to this repository. - The factory to use to create new logger instances. - - - Initializes a new instance of the class with - the specified . - - - - - - Test if a logger exists - - The name of the logger to lookup - The Logger object with the name specified - - - Check if the named logger exists in the hierarchy. If so return - its reference, otherwise returns null. - - - - - - Returns all the currently defined loggers in the hierarchy as an Array - - All the defined loggers - - - Returns all the currently defined loggers in the hierarchy as an Array. - The root logger is not included in the returned - enumeration. - - - - - - Return a new logger instance named as the first parameter using - the default factory. - - - - Return a new logger instance named as the first parameter using - the default factory. - - - If a logger of that name already exists, then it will be - returned. Otherwise, a new logger will be instantiated and - then linked with its existing ancestors as well as children. - - - The name of the logger to retrieve - The logger object with the name specified - - - - Shutting down a hierarchy will safely close and remove - all appenders in all loggers including the root logger. - - - - Shutting down a hierarchy will safely close and remove - all appenders in all loggers including the root logger. - - - Some appenders need to be closed before the - application exists. Otherwise, pending logging events might be - lost. - - - The Shutdown method is careful to close nested - appenders before closing regular appenders. This is allows - configurations where a regular appender is attached to a logger - and again to a nested appender. - - - - - - Reset all values contained in this hierarchy instance to their default. - - - - Reset all values contained in this hierarchy instance to their - default. This removes all appenders from all loggers, sets - the level of all non-root loggers to null, - sets their additivity flag to true and sets the level - of the root logger to . Moreover, - message disabling is set its default "off" value. - - - Existing loggers are not removed. They are just reset. - - - This method should be used sparingly and with care as it will - block all logging until it is completed. - - - - - - Log the logEvent through this hierarchy. - - the event to log - - - This method should not normally be used to log. - The interface should be used - for routine logging. This interface can be obtained - using the method. - - - The logEvent is delivered to the appropriate logger and - that logger is then responsible for logging the event. - - - - - - Returns all the Appenders that are currently configured - - An array containing all the currently configured appenders - - - Returns all the instances that are currently configured. - All the loggers are searched for appenders. The appenders may also be containers - for appenders and these are also searched for additional loggers. - - - The list returned is unordered but does not contain duplicates. - - - - - - Collect the appenders from an . - The appender may also be a container. - - - - - - - Collect the appenders from an container - - - - - - - Initialize the log4net system using the specified appender - - the appender to use to log all logging events - - - - Initialize the log4net system using the specified appender - - the appender to use to log all logging events - - - This method provides the same functionality as the - method implemented - on this object, but it is protected and therefore can be called by subclasses. - - - - - - Initialize the log4net system using the specified config - - the element containing the root of the config - - - - Initialize the log4net system using the specified config - - the element containing the root of the config - - - This method provides the same functionality as the - method implemented - on this object, but it is protected and therefore can be called by subclasses. - - - - - - Test if this hierarchy is disabled for the specified . - - The level to check against. - - true if the repository is disabled for the level argument, false otherwise. - - - - If this hierarchy has not been configured then this method will - always return true. - - - This method will return true if this repository is - disabled for level object passed as parameter and - false otherwise. - - - See also the property. - - - - - - Clear all logger definitions from the internal hashtable - - - - This call will clear all logger definitions from the internal - hashtable. Invoking this method will irrevocably mess up the - logger hierarchy. - - - You should really know what you are doing before - invoking this method. - - - - - - Return a new logger instance named as the first parameter using - . - - The name of the logger to retrieve - The factory that will make the new logger instance - The logger object with the name specified - - - If a logger of that name already exists, then it will be - returned. Otherwise, a new logger will be instantiated by the - parameter and linked with its existing - ancestors as well as children. - - - - - - Sends a logger creation event to all registered listeners - - The newly created logger - - Raises the logger creation event. - - - - - Updates all the parents of the specified logger - - The logger to update the parents for - - - This method loops through all the potential parents of - . There 3 possible cases: - - - - No entry for the potential parent of exists - - We create a ProvisionNode for this potential - parent and insert in that provision node. - - - - The entry is of type Logger for the potential parent. - - The entry is 's nearest existing parent. We - update 's parent field with this entry. We also break from - he loop because updating our parent's parent is our parent's - responsibility. - - - - The entry is of type ProvisionNode for this potential parent. - - We add to the list of children for this - potential parent. - - - - - - - - Replace a with a in the hierarchy. - - - - - - We update the links for all the children that placed themselves - in the provision node 'pn'. The second argument 'log' is a - reference for the newly created Logger, parent of all the - children in 'pn'. - - - We loop on all the children 'c' in 'pn'. - - - If the child 'c' has been already linked to a child of - 'log' then there is no need to update 'c'. - - - Otherwise, we set log's parent field to c's parent and set - c's parent field to log. - - - - - - Define or redefine a Level using the values in the argument - - the level values - - - Define or redefine a Level using the values in the argument - - - Supports setting levels via the configuration file. - - - - - - Set a Property using the values in the argument - - the property value - - - Set a Property using the values in the argument. - - - Supports setting property values via the configuration file. - - - - - - Event used to notify that a logger has been created. - - - - Event raised when a logger is created. - - - - - - Has no appender warning been emitted - - - - Flag to indicate if we have already issued a warning - about not having an appender warning. - - - - - - Get the root of this hierarchy - - - - Get the root of this hierarchy. - - - - - - Gets or sets the default instance. - - The default - - - The logger factory is used to create logger instances. - - - - - - A class to hold the value, name and display name for a level - - - - A class to hold the value, name and display name for a level - - - - - - Override Object.ToString to return sensible debug info - - string info about this object - - - - Value of the level - - - - If the value is not set (defaults to -1) the value will be looked - up for the current level with the same name. - - - - - - Name of the level - - - The name of the level - - - - The name of the level. - - - - - - Display name for the level - - - The display name of the level - - - - The display name of the level. - - - - - - A class to hold the key and data for a property set in the config file - - - - A class to hold the key and data for a property set in the config file - - - - - - Override Object.ToString to return sensible debug info - - string info about this object - - - - Property Key - - - Property Key - - - - Property Key. - - - - - - Property Value - - - Property Value - - - - Property Value. - - - - - - Used internally to accelerate hash table searches. - - - - Internal class used to improve performance of - string keyed hashtables. - - - The hashcode of the string is cached for reuse. - The string is stored as an interned value. - When comparing two objects for equality - the reference equality of the interned strings is compared. - - - Nicko Cadell - Gert Driesen - - - - Construct key with string name - - - - Initializes a new instance of the class - with the specified name. - - - Stores the hashcode of the string and interns - the string key to optimize comparisons. - - - The Compact Framework 1.0 the - method does not work. On the Compact Framework - the string keys are not interned nor are they - compared by reference. - - - The name of the logger. - - - - Returns a hash code for the current instance. - - A hash code for the current instance. - - - Returns the cached hashcode. - - - - - - Determines whether two instances - are equal. - - The to compare with the current . - - true if the specified is equal to the current ; otherwise, false. - - - - Compares the references of the interned strings. - - - - - - Provision nodes are used where no logger instance has been specified - - - - instances are used in the - when there is no specified - for that node. - - - A provision node holds a list of child loggers on behalf of - a logger that does not exist. - - - Nicko Cadell - Gert Driesen - - - - Create a new provision node with child node - - A child logger to add to this node. - - - Initializes a new instance of the class - with the specified child logger. - - - - - - The sits at the root of the logger hierarchy tree. - - - - The is a regular except - that it provides several guarantees. - - - First, it cannot be assigned a null - level. Second, since the root logger cannot have a parent, the - property always returns the value of the - level field without walking the hierarchy. - - - Nicko Cadell - Gert Driesen - - - - Construct a - - The level to assign to the root logger. - - - Initializes a new instance of the class with - the specified logging level. - - - The root logger names itself as "root". However, the root - logger cannot be retrieved by name. - - - - - - Gets the assigned level value without walking the logger hierarchy. - - The assigned level value without walking the logger hierarchy. - - - Because the root logger cannot have a parent and its level - must not be null this property just returns the - value of . - - - - - - Gets or sets the assigned for the root logger. - - - The of the root logger. - - - - Setting the level of the root logger to a null reference - may have catastrophic results. We prevent this here. - - - - - - Initializes the log4net environment using an XML DOM. - - - - Configures a using an XML DOM. - - - Nicko Cadell - Gert Driesen - - - - Construct the configurator for a hierarchy - - The hierarchy to build. - - - Initializes a new instance of the class - with the specified . - - - - - - Configure the hierarchy by parsing a DOM tree of XML elements. - - The root element to parse. - - - Configure the hierarchy by parsing a DOM tree of XML elements. - - - - - - Parse appenders by IDREF. - - The appender ref element. - The instance of the appender that the ref refers to. - - - Parse an XML element that represents an appender and return - the appender. - - - - - - Parses an appender element. - - The appender element. - The appender instance or null when parsing failed. - - - Parse an XML element that represents an appender and return - the appender instance. - - - - - - Parses a logger element. - - The logger element. - - - Parse an XML element that represents a logger. - - - - - - Parses the root logger element. - - The root element. - - - Parse an XML element that represents the root logger. - - - - - - Parses the children of a logger element. - - The category element. - The logger instance. - Flag to indicate if the logger is the root logger. - - - Parse the child elements of a <logger> element. - - - - - - Parses an object renderer. - - The renderer element. - - - Parse an XML element that represents a renderer. - - - - - - Parses a level element. - - The level element. - The logger object to set the level on. - Flag to indicate if the logger is the root logger. - - - Parse an XML element that represents a level. - - - - - - Sets a parameter on an object. - - The parameter element. - The object to set the parameter on. - - The parameter name must correspond to a writable property - on the object. The value of the parameter is a string, - therefore this function will attempt to set a string - property first. If unable to set a string property it - will inspect the property and its argument type. It will - attempt to call a static method called Parse on the - type of the property. This method will take a single - string argument and return a value that can be used to - set the property. - - - - - Test if an element has no attributes or child elements - - the element to inspect - true if the element has any attributes or child elements, false otherwise - - - - Test if a is constructible with Activator.CreateInstance. - - the type to inspect - true if the type is creatable using a default constructor, false otherwise - - - - Look for a method on the that matches the supplied - - the type that has the method - the name of the method - the method info found - - - The method must be a public instance method on the . - The method must be named or "Add" followed by . - The method must take a single parameter. - - - - - - Converts a string value to a target type. - - The type of object to convert the string to. - The string value to use as the value of the object. - - - An object of type with value or - null when the conversion could not be performed. - - - - - - Creates an object as specified in XML. - - The XML element that contains the definition of the object. - The object type to use if not explicitly specified. - The type that the returned object must be or must inherit from. - The object or null - - - Parse an XML element and create an object instance based on the configuration - data. - - - The type of the instance may be specified in the XML. If not - specified then the is used - as the type. However the type is specified it must support the - type. - - - - - - key: appenderName, value: appender. - - - - - The Hierarchy being configured. - - - - - Delegate used to handle logger repository shutdown event notifications - - The that is shutting down. - Empty event args - - - Delegate used to handle logger repository shutdown event notifications. - - - - - - Delegate used to handle logger repository configuration reset event notifications - - The that has had its configuration reset. - Empty event args - - - Delegate used to handle logger repository configuration reset event notifications. - - - - - - Delegate used to handle event notifications for logger repository configuration changes. - - The that has had its configuration changed. - Empty event arguments. - - - Delegate used to handle event notifications for logger repository configuration changes. - - - - - - Write the name of the current AppDomain to the output - - - - Write the name of the current AppDomain to the output writer - - - Nicko Cadell - - - - Write the name of the current AppDomain to the output - - the writer to write to - null, state is not set - - - Writes name of the current AppDomain to the output . - - - - - - Write the current date to the output - - - - Date pattern converter, uses a to format - the current date and time to the writer as a string. - - - The value of the determines - the formatting of the date. The following values are allowed: - - - Option value - Output - - - ISO8601 - - Uses the formatter. - Formats using the "yyyy-MM-dd HH:mm:ss,fff" pattern. - - - - DATE - - Uses the formatter. - Formats using the "dd MMM yyyy HH:mm:ss,fff" for example, "06 Nov 1994 15:49:37,459". - - - - ABSOLUTE - - Uses the formatter. - Formats using the "HH:mm:ss,fff" for example, "15:49:37,459". - - - - other - - Any other pattern string uses the formatter. - This formatter passes the pattern string to the - method. - For details on valid patterns see - DateTimeFormatInfo Class. - - - - - - The date and time is in the local time zone and is rendered in that zone. - To output the time in Universal time see . - - - Nicko Cadell - - - - The used to render the date to a string - - - - The used to render the date to a string - - - - - - Initialize the converter options - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Write the current date to the output - - that will receive the formatted result. - null, state is not set - - - Pass the current date and time to the - for it to render it to the writer. - - - The date and time passed is in the local time zone. - - - - - - Write an environment variable to the output - - - - Write an environment variable to the output writer. - The value of the determines - the name of the variable to output. - - - Nicko Cadell - - - - Write an environment variable to the output - - the writer to write to - null, state is not set - - - Writes the environment variable to the output . - The name of the environment variable to output must be set - using the - property. - - - - - - Write the current thread identity to the output - - - - Write the current thread identity to the output writer - - - Nicko Cadell - - - - Write the current thread identity to the output - - the writer to write to - null, state is not set - - - Writes the current thread identity to the output . - - - - - - Pattern converter for literal string instances in the pattern - - - - Writes the literal string value specified in the - property to - the output. - - - Nicko Cadell - - - - Set the next converter in the chain - - The next pattern converter in the chain - The next pattern converter - - - Special case the building of the pattern converter chain - for instances. Two adjacent - literals in the pattern can be represented by a single combined - pattern converter. This implementation detects when a - is added to the chain - after this converter and combines its value with this converter's - literal value. - - - - - - Write the literal to the output - - the writer to write to - null, not set - - - Override the formatting behavior to ignore the FormattingInfo - because we have a literal instead. - - - Writes the value of - to the output . - - - - - - Convert this pattern into the rendered message - - that will receive the formatted result. - null, not set - - - This method is not used. - - - - - - Writes a newline to the output - - - - Writes the system dependent line terminator to the output. - This behavior can be overridden by setting the : - - - - Option Value - Output - - - DOS - DOS or Windows line terminator "\r\n" - - - UNIX - UNIX line terminator "\n" - - - - Nicko Cadell - - - - Initialize the converter - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Write the current process ID to the output - - - - Write the current process ID to the output writer - - - Nicko Cadell - - - - Write the current process ID to the output - - the writer to write to - null, state is not set - - - Write the current process ID to the output . - - - - - - Property pattern converter - - - - This pattern converter reads the thread and global properties. - The thread properties take priority over global properties. - See for details of the - thread properties. See for - details of the global properties. - - - If the is specified then that will be used to - lookup a single property. If no is specified - then all properties will be dumped as a list of key value pairs. - - - Nicko Cadell - - - - Write the property value to the output - - that will receive the formatted result. - null, state is not set - - - Writes out the value of a named property. The property name - should be set in the - property. - - - If the is set to null - then all the properties are written as key value pairs. - - - - - - A Pattern converter that generates a string of random characters - - - - The converter generates a string of random characters. By default - the string is length 4. This can be changed by setting the - to the string value of the length required. - - - The random characters in the string are limited to uppercase letters - and numbers only. - - - The random number generator used by this class is not cryptographically secure. - - - Nicko Cadell - - - - Shared random number generator - - - - - Length of random string to generate. Default length 4. - - - - - Initialize the converter options - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Write a randoim string to the output - - the writer to write to - null, state is not set - - - Write a randoim string to the output . - - - - - - Write the current threads username to the output - - - - Write the current threads username to the output writer - - - Nicko Cadell - - - - Write the current threads username to the output - - the writer to write to - null, state is not set - - - Write the current threads username to the output . - - - - - - Write the UTC date time to the output - - - - Date pattern converter, uses a to format - the current date and time in Universal time. - - - See the for details on the date pattern syntax. - - - - Nicko Cadell - - - - Write the current date and time to the output - - that will receive the formatted result. - null, state is not set - - - Pass the current date and time to the - for it to render it to the writer. - - - The date is in Universal time when it is rendered. - - - - - - - Type converter for Boolean. - - - - Supports conversion from string to bool type. - - - - - - Nicko Cadell - Gert Driesen - - - - Can the source type be converted to the type supported by this object - - the type to convert - true if the conversion is possible - - - Returns true if the is - the type. - - - - - - Convert the source object to the type supported by this object - - the object to convert - the converted object - - - Uses the method to convert the - argument to a . - - - - The object cannot be converted to the - target type. To check for this condition use the - method. - - - - - Exception base type for conversion errors. - - - - This type extends . It - does not add any new functionality but does differentiate the - type of exception being thrown. - - - Nicko Cadell - Gert Driesen - - - - Constructor - - - - Initializes a new instance of the class. - - - - - - Constructor - - A message to include with the exception. - - - Initializes a new instance of the class - with the specified message. - - - - - - Constructor - - A message to include with the exception. - A nested exception to include. - - - Initializes a new instance of the class - with the specified message and inner exception. - - - - - - Serialization constructor - - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - - - Initializes a new instance of the class - with serialized data. - - - - - - Creates a new instance of the class. - - The conversion destination type. - The value to convert. - An instance of the . - - - Creates a new instance of the class. - - - - - - Creates a new instance of the class. - - The conversion destination type. - The value to convert. - A nested exception to include. - An instance of the . - - - Creates a new instance of the class. - - - - - - Register of type converters for specific types. - - - - Maintains a registry of type converters used to convert between - types. - - - Use the and - methods to register new converters. - The and methods - lookup appropriate converters to use. - - - - - Nicko Cadell - Gert Driesen - - - - Private constructor - - - Initializes a new instance of the class. - - - - - Static constructor. - - - - This constructor defines the intrinsic type converters. - - - - - - Adds a converter for a specific type. - - The type being converted to. - The type converter to use to convert to the destination type. - - - Adds a converter instance for a specific type. - - - - - - Adds a converter for a specific type. - - The type being converted to. - The type of the type converter to use to convert to the destination type. - - - Adds a converter for a specific type. - - - - - - Gets the type converter to use to convert values to the destination type. - - The type being converted from. - The type being converted to. - - The type converter instance to use for type conversions or null - if no type converter is found. - - - - Gets the type converter to use to convert values to the destination type. - - - - - - Gets the type converter to use to convert values to the destination type. - - The type being converted to. - - The type converter instance to use for type conversions or null - if no type converter is found. - - - - Gets the type converter to use to convert values to the destination type. - - - - - - Lookups the type converter to use as specified by the attributes on the - destination type. - - The type being converted to. - - The type converter instance to use for type conversions or null - if no type converter is found. - - - - - Creates the instance of the type converter. - - The type of the type converter. - - The type converter instance to use for type conversions or null - if no type converter is found. - - - - The type specified for the type converter must implement - the or interfaces - and must have a public default (no argument) constructor. - - - - - - Mapping from to type converter. - - - - - Supports conversion from string to type. - - - - Supports conversion from string to type. - - - - - - Nicko Cadell - Gert Driesen - - - - Can the source type be converted to the type supported by this object - - the type to convert - true if the conversion is possible - - - Returns true if the is - the type. - - - - - - Overrides the ConvertFrom method of IConvertFrom. - - the object to convert to an encoding - the encoding - - - Uses the method to - convert the argument to an . - - - - The object cannot be converted to the - target type. To check for this condition use the - method. - - - - - Interface supported by type converters - - - - This interface supports conversion from a single type to arbitrary types. - See . - - - Nicko Cadell - - - - Returns whether this converter can convert the object to the specified type - - A Type that represents the type you want to convert to - true if the conversion is possible - - - Test if the type supported by this converter can be converted to the - . - - - - - - Converts the given value object to the specified type, using the arguments - - the object to convert - The Type to convert the value parameter to - the converted object - - - Converts the (which must be of the type supported - by this converter) to the specified.. - - - - - - Supports conversion from string to type. - - - - Supports conversion from string to type. - - - - - Nicko Cadell - - - - Can the source type be converted to the type supported by this object - - the type to convert - true if the conversion is possible - - - Returns true if the is - the type. - - - - - - Overrides the ConvertFrom method of IConvertFrom. - - the object to convert to an IPAddress - the IPAddress - - - Uses the method to convert the - argument to an . - If that fails then the string is resolved as a DNS hostname. - - - - The object cannot be converted to the - target type. To check for this condition use the - method. - - - - - Valid characters in an IPv4 or IPv6 address string. (Does not support subnets) - - - - - Supports conversion from string to type. - - - - Supports conversion from string to type. - - - The string is used as the - of the . - - - - - - Nicko Cadell - - - - Can the source type be converted to the type supported by this object - - the type to convert - true if the conversion is possible - - - Returns true if the is - the type. - - - - - - Overrides the ConvertFrom method of IConvertFrom. - - the object to convert to a PatternLayout - the PatternLayout - - - Creates and returns a new using - the as the - . - - - - The object cannot be converted to the - target type. To check for this condition use the - method. - - - - - Convert between string and - - - - Supports conversion from string to type, - and from a type to a string. - - - The string is used as the - of the . - - - - - - Nicko Cadell - - - - Can the target type be converted to the type supported by this object - - A that represents the type you want to convert to - true if the conversion is possible - - - Returns true if the is - assignable from a type. - - - - - - Converts the given value object to the specified type, using the arguments - - the object to convert - The Type to convert the value parameter to - the converted object - - - Uses the method to convert the - argument to a . - - - - The object cannot be converted to the - . To check for this condition use the - method. - - - - - Can the source type be converted to the type supported by this object - - the type to convert - true if the conversion is possible - - - Returns true if the is - the type. - - - - - - Overrides the ConvertFrom method of IConvertFrom. - - the object to convert to a PatternString - the PatternString - - - Creates and returns a new using - the as the - . - - - - The object cannot be converted to the - target type. To check for this condition use the - method. - - - - - Supports conversion from string to type. - - - - Supports conversion from string to type. - - - - - - Nicko Cadell - - - - Can the source type be converted to the type supported by this object - - the type to convert - true if the conversion is possible - - - Returns true if the is - the type. - - - - - - Overrides the ConvertFrom method of IConvertFrom. - - the object to convert to a Type - the Type - - - Uses the method to convert the - argument to a . - Additional effort is made to locate partially specified types - by searching the loaded assemblies. - - - - The object cannot be converted to the - target type. To check for this condition use the - method. - - - - - Attribute used to associate a type converter - - - - Class and Interface level attribute that specifies a type converter - to use with the associated type. - - - To associate a type converter with a target type apply a - TypeConverterAttribute to the target type. Specify the - type of the type converter on the attribute. - - - Nicko Cadell - Gert Driesen - - - - The string type name of the type converter - - - - - Default constructor - - - - Default constructor - - - - - - Create a new type converter attribute for the specified type name - - The string type name of the type converter - - - The type specified must implement the - or the interfaces. - - - - - - Create a new type converter attribute for the specified type - - The type of the type converter - - - The type specified must implement the - or the interfaces. - - - - - - The string type name of the type converter - - - The string type name of the type converter - - - - The type specified must implement the - or the interfaces. - - - - - - A straightforward implementation of the interface. - - - - This is the default implementation of the - interface. Implementors of the interface - should aggregate an instance of this type. - - - Nicko Cadell - Gert Driesen - - - - Constructor - - - - Initializes a new instance of the class. - - - - - - Append on on all attached appenders. - - The event being logged. - The number of appenders called. - - - Calls the method on all - attached appenders. - - - - - - Append on on all attached appenders. - - The array of events being logged. - The number of appenders called. - - - Calls the method on all - attached appenders. - - - - - - Calls the DoAppende method on the with - the objects supplied. - - The appender - The events - - - If the supports the - interface then the will be passed - through using that interface. Otherwise the - objects in the array will be passed one at a time. - - - - - - Attaches an appender. - - The appender to add. - - - If the appender is already in the list it won't be added again. - - - - - - Gets an attached appender with the specified name. - - The name of the appender to get. - - The appender with the name specified, or null if no appender with the - specified name is found. - - - - Lookup an attached appender by name. - - - - - - Removes all attached appenders. - - - - Removes and closes all attached appenders - - - - - - Removes the specified appender from the list of attached appenders. - - The appender to remove. - The appender removed from the list - - - The appender removed is not closed. - If you are discarding the appender you must call - on the appender removed. - - - - - - Removes the appender with the specified name from the list of appenders. - - The name of the appender to remove. - The appender removed from the list - - - The appender removed is not closed. - If you are discarding the appender you must call - on the appender removed. - - - - - - List of appenders - - - - - Array of appenders, used to cache the m_appenderList - - - - - Gets all attached appenders. - - - A collection of attached appenders, or null if there - are no attached appenders. - - - - The read only collection of all currently attached appenders. - - - - - - This class aggregates several PropertiesDictionary collections together. - - - - Provides a dictionary style lookup over an ordered list of - collections. - - - Nicko Cadell - - - - Constructor - - - - Initializes a new instance of the class. - - - - - - Add a Properties Dictionary to this composite collection - - the properties to add - - - Properties dictionaries added first take precedence over dictionaries added - later. - - - - - - Flatten this composite collection into a single properties dictionary - - the flattened dictionary - - - Reduces the collection of ordered dictionaries to a single dictionary - containing the resultant values for the keys. - - - - - - Gets the value of a property - - - The value for the property with the specified key - - - - Looks up the value for the specified. - The collections are searched - in the order in which they were added to this collection. The value - returned is the value held by the first collection that contains - the specified key. - - - If none of the collections contain the specified key then - null is returned. - - - - - - Base class for Context Properties implementations - - - - This class defines a basic property get set accessor - - - Nicko Cadell - - - - Gets or sets the value of a property - - - The value for the property with the specified key - - - - Gets or sets the value of a property - - - - - - Subclass of that maintains a count of - the number of bytes written. - - - - This writer counts the number of bytes written. - - - Nicko Cadell - Gert Driesen - - - - that does not leak exceptions - - - - does not throw exceptions when things go wrong. - Instead, it delegates error handling to its . - - - Nicko Cadell - Gert Driesen - - - - Adapter that extends and forwards all - messages to an instance of . - - - - Adapter that extends and forwards all - messages to an instance of . - - - Nicko Cadell - - - - The writer to forward messages to - - - - - Create an instance of that forwards all - messages to a . - - The to forward to - - - Create an instance of that forwards all - messages to a . - - - - - - Closes the writer and releases any system resources associated with the writer - - - - - - - - - Dispose this writer - - flag indicating if we are being disposed - - - Dispose this writer - - - - - - Flushes any buffered output - - - - Clears all buffers for the writer and causes any buffered data to be written - to the underlying device - - - - - - Writes a character to the wrapped TextWriter - - the value to write to the TextWriter - - - Writes a character to the wrapped TextWriter - - - - - - Writes a character buffer to the wrapped TextWriter - - the data buffer - the start index - the number of characters to write - - - Writes a character buffer to the wrapped TextWriter - - - - - - Writes a string to the wrapped TextWriter - - the value to write to the TextWriter - - - Writes a string to the wrapped TextWriter - - - - - - Gets or sets the underlying . - - - The underlying . - - - - Gets or sets the underlying . - - - - - - The Encoding in which the output is written - - - The - - - - The Encoding in which the output is written - - - - - - Gets an object that controls formatting - - - The format provider - - - - Gets an object that controls formatting - - - - - - Gets or sets the line terminator string used by the TextWriter - - - The line terminator to use - - - - Gets or sets the line terminator string used by the TextWriter - - - - - - Constructor - - the writer to actually write to - the error handler to report error to - - - Create a new QuietTextWriter using a writer and error handler - - - - - - Writes a character to the underlying writer - - the char to write - - - Writes a character to the underlying writer - - - - - - Writes a buffer to the underlying writer - - the buffer to write - the start index to write from - the number of characters to write - - - Writes a buffer to the underlying writer - - - - - - Writes a string to the output. - - The string data to write to the output. - - - Writes a string to the output. - - - - - - Closes the underlying output writer. - - - - Closes the underlying output writer. - - - - - - The error handler instance to pass all errors to - - - - - Flag to indicate if this writer is closed - - - - - Gets or sets the error handler that all errors are passed to. - - - The error handler that all errors are passed to. - - - - Gets or sets the error handler that all errors are passed to. - - - - - - Gets a value indicating whether this writer is closed. - - - true if this writer is closed, otherwise false. - - - - Gets a value indicating whether this writer is closed. - - - - - - Constructor - - The to actually write to. - The to report errors to. - - - Creates a new instance of the class - with the specified and . - - - - - - Writes a character to the underlying writer and counts the number of bytes written. - - the char to write - - - Overrides implementation of . Counts - the number of bytes written. - - - - - - Writes a buffer to the underlying writer and counts the number of bytes written. - - the buffer to write - the start index to write from - the number of characters to write - - - Overrides implementation of . Counts - the number of bytes written. - - - - - - Writes a string to the output and counts the number of bytes written. - - The string data to write to the output. - - - Overrides implementation of . Counts - the number of bytes written. - - - - - - Total number of bytes written. - - - - - Gets or sets the total number of bytes written. - - - The total number of bytes written. - - - - Gets or sets the total number of bytes written. - - - - - - A fixed size rolling buffer of logging events. - - - - An array backed fixed size leaky bucket. - - - Nicko Cadell - Gert Driesen - - - - Constructor - - The maximum number of logging events in the buffer. - - - Initializes a new instance of the class with - the specified maximum number of buffered logging events. - - - The argument is not a positive integer. - - - - Appends a to the buffer. - - The event to append to the buffer. - The event discarded from the buffer, if the buffer is full, otherwise null. - - - Append an event to the buffer. If the buffer still contains free space then - null is returned. If the buffer is full then an event will be dropped - to make space for the new event, the event dropped is returned. - - - - - - Get and remove the oldest event in the buffer. - - The oldest logging event in the buffer - - - Gets the oldest (first) logging event in the buffer and removes it - from the buffer. - - - - - - Pops all the logging events from the buffer into an array. - - An array of all the logging events in the buffer. - - - Get all the events in the buffer and clear the buffer. - - - - - - Clear the buffer - - - - Clear the buffer of all events. The events in the buffer are lost. - - - - - - Gets the th oldest event currently in the buffer. - - The th oldest event currently in the buffer. - - - If is outside the range 0 to the number of events - currently in the buffer, then null is returned. - - - - - - Gets the maximum size of the buffer. - - The maximum size of the buffer. - - - Gets the maximum size of the buffer - - - - - - Gets the number of logging events in the buffer. - - The number of logging events in the buffer. - - - This number is guaranteed to be in the range 0 to - (inclusive). - - - - - - An always empty . - - - - A singleton implementation of the - interface that always represents an empty collection. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Uses a private access modifier to enforce the singleton pattern. - - - - - - Copies the elements of the to an - , starting at a particular Array index. - - The one-dimensional - that is the destination of the elements copied from - . The Array must have zero-based - indexing. - The zero-based index in array at which - copying begins. - - - As the collection is empty no values are copied into the array. - - - - - - Returns an enumerator that can iterate through a collection. - - - An that can be used to - iterate through the collection. - - - - As the collection is empty a is returned. - - - - - - The singleton instance of the empty collection. - - - - - Gets the singleton instance of the empty collection. - - The singleton instance of the empty collection. - - - Gets the singleton instance of the empty collection. - - - - - - Gets a value indicating if access to the is synchronized (thread-safe). - - - true if access to the is synchronized (thread-safe); otherwise, false. - - - - For the this property is always true. - - - - - - Gets the number of elements contained in the . - - - The number of elements contained in the . - - - - As the collection is empty the is always 0. - - - - - - Gets an object that can be used to synchronize access to the . - - - An object that can be used to synchronize access to the . - - - - As the collection is empty and thread safe and synchronized this instance is also - the object. - - - - - - An always empty . - - - - A singleton implementation of the - interface that always represents an empty collection. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Uses a private access modifier to enforce the singleton pattern. - - - - - - Copies the elements of the to an - , starting at a particular Array index. - - The one-dimensional - that is the destination of the elements copied from - . The Array must have zero-based - indexing. - The zero-based index in array at which - copying begins. - - - As the collection is empty no values are copied into the array. - - - - - - Returns an enumerator that can iterate through a collection. - - - An that can be used to - iterate through the collection. - - - - As the collection is empty a is returned. - - - - - - Adds an element with the provided key and value to the - . - - The to use as the key of the element to add. - The to use as the value of the element to add. - - - As the collection is empty no new values can be added. A - is thrown if this method is called. - - - This dictionary is always empty and cannot be modified. - - - - Removes all elements from the . - - - - As the collection is empty no values can be removed. A - is thrown if this method is called. - - - This dictionary is always empty and cannot be modified. - - - - Determines whether the contains an element - with the specified key. - - The key to locate in the . - false - - - As the collection is empty the method always returns false. - - - - - - Returns an enumerator that can iterate through a collection. - - - An that can be used to - iterate through the collection. - - - - As the collection is empty a is returned. - - - - - - Removes the element with the specified key from the . - - The key of the element to remove. - - - As the collection is empty no values can be removed. A - is thrown if this method is called. - - - This dictionary is always empty and cannot be modified. - - - - The singleton instance of the empty dictionary. - - - - - Gets the singleton instance of the . - - The singleton instance of the . - - - Gets the singleton instance of the . - - - - - - Gets a value indicating if access to the is synchronized (thread-safe). - - - true if access to the is synchronized (thread-safe); otherwise, false. - - - - For the this property is always true. - - - - - - Gets the number of elements contained in the - - - The number of elements contained in the . - - - - As the collection is empty the is always 0. - - - - - - Gets an object that can be used to synchronize access to the . - - - An object that can be used to synchronize access to the . - - - - As the collection is empty and thread safe and synchronized this instance is also - the object. - - - - - - Gets a value indicating whether the has a fixed size. - - true - - - As the collection is empty always returns true. - - - - - - Gets a value indicating whether the is read-only. - - true - - - As the collection is empty always returns true. - - - - - - Gets an containing the keys of the . - - An containing the keys of the . - - - As the collection is empty a is returned. - - - - - - Gets an containing the values of the . - - An containing the values of the . - - - As the collection is empty a is returned. - - - - - - Gets or sets the element with the specified key. - - The key of the element to get or set. - null - - - As the collection is empty no values can be looked up or stored. - If the index getter is called then null is returned. - A is thrown if the setter is called. - - - This dictionary is always empty and cannot be modified. - - - - Contain the information obtained when parsing formatting modifiers - in conversion modifiers. - - - - Holds the formatting information extracted from the format string by - the . This is used by the - objects when rendering the output. - - - Nicko Cadell - Gert Driesen - - - - Defaut Constructor - - - - Initializes a new instance of the class. - - - - - - Constructor - - - - Initializes a new instance of the class - with the specified parameters. - - - - - - Gets or sets the minimum value. - - - The minimum value. - - - - Gets or sets the minimum value. - - - - - - Gets or sets the maximum value. - - - The maximum value. - - - - Gets or sets the maximum value. - - - - - - Gets or sets a flag indicating whether left align is enabled - or not. - - - A flag indicating whether left align is enabled or not. - - - - Gets or sets a flag indicating whether left align is enabled or not. - - - - - - Implementation of Properties collection for the - - - - This class implements a properties collection that is thread safe and supports both - storing properties and capturing a read only copy of the current propertied. - - - This class is optimized to the scenario where the properties are read frequently - and are modified infrequently. - - - Nicko Cadell - - - - The read only copy of the properties. - - - - This variable is declared volatile to prevent the compiler and JIT from - reordering reads and writes of this thread performed on different threads. - - - - - - Lock object used to synchronize updates within this instance - - - - - Constructor - - - - Initializes a new instance of the class. - - - - - - Remove a property from the global context - - the key for the entry to remove - - - Removing an entry from the global context properties is relatively expensive compared - with reading a value. - - - - - - Clear the global context properties - - - - - Get a readonly immutable copy of the properties - - the current global context properties - - - This implementation is fast because the GlobalContextProperties class - stores a readonly copy of the properties. - - - - - - Gets or sets the value of a property - - - The value for the property with the specified key - - - - Reading the value for a key is faster than setting the value. - When the value is written a new read only copy of - the properties is created. - - - - - - Manages a mapping from levels to - - - - Manages an ordered mapping from instances - to subclasses. - - - Nicko Cadell - - - - Default constructor - - - - Initialise a new instance of . - - - - - - Add a to this mapping - - the entry to add - - - If a has previously been added - for the same then that entry will be - overwritten. - - - - - - Lookup the mapping for the specified level - - the level to lookup - the for the level or null if no mapping found - - - Lookup the value for the specified level. Finds the nearest - mapping value for the level that is equal to or less than the - specified. - - - If no mapping could be found then null is returned. - - - - - - Initialize options - - - - Caches the sorted list of in an array - - - - - - Implementation of Properties collection for the - - - - Class implements a collection of properties that is specific to each thread. - The class is not synchronized as each thread has its own . - - - Nicko Cadell - - - - Constructor - - - - Initializes a new instance of the class. - - - - - - Remove a property - - the key for the entry to remove - - - Remove the value for the specified from the context. - - - - - - Clear all the context properties - - - - Clear all the context properties - - - - - - Get the PropertiesDictionary stored in the LocalDataStoreSlot for this thread. - - create the dictionary if it does not exist, otherwise return null if is does not exist - the properties for this thread - - - The collection returned is only to be used on the calling thread. If the - caller needs to share the collection between different threads then the - caller must clone the collection before doings so. - - - - - - Gets or sets the value of a property - - - The value for the property with the specified key - - - - Get or set the property value for the specified. - - - - - - Outputs log statements from within the log4net assembly. - - - - Log4net components cannot make log4net logging calls. However, it is - sometimes useful for the user to learn about what log4net is - doing. - - - All log4net internal debug calls go to the standard output stream - whereas internal error messages are sent to the standard error output - stream. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Uses a private access modifier to prevent instantiation of this class. - - - - - - Static constructor that initializes logging by reading - settings from the application configuration file. - - - - The log4net.Internal.Debug application setting - controls internal debugging. This setting should be set - to true to enable debugging. - - - The log4net.Internal.Quiet application setting - suppresses all internal logging including error messages. - This setting should be set to true to enable message - suppression. - - - - - - Writes log4net internal debug messages to the - standard output stream. - - The message to log. - - - All internal debug messages are prepended with - the string "log4net: ". - - - - - - Writes log4net internal debug messages to the - standard output stream. - - The message to log. - An exception to log. - - - All internal debug messages are prepended with - the string "log4net: ". - - - - - - Writes log4net internal warning messages to the - standard error stream. - - The message to log. - - - All internal warning messages are prepended with - the string "log4net:WARN ". - - - - - - Writes log4net internal warning messages to the - standard error stream. - - The message to log. - An exception to log. - - - All internal warning messages are prepended with - the string "log4net:WARN ". - - - - - - Writes log4net internal error messages to the - standard error stream. - - The message to log. - - - All internal error messages are prepended with - the string "log4net:ERROR ". - - - - - - Writes log4net internal error messages to the - standard error stream. - - The message to log. - An exception to log. - - - All internal debug messages are prepended with - the string "log4net:ERROR ". - - - - - - Writes output to the standard output stream. - - The message to log. - - - Writes to both Console.Out and System.Diagnostics.Trace. - Note that the System.Diagnostics.Trace is not supported - on the Compact Framework. - - - If the AppDomain is not configured with a config file then - the call to System.Diagnostics.Trace may fail. This is only - an issue if you are programmatically creating your own AppDomains. - - - - - - Writes output to the standard error stream. - - The message to log. - - - Writes to both Console.Error and System.Diagnostics.Trace. - Note that the System.Diagnostics.Trace is not supported - on the Compact Framework. - - - If the AppDomain is not configured with a config file then - the call to System.Diagnostics.Trace may fail. This is only - an issue if you are programmatically creating your own AppDomains. - - - - - - Default debug level - - - - - In quietMode not even errors generate any output. - - - - - Gets or sets a value indicating whether log4net internal logging - is enabled or disabled. - - - true if log4net internal logging is enabled, otherwise - false. - - - - When set to true, internal debug level logging will be - displayed. - - - This value can be set by setting the application setting - log4net.Internal.Debug in the application configuration - file. - - - The default value is false, i.e. debugging is - disabled. - - - - - The following example enables internal debugging using the - application configuration file : - - - - - - - - - - - - - Gets or sets a value indicating whether log4net should generate no output - from internal logging, not even for errors. - - - true if log4net should generate no output at all from internal - logging, otherwise false. - - - - When set to true will cause internal logging at all levels to be - suppressed. This means that no warning or error reports will be logged. - This option overrides the setting and - disables all debug also. - - This value can be set by setting the application setting - log4net.Internal.Quiet in the application configuration file. - - - The default value is false, i.e. internal logging is not - disabled. - - - - The following example disables internal logging using the - application configuration file : - - - - - - - - - - - - Test if LogLog.Debug is enabled for output. - - - true if Debug is enabled - - - - Test if LogLog.Debug is enabled for output. - - - - - - Test if LogLog.Warn is enabled for output. - - - true if Warn is enabled - - - - Test if LogLog.Warn is enabled for output. - - - - - - Test if LogLog.Error is enabled for output. - - - true if Error is enabled - - - - Test if LogLog.Error is enabled for output. - - - - - - Represents a native error code and message. - - - - Represents a Win32 platform native error. - - - Nicko Cadell - Gert Driesen - - - - Create an instance of the class with the specified - error number and message. - - The number of the native error. - The message of the native error. - - - Create an instance of the class with the specified - error number and message. - - - - - - Create a new instance of the class for the last Windows error. - - - An instance of the class for the last windows error. - - - - The message for the error number is lookup up using the - native Win32 FormatMessage function. - - - - - - Create a new instance of the class. - - the error number for the native error - - An instance of the class for the specified - error number. - - - - The message for the specified error number is lookup up using the - native Win32 FormatMessage function. - - - - - - Retrieves the message corresponding with a Win32 message identifier. - - Message identifier for the requested message. - - The message corresponding with the specified message identifier. - - - - The message will be searched for in system message-table resource(s) - using the native FormatMessage function. - - - - - - Return error information string - - error information string - - - Return error information string - - - - - - Formats a message string. - - Formatting options, and how to interpret the parameter. - Location of the message definition. - Message identifier for the requested message. - Language identifier for the requested message. - If includes FORMAT_MESSAGE_ALLOCATE_BUFFER, the function allocates a buffer using the LocalAlloc function, and places the pointer to the buffer at the address specified in . - If the FORMAT_MESSAGE_ALLOCATE_BUFFER flag is not set, this parameter specifies the maximum number of TCHARs that can be stored in the output buffer. If FORMAT_MESSAGE_ALLOCATE_BUFFER is set, this parameter specifies the minimum number of TCHARs to allocate for an output buffer. - Pointer to an array of values that are used as insert values in the formatted message. - - - The function requires a message definition as input. The message definition can come from a - buffer passed into the function. It can come from a message table resource in an - already-loaded module. Or the caller can ask the function to search the system's message - table resource(s) for the message definition. The function finds the message definition - in a message table resource based on a message identifier and a language identifier. - The function copies the formatted message text to an output buffer, processing any embedded - insert sequences if requested. - - - To prevent the usage of unsafe code, this stub does not support inserting values in the formatted message. - - - - - If the function succeeds, the return value is the number of TCHARs stored in the output - buffer, excluding the terminating null character. - - - If the function fails, the return value is zero. To get extended error information, - call . - - - - - - Gets the number of the native error. - - - The number of the native error. - - - - Gets the number of the native error. - - - - - - Gets the message of the native error. - - - The message of the native error. - - - - - Gets the message of the native error. - - - - - An always empty . - - - - A singleton implementation of the over a collection - that is empty and not modifiable. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Uses a private access modifier to enforce the singleton pattern. - - - - - - Test if the enumerator can advance, if so advance. - - false as the cannot advance. - - - As the enumerator is over an empty collection its - value cannot be moved over a valid position, therefore - will always return false. - - - - - - Resets the enumerator back to the start. - - - - As the enumerator is over an empty collection does nothing. - - - - - - The singleton instance of the . - - - - - Gets the singleton instance of the . - - The singleton instance of the . - - - Gets the singleton instance of the . - - - - - - Gets the current object from the enumerator. - - - Throws an because the - never has a current value. - - - - As the enumerator is over an empty collection its - value cannot be moved over a valid position, therefore - will throw an . - - - The collection is empty and - cannot be positioned over a valid location. - - - - Gets the current key from the enumerator. - - - Throws an exception because the - never has a current value. - - - - As the enumerator is over an empty collection its - value cannot be moved over a valid position, therefore - will throw an . - - - The collection is empty and - cannot be positioned over a valid location. - - - - Gets the current value from the enumerator. - - The current value from the enumerator. - - Throws an because the - never has a current value. - - - - As the enumerator is over an empty collection its - value cannot be moved over a valid position, therefore - will throw an . - - - The collection is empty and - cannot be positioned over a valid location. - - - - Gets the current entry from the enumerator. - - - Throws an because the - never has a current entry. - - - - As the enumerator is over an empty collection its - value cannot be moved over a valid position, therefore - will throw an . - - - The collection is empty and - cannot be positioned over a valid location. - - - - An always empty . - - - - A singleton implementation of the over a collection - that is empty and not modifiable. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Uses a private access modifier to enforce the singleton pattern. - - - - - - Test if the enumerator can advance, if so advance - - false as the cannot advance. - - - As the enumerator is over an empty collection its - value cannot be moved over a valid position, therefore - will always return false. - - - - - - Resets the enumerator back to the start. - - - - As the enumerator is over an empty collection does nothing. - - - - - - The singleton instance of the . - - - - - Get the singleton instance of the . - - The singleton instance of the . - - - Gets the singleton instance of the . - - - - - - Gets the current object from the enumerator. - - - Throws an because the - never has a current value. - - - - As the enumerator is over an empty collection its - value cannot be moved over a valid position, therefore - will throw an . - - - The collection is empty and - cannot be positioned over a valid location. - - - - A SecurityContext used when a SecurityContext is not required - - - - The is a no-op implementation of the - base class. It is used where a - is required but one has not been provided. - - - Nicko Cadell - - - - Singleton instance of - - - - Singleton instance of - - - - - - Private constructor - - - - Private constructor for singleton pattern. - - - - - - Impersonate this SecurityContext - - State supplied by the caller - null - - - No impersonation is done and null is always returned. - - - - - - Implements log4net's default error handling policy which consists - of emitting a message for the first error in an appender and - ignoring all subsequent errors. - - - - The error message is printed on the standard error output stream. - - - This policy aims at protecting an otherwise working application - from being flooded with error messages when logging fails. - - - Nicko Cadell - Gert Driesen - - - - Default Constructor - - - - Initializes a new instance of the class. - - - - - - Constructor - - The prefix to use for each message. - - - Initializes a new instance of the class - with the specified prefix. - - - - - - Log an Error - - The error message. - The exception. - The internal error code. - - - Prints the message and the stack trace of the exception on the standard - error output stream. - - - - - - Log an Error - - The error message. - The exception. - - - Prints the message and the stack trace of the exception on the standard - error output stream. - - - - - - Log an error - - The error message. - - - Print a the error message passed as parameter on the standard - error output stream. - - - - - - Flag to indicate if it is the first error - - - - - String to prefix each message with - - - - - Is error logging enabled - - - - Is error logging enabled. Logging is only enabled for the - first error delivered to the . - - - - - - A convenience class to convert property values to specific types. - - - - Utility functions for converting types and parsing values. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Uses a private access modifier to prevent instantiation of this class. - - - - - - Converts a string to a value. - - String to convert. - The default value. - The value of . - - - If is "true", then true is returned. - If is "false", then false is returned. - Otherwise, is returned. - - - - - - Parses a file size into a number. - - String to parse. - The default value. - The value of . - - - Parses a file size of the form: number[KB|MB|GB] into a - long value. It is scaled with the appropriate multiplier. - - - is returned when - cannot be converted to a value. - - - - - - Converts a string to an object. - - The target type to convert to. - The string to convert to an object. - - The object converted from a string or null when the - conversion failed. - - - - Converts a string to an object. Uses the converter registry to try - to convert the string value into the specified target type. - - - - - - Checks if there is an appropriate type conversion from the source type to the target type. - - The type to convert from. - The type to convert to. - true if there is a conversion from the source type to the target type. - - Checks if there is an appropriate type conversion from the source type to the target type. - - - - - - - Converts an object to the target type. - - The object to convert to the target type. - The type to convert to. - The converted object. - - - Converts an object to the target type. - - - - - - Instantiates an object given a class name. - - The fully qualified class name of the object to instantiate. - The class to which the new object should belong. - The object to return in case of non-fulfillment. - - An instance of the or - if the object could not be instantiated. - - - - Checks that the is a subclass of - . If that test fails or the object could - not be instantiated, then is returned. - - - - - - Performs variable substitution in string from the - values of keys found in . - - The string on which variable substitution is performed. - The dictionary to use to lookup variables. - The result of the substitutions. - - - The variable substitution delimiters are ${ and }. - - - For example, if props contains key=value, then the call - - - - string s = OptionConverter.SubstituteVariables("Value of key is ${key}."); - - - - will set the variable s to "Value of key is value.". - - - If no value could be found for the specified key, then substitution - defaults to an empty string. - - - For example, if system properties contains no value for the key - "nonExistentKey", then the call - - - - string s = OptionConverter.SubstituteVariables("Value of nonExistentKey is [${nonExistentKey}]"); - - - - will set s to "Value of nonExistentKey is []". - - - An Exception is thrown if contains a start - delimiter "${" which is not balanced by a stop delimiter "}". - - - - - - Converts the string representation of the name or numeric value of one or - more enumerated constants to an equivalent enumerated object. - - The type to convert to. - The enum string value. - If true, ignore case; otherwise, regard case. - An object of type whose value is represented by . - - - - Most of the work of the class - is delegated to the PatternParser class. - - - - The PatternParser processes a pattern string and - returns a chain of objects. - - - Nicko Cadell - Gert Driesen - - - - Constructor - - The pattern to parse. - - - Initializes a new instance of the class - with the specified pattern string. - - - - - - Parses the pattern into a chain of pattern converters. - - The head of a chain of pattern converters. - - - Parses the pattern into a chain of pattern converters. - - - - - - Build the unified cache of converters from the static and instance maps - - the list of all the converter names - - - Build the unified cache of converters from the static and instance maps - - - - - - Internal method to parse the specified pattern to find specified matches - - the pattern to parse - the converter names to match in the pattern - - - The matches param must be sorted such that longer strings come before shorter ones. - - - - - - Process a parsed literal - - the literal text - - - - Process a parsed converter pattern - - the name of the converter - the optional option for the converter - the formatting info for the converter - - - - Resets the internal state of the parser and adds the specified pattern converter - to the chain. - - The pattern converter to add. - - - - The first pattern converter in the chain - - - - - the last pattern converter in the chain - - - - - The pattern - - - - - Internal map of converter identifiers to converter types - - - - This map overrides the static s_globalRulesRegistry map. - - - - - - Get the converter registry used by this parser - - - The converter registry used by this parser - - - - Get the converter registry used by this parser - - - - - - Sort strings by length - - - - that orders strings by string length. - The longest strings are placed first - - - - - - This class implements a patterned string. - - - - This string has embedded patterns that are resolved and expanded - when the string is formatted. - - - This class functions similarly to the - in that it accepts a pattern and renders it to a string. Unlike the - however the PatternString - does not render the properties of a specific but - of the process in general. - - - The recognized conversion pattern names are: - - - - Conversion Pattern Name - Effect - - - appdomain - - - Used to output the friendly name of the current AppDomain. - - - - - date - - - Used to output the date of the logging event in the local time zone. - To output the date in universal time use the %utcdate pattern. - The date conversion - specifier may be followed by a date format specifier enclosed - between braces. For example, %date{HH:mm:ss,fff} or - %date{dd MMM yyyy HH:mm:ss,fff}. If no date format specifier is - given then ISO8601 format is - assumed (). - - - The date format specifier admits the same syntax as the - time pattern string of the . - - - For better results it is recommended to use the log4net date - formatters. These can be specified using one of the strings - "ABSOLUTE", "DATE" and "ISO8601" for specifying - , - and respectively - . For example, - %date{ISO8601} or %date{ABSOLUTE}. - - - These dedicated date formatters perform significantly - better than . - - - - - env - - - Used to output the a specific environment variable. The key to - lookup must be specified within braces and directly following the - pattern specifier, e.g. %env{COMPUTERNAME} would include the value - of the COMPUTERNAME environment variable. - - - The env pattern is not supported on the .NET Compact Framework. - - - - - identity - - - Used to output the user name for the currently active user - (Principal.Identity.Name). - - - - - newline - - - Outputs the platform dependent line separator character or - characters. - - - This conversion pattern name offers the same performance as using - non-portable line separator strings such as "\n", or "\r\n". - Thus, it is the preferred way of specifying a line separator. - - - - - processid - - - Used to output the system process ID for the current process. - - - - - property - - - Used to output a specific context property. The key to - lookup must be specified within braces and directly following the - pattern specifier, e.g. %property{user} would include the value - from the property that is keyed by the string 'user'. Each property value - that is to be included in the log must be specified separately. - Properties are stored in logging contexts. By default - the log4net:HostName property is set to the name of machine on - which the event was originally logged. - - - If no key is specified, e.g. %property then all the keys and their - values are printed in a comma separated list. - - - The properties of an event are combined from a number of different - contexts. These are listed below in the order in which they are searched. - - - - the thread properties - - The that are set on the current - thread. These properties are shared by all events logged on this thread. - - - - the global properties - - The that are set globally. These - properties are shared by all the threads in the AppDomain. - - - - - - - random - - - Used to output a random string of characters. The string is made up of - uppercase letters and numbers. By default the string is 4 characters long. - The length of the string can be specified within braces directly following the - pattern specifier, e.g. %random{8} would output an 8 character string. - - - - - username - - - Used to output the WindowsIdentity for the currently - active user. - - - - - utcdate - - - Used to output the date of the logging event in universal time. - The date conversion - specifier may be followed by a date format specifier enclosed - between braces. For example, %utcdate{HH:mm:ss,fff} or - %utcdate{dd MMM yyyy HH:mm:ss,fff}. If no date format specifier is - given then ISO8601 format is - assumed (). - - - The date format specifier admits the same syntax as the - time pattern string of the . - - - For better results it is recommended to use the log4net date - formatters. These can be specified using one of the strings - "ABSOLUTE", "DATE" and "ISO8601" for specifying - , - and respectively - . For example, - %utcdate{ISO8601} or %utcdate{ABSOLUTE}. - - - These dedicated date formatters perform significantly - better than . - - - - - % - - - The sequence %% outputs a single percent sign. - - - - - - Additional pattern converters may be registered with a specific - instance using or - . - - - See the for details on the - format modifiers supported by the patterns. - - - Nicko Cadell - - - - Internal map of converter identifiers to converter types. - - - - - the pattern - - - - - the head of the pattern converter chain - - - - - patterns defined on this PatternString only - - - - - Initialize the global registry - - - - - Default constructor - - - - Initialize a new instance of - - - - - - Constructs a PatternString - - The pattern to use with this PatternString - - - Initialize a new instance of with the pattern specified. - - - - - - Initialize object options - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Create the used to parse the pattern - - the pattern to parse - The - - - Returns PatternParser used to parse the conversion string. Subclasses - may override this to return a subclass of PatternParser which recognize - custom conversion pattern name. - - - - - - Produces a formatted string as specified by the conversion pattern. - - The TextWriter to write the formatted event to - - - Format the pattern to the . - - - - - - Format the pattern as a string - - the pattern formatted as a string - - - Format the pattern to a string. - - - - - - Add a converter to this PatternString - - the converter info - - - This version of the method is used by the configurator. - Programmatic users should use the alternative method. - - - - - - Add a converter to this PatternString - - the name of the conversion pattern for this converter - the type of the converter - - - Add a converter to this PatternString - - - - - - Gets or sets the pattern formatting string - - - The pattern formatting string - - - - The ConversionPattern option. This is the string which - controls formatting and consists of a mix of literal content and - conversion specifiers. - - - - - - Wrapper class used to map converter names to converter types - - - - Wrapper class used to map converter names to converter types - - - - - - default constructor - - - - - Gets or sets the name of the conversion pattern - - - The name of the conversion pattern - - - - Gets or sets the name of the conversion pattern - - - - - - Gets or sets the type of the converter - - - The type of the converter - - - - Gets or sets the type of the converter - - - - - - String keyed object map. - - - - While this collection is serializable only member - objects that are serializable will - be serialized along with this collection. - - - Nicko Cadell - Gert Driesen - - - - String keyed object map that is read only. - - - - This collection is readonly and cannot be modified. - - - While this collection is serializable only member - objects that are serializable will - be serialized along with this collection. - - - Nicko Cadell - Gert Driesen - - - - The Hashtable used to store the properties data - - - - - Constructor - - - - Initializes a new instance of the class. - - - - - - Copy Constructor - - properties to copy - - - Initializes a new instance of the class. - - - - - - Deserialization constructor - - The that holds the serialized object data. - The that contains contextual information about the source or destination. - - - Initializes a new instance of the class - with serialized data. - - - - - - Gets the key names. - - An array of all the keys. - - - Gets the key names. - - - - - - Test if the dictionary contains a specified key - - the key to look for - true if the dictionary contains the specified key - - - Test if the dictionary contains a specified key - - - - - - Serializes this object into the provided. - - The to populate with data. - The destination for this serialization. - - - Serializes this object into the provided. - - - - - - See - - - - - See - - - - - - See - - - - - - - Remove all properties from the properties collection - - - - - See - - - - - - - See - - - - - - - See - - - - - Gets or sets the value of the property with the specified key. - - - The value of the property with the specified key. - - The key of the property to get or set. - - - The property value will only be serialized if it is serializable. - If it cannot be serialized it will be silently ignored if - a serialization operation is performed. - - - - - - The hashtable used to store the properties - - - The internal collection used to store the properties - - - - The hashtable used to store the properties - - - - - - See - - - - - See - - - - - See - - - - - See - - - - - See - - - - - See - - - - - The number of properties in this collection - - - - - See - - - - - Constructor - - - - Initializes a new instance of the class. - - - - - - Constructor - - properties to copy - - - Initializes a new instance of the class. - - - - - - Initializes a new instance of the class - with serialized data. - - The that holds the serialized object data. - The that contains contextual information about the source or destination. - - - Because this class is sealed the serialization constructor is private. - - - - - - Remove the entry with the specified key from this dictionary - - the key for the entry to remove - - - Remove the entry with the specified key from this dictionary - - - - - - See - - an enumerator - - - Returns a over the contest of this collection. - - - - - - See - - the key to remove - - - Remove the entry with the specified key from this dictionary - - - - - - See - - the key to lookup in the collection - true if the collection contains the specified key - - - Test if this collection contains a specified key. - - - - - - Remove all properties from the properties collection - - - - Remove all properties from the properties collection - - - - - - See - - the key - the value to store for the key - - - Store a value for the specified . - - - Thrown if the is not a string - - - - See - - - - - - - See - - - - - Gets or sets the value of the property with the specified key. - - - The value of the property with the specified key. - - The key of the property to get or set. - - - The property value will only be serialized if it is serializable. - If it cannot be serialized it will be silently ignored if - a serialization operation is performed. - - - - - - See - - - false - - - - This collection is modifiable. This property always - returns false. - - - - - - See - - - The value for the key specified. - - - - Get or set a value for the specified . - - - Thrown if the is not a string - - - - See - - - - - See - - - - - See - - - - - See - - - - - See - - - - - A that ignores the message - - - - This writer is used in special cases where it is necessary - to protect a writer from being closed by a client. - - - Nicko Cadell - - - - Constructor - - the writer to actually write to - - - Create a new ProtectCloseTextWriter using a writer - - - - - - Attach this instance to a different underlying - - the writer to attach to - - - Attach this instance to a different underlying - - - - - - Does not close the underlying output writer. - - - - Does not close the underlying output writer. - This method does nothing. - - - - - - Defines a lock that supports single writers and multiple readers - - - - ReaderWriterLock is used to synchronize access to a resource. - At any given time, it allows either concurrent read access for - multiple threads, or write access for a single thread. In a - situation where a resource is changed infrequently, a - ReaderWriterLock provides better throughput than a simple - one-at-a-time lock, such as . - - - If a platform does not support a System.Threading.ReaderWriterLock - implementation then all readers and writers are serialized. Therefore - the caller must not rely on multiple simultaneous readers. - - - Nicko Cadell - - - - Constructor - - - - Initializes a new instance of the class. - - - - - - Acquires a reader lock - - - - blocks if a different thread has the writer - lock, or if at least one thread is waiting for the writer lock. - - - - - - Decrements the lock count - - - - decrements the lock count. When the count - reaches zero, the lock is released. - - - - - - Acquires the writer lock - - - - This method blocks if another thread has a reader lock or writer lock. - - - - - - Decrements the lock count on the writer lock - - - - ReleaseWriterLock decrements the writer lock count. - When the count reaches zero, the writer lock is released. - - - - - - A that can be and reused - - - - A that can be and reused. - This uses a single buffer for string operations. - - - Nicko Cadell - - - - Create an instance of - - the format provider to use - - - Create an instance of - - - - - - Override Dispose to prevent closing of writer - - flag - - - Override Dispose to prevent closing of writer - - - - - - Reset this string writer so that it can be reused. - - the maximum buffer capacity before it is trimmed - the default size to make the buffer - - - Reset this string writer so that it can be reused. - The internal buffers are cleared and reset. - - - - - - Utility class for system specific information. - - - - Utility class of static methods for system specific information. - - - Nicko Cadell - Gert Driesen - Alexey Solofnenko - - - - Private constructor to prevent instances. - - - - Only static methods are exposed from this type. - - - - - - Initialize default values for private static fields. - - - - Only static methods are exposed from this type. - - - - - - Gets the assembly location path for the specified assembly. - - The assembly to get the location for. - The location of the assembly. - - - This method does not guarantee to return the correct path - to the assembly. If only tries to give an indication as to - where the assembly was loaded from. - - - - - - Gets the fully qualified name of the , including - the name of the assembly from which the was - loaded. - - The to get the fully qualified name for. - The fully qualified name for the . - - - This is equivalent to the Type.AssemblyQualifiedName property, - but this method works on the .NET Compact Framework 1.0 as well as - the full .NET runtime. - - - - - - Gets the short name of the . - - The to get the name for. - The short name of the . - - - The short name of the assembly is the - without the version, culture, or public key. i.e. it is just the - assembly's file name without the extension. - - - Use this rather than Assembly.GetName().Name because that - is not available on the Compact Framework. - - - Because of a FileIOPermission security demand we cannot do - the obvious Assembly.GetName().Name. We are allowed to get - the of the assembly so we - start from there and strip out just the assembly name. - - - - - - Gets the file name portion of the , including the extension. - - The to get the file name for. - The file name of the assembly. - - - Gets the file name portion of the , including the extension. - - - - - - Loads the type specified in the type string. - - A sibling type to use to load the type. - The name of the type to load. - Flag set to true to throw an exception if the type cannot be loaded. - true to ignore the case of the type name; otherwise, false - The type loaded or null if it could not be loaded. - - - If the type name is fully qualified, i.e. if contains an assembly name in - the type name, the type will be loaded from the system using - . - - - If the type name is not fully qualified, it will be loaded from the assembly - containing the specified relative type. If the type is not found in the assembly - then all the loaded assemblies will be searched for the type. - - - - - - Loads the type specified in the type string. - - The name of the type to load. - Flag set to true to throw an exception if the type cannot be loaded. - true to ignore the case of the type name; otherwise, false - The type loaded or null if it could not be loaded. - - - If the type name is fully qualified, i.e. if contains an assembly name in - the type name, the type will be loaded from the system using - . - - - If the type name is not fully qualified it will be loaded from the - assembly that is directly calling this method. If the type is not found - in the assembly then all the loaded assemblies will be searched for the type. - - - - - - Loads the type specified in the type string. - - An assembly to load the type from. - The name of the type to load. - Flag set to true to throw an exception if the type cannot be loaded. - true to ignore the case of the type name; otherwise, false - The type loaded or null if it could not be loaded. - - - If the type name is fully qualified, i.e. if contains an assembly name in - the type name, the type will be loaded from the system using - . - - - If the type name is not fully qualified it will be loaded from the specified - assembly. If the type is not found in the assembly then all the loaded assemblies - will be searched for the type. - - - - - - Generate a new guid - - A new Guid - - - Generate a new guid - - - - - - Create an - - The name of the parameter that caused the exception - The value of the argument that causes this exception - The message that describes the error - the ArgumentOutOfRangeException object - - - Create a new instance of the class - with a specified error message, the parameter name, and the value - of the argument. - - - The Compact Framework does not support the 3 parameter constructor for the - type. This method provides an - implementation that works for all platforms. - - - - - - Parse a string into an value - - the string to parse - out param where the parsed value is placed - true if the string was able to be parsed into an integer - - - Attempts to parse the string into an integer. If the string cannot - be parsed then this method returns false. The method does not throw an exception. - - - - - - Parse a string into an value - - the string to parse - out param where the parsed value is placed - true if the string was able to be parsed into an integer - - - Attempts to parse the string into an integer. If the string cannot - be parsed then this method returns false. The method does not throw an exception. - - - - - - Lookup an application setting - - the application settings key to lookup - the value for the key, or null - - - Configuration APIs are not supported under the Compact Framework - - - - - - Convert a path into a fully qualified local file path. - - The path to convert. - The fully qualified path. - - - Converts the path specified to a fully - qualified path. If the path is relative it is - taken as relative from the application base - directory. - - - The path specified must be a local file path, a URI is not supported. - - - - - - Creates a new case-insensitive instance of the class with the default initial capacity. - - A new case-insensitive instance of the class with the default initial capacity - - - The new Hashtable instance uses the default load factor, the CaseInsensitiveHashCodeProvider, and the CaseInsensitiveComparer. - - - - - - Gets an empty array of types. - - - - The Type.EmptyTypes field is not available on - the .NET Compact Framework 1.0. - - - - - - Cache the host name for the current machine - - - - - Cache the application friendly name - - - - - Text to output when a null is encountered. - - - - - Text to output when an unsupported feature is requested. - - - - - Start time for the current process. - - - - - Gets the system dependent line terminator. - - - The system dependent line terminator. - - - - Gets the system dependent line terminator. - - - - - - Gets the base directory for this . - - The base directory path for the current . - - - Gets the base directory for this . - - - The value returned may be either a local file path or a URI. - - - - - - Gets the path to the configuration file for the current . - - The path to the configuration file for the current . - - - The .NET Compact Framework 1.0 does not have a concept of a configuration - file. For this runtime, we use the entry assembly location as the root for - the configuration file name. - - - The value returned may be either a local file path or a URI. - - - - - - Gets the path to the file that first executed in the current . - - The path to the entry assembly. - - - Gets the path to the file that first executed in the current . - - - - - - Gets the ID of the current thread. - - The ID of the current thread. - - - On the .NET framework, the AppDomain.GetCurrentThreadId method - is used to obtain the thread ID for the current thread. This is the - operating system ID for the thread. - - - On the .NET Compact Framework 1.0 it is not possible to get the - operating system thread ID for the current thread. The native method - GetCurrentThreadId is implemented inline in a header file - and cannot be called. - - - On the .NET Framework 2.0 the Thread.ManagedThreadId is used as this - gives a stable id unrelated to the operating system thread ID which may - change if the runtime is using fibers. - - - - - - Get the host name or machine name for the current machine - - - The hostname or machine name - - - - Get the host name or machine name for the current machine - - - The host name () or - the machine name (Environment.MachineName) for - the current machine, or if neither of these are available - then NOT AVAILABLE is returned. - - - - - - Get this application's friendly name - - - The friendly name of this application as a string - - - - If available the name of the application is retrieved from - the AppDomain using AppDomain.CurrentDomain.FriendlyName. - - - Otherwise the file name of the entry assembly is used. - - - - - - Get the start time for the current process. - - - - This is the time at which the log4net library was loaded into the - AppDomain. Due to reports of a hang in the call to System.Diagnostics.Process.StartTime - this is not the start time for the current process. - - - The log4net library should be loaded by an application early during its - startup, therefore this start time should be a good approximation for - the actual start time. - - - Note that AppDomains may be loaded and unloaded within the - same process without the process terminating, however this start time - will be set per AppDomain. - - - - - - Text to output when a null is encountered. - - - - Use this value to indicate a null has been encountered while - outputting a string representation of an item. - - - The default value is (null). This value can be overridden by specifying - a value for the log4net.NullText appSetting in the application's - .config file. - - - - - - Text to output when an unsupported feature is requested. - - - - Use this value when an unsupported feature is requested. - - - The default value is NOT AVAILABLE. This value can be overridden by specifying - a value for the log4net.NotAvailableText appSetting in the application's - .config file. - - - - - - Utility class that represents a format string. - - - - Utility class that represents a format string. - - - Nicko Cadell - - - - Initialise the - - An that supplies culture-specific formatting information. - A containing zero or more format items. - An array containing zero or more objects to format. - - - - Format the string and arguments - - the formatted string - - - - Replaces the format item in a specified with the text equivalent - of the value of a corresponding instance in a specified array. - A specified parameter supplies culture-specific formatting information. - - An that supplies culture-specific formatting information. - A containing zero or more format items. - An array containing zero or more objects to format. - - A copy of format in which the format items have been replaced by the - equivalent of the corresponding instances of in args. - - - - This method does not throw exceptions. If an exception thrown while formatting the result the - exception and arguments are returned in the result string. - - - - - - Process an error during StringFormat - - - - - Dump the contents of an array into a string builder - - - - - Dump an object to a string - - - - - Implementation of Properties collection for the - - - - Class implements a collection of properties that is specific to each thread. - The class is not synchronized as each thread has its own . - - - Nicko Cadell - - - - The thread local data slot to use to store a PropertiesDictionary. - - - - - Internal constructor - - - - Initializes a new instance of the class. - - - - - - Remove a property - - the key for the entry to remove - - - Remove a property - - - - - - Clear all properties - - - - Clear all properties - - - - - - Get the PropertiesDictionary for this thread. - - create the dictionary if it does not exist, otherwise return null if is does not exist - the properties for this thread - - - The collection returned is only to be used on the calling thread. If the - caller needs to share the collection between different threads then the - caller must clone the collection before doing so. - - - - - - Gets or sets the value of a property - - - The value for the property with the specified key - - - - Gets or sets the value of a property - - - - - - Implementation of Stack for the - - - - Implementation of Stack for the - - - Nicko Cadell - - - - The stack store. - - - - - Internal constructor - - - - Initializes a new instance of the class. - - - - - - Clears all the contextual information held in this stack. - - - - Clears all the contextual information held in this stack. - Only call this if you think that this tread is being reused after - a previous call execution which may not have completed correctly. - You do not need to use this method if you always guarantee to call - the method of the - returned from even in exceptional circumstances, - for example by using the using(log4net.ThreadContext.Stacks["NDC"].Push("Stack_Message")) - syntax. - - - - - - Removes the top context from this stack. - - The message in the context that was removed from the top of this stack. - - - Remove the top context from this stack, and return - it to the caller. If this stack is empty then an - empty string (not ) is returned. - - - - - - Pushes a new context message into this stack. - - The new context message. - - An that can be used to clean up the context stack. - - - - Pushes a new context onto this stack. An - is returned that can be used to clean up this stack. This - can be easily combined with the using keyword to scope the - context. - - - Simple example of using the Push method with the using keyword. - - using(log4net.ThreadContext.Stacks["NDC"].Push("Stack_Message")) - { - log.Warn("This should have an ThreadContext Stack message"); - } - - - - - - Gets the current context information for this stack. - - The current context information. - - - - Gets the current context information for this stack. - - Gets the current context information - - - Gets the current context information for this stack. - - - - - - Get a portable version of this object - - the portable instance of this object - - - Get a cross thread portable version of this object - - - - - - The number of messages in the stack - - - The current number of messages in the stack - - - - The current number of messages in the stack. That is - the number of times has been called - minus the number of times has been called. - - - - - - Gets and sets the internal stack used by this - - The internal storage stack - - - This property is provided only to support backward compatability - of the . Tytpically the internal stack should not - be modified. - - - - - - Inner class used to represent a single context frame in the stack. - - - - Inner class used to represent a single context frame in the stack. - - - - - - Constructor - - The message for this context. - The parent context in the chain. - - - Initializes a new instance of the class - with the specified message and parent context. - - - - - - Get the message. - - The message. - - - Get the message. - - - - - - Gets the full text of the context down to the root level. - - - The full text of the context down to the root level. - - - - Gets the full text of the context down to the root level. - - - - - - Struct returned from the method. - - - - This struct implements the and is designed to be used - with the pattern to remove the stack frame at the end of the scope. - - - - - - The ThreadContextStack internal stack - - - - - The depth to trim the stack to when this instance is disposed - - - - - Constructor - - The internal stack used by the ThreadContextStack. - The depth to return the stack to when this object is disposed. - - - Initializes a new instance of the class with - the specified stack and return depth. - - - - - - Returns the stack to the correct depth. - - - - Returns the stack to the correct depth. - - - - - - Implementation of Stacks collection for the - - - - Implementation of Stacks collection for the - - - Nicko Cadell - - - - Internal constructor - - - - Initializes a new instance of the class. - - - - - - Gets the named thread context stack - - - The named stack - - - - Gets the named thread context stack - - - - - - Utility class for transforming strings. - - - - Utility class for transforming strings. - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Uses a private access modifier to prevent instantiation of this class. - - - - - - Write a string to an - - the writer to write to - the string to write - The string to replace non XML compliant chars with - - - The test is escaped either using XML escape entities - or using CDATA sections. - - - - - - Replace invalid XML characters in text string - - the XML text input string - the string to use in place of invalid characters - A string that does not contain invalid XML characters. - - - Certain Unicode code points are not allowed in the XML InfoSet, for - details see: http://www.w3.org/TR/REC-xml/#charsets. - - - This method replaces any illegal characters in the input string - with the mask string specified. - - - - - - Count the number of times that the substring occurs in the text - - the text to search - the substring to find - the number of times the substring occurs in the text - - - The substring is assumed to be non repeating within itself. - - - - - - Impersonate a Windows Account - - - - This impersonates a Windows account. - - - How the impersonation is done depends on the value of . - This allows the context to either impersonate a set of user credentials specified - using username, domain name and password or to revert to the process credentials. - - - - - - Default constructor - - - - Default constructor - - - - - - Initialize the SecurityContext based on the options set. - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - The security context will try to Logon the specified user account and - capture a primary token for impersonation. - - - The required , - or properties were not specified. - - - - Impersonate the Windows account specified by the and properties. - - caller provided state - - An instance that will revoke the impersonation of this SecurityContext - - - - Depending on the property either - impersonate a user using credentials supplied or revert - to the process credentials. - - - - - - Create a given the userName, domainName and password. - - the user name - the domain name - the password - the for the account specified - - - Uses the Windows API call LogonUser to get a principal token for the account. This - token is used to initialize the WindowsIdentity. - - - - - - Gets or sets the impersonation mode for this security context - - - The impersonation mode for this security context - - - - Impersonate either a user with user credentials or - revert this thread to the credentials of the process. - The value is one of the - enum. - - - The default value is - - - When the mode is set to - the user's credentials are established using the - , and - values. - - - When the mode is set to - no other properties need to be set. If the calling thread is - impersonating then it will be reverted back to the process credentials. - - - - - - Gets or sets the Windows username for this security context - - - The Windows username for this security context - - - - This property must be set if - is set to (the default setting). - - - - - - Gets or sets the Windows domain name for this security context - - - The Windows domain name for this security context - - - - The default value for is the local machine name - taken from the property. - - - This property must be set if - is set to (the default setting). - - - - - - Sets the password for the Windows account specified by the and properties. - - - The password for the Windows account specified by the and properties. - - - - This property must be set if - is set to (the default setting). - - - - - - The impersonation modes for the - - - - See the property for - details. - - - - - - Impersonate a user using the credentials supplied - - - - - Revert this the thread to the credentials of the process - - - - - Adds to - - - - Helper class to expose the - through the interface. - - - - - - Constructor - - the impersonation context being wrapped - - - Constructor - - - - - - Revert the impersonation - - - - Revert the impersonation - - - - - - The log4net Global Context. - - - - The GlobalContext provides a location for global debugging - information to be stored. - - - The global context has a properties map and these properties can - be included in the output of log messages. The - supports selecting and outputing these properties. - - - By default the log4net:HostName property is set to the name of - the current machine. - - - - - GlobalContext.Properties["hostname"] = Environment.MachineName; - - - - Nicko Cadell - - - - Private Constructor. - - - Uses a private access modifier to prevent instantiation of this class. - - - - - The global context properties instance - - - - - The global properties map. - - - The global properties map. - - - - The global properties map. - - - - - - The log4net Logical Thread Context. - - - - The LogicalThreadContext provides a location for specific debugging - information to be stored. - The LogicalThreadContext properties override any or - properties with the same name. - - - The Logical Thread Context has a properties map and a stack. - The properties and stack can - be included in the output of log messages. The - supports selecting and outputting these properties. - - - The Logical Thread Context provides a diagnostic context for the current call context. - This is an instrument for distinguishing interleaved log - output from different sources. Log output is typically interleaved - when a server handles multiple clients near-simultaneously. - - - The Logical Thread Context is managed on a per basis. - - - Example of using the thread context properties to store a username. - - LogicalThreadContext.Properties["user"] = userName; - log.Info("This log message has a LogicalThreadContext Property called 'user'"); - - - Example of how to push a message into the context stack - - using(LogicalThreadContext.Stacks["LDC"].Push("my context message")) - { - log.Info("This log message has a LogicalThreadContext Stack message that includes 'my context message'"); - - } // at the end of the using block the message is automatically popped - - - - Nicko Cadell - - - - Private Constructor. - - - - Uses a private access modifier to prevent instantiation of this class. - - - - - - The thread context properties instance - - - - - The thread context stacks instance - - - - - The thread properties map - - - The thread properties map - - - - The LogicalThreadContext properties override any - or properties with the same name. - - - - - - The thread stacks - - - stack map - - - - The logical thread stacks. - - - - - - This class is used by client applications to request logger instances. - - - - This class has static methods that are used by a client to request - a logger instance. The method is - used to retrieve a logger. - - - See the interface for more details. - - - Simple example of logging messages - - ILog log = LogManager.GetLogger("application-log"); - - log.Info("Application Start"); - log.Debug("This is a debug message"); - - if (log.IsDebugEnabled) - { - log.Debug("This is another debug message"); - } - - - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - Uses a private access modifier to prevent instantiation of this class. - - - - Returns the named logger if it exists. - - Returns the named logger if it exists. - - - - If the named logger exists (in the default repository) then it - returns a reference to the logger, otherwise it returns null. - - - The fully qualified logger name to look for. - The logger found, or null if no logger could be found. - - - - Returns the named logger if it exists. - - - - If the named logger exists (in the specified repository) then it - returns a reference to the logger, otherwise it returns - null. - - - The repository to lookup in. - The fully qualified logger name to look for. - - The logger found, or null if the logger doesn't exist in the specified - repository. - - - - - Returns the named logger if it exists. - - - - If the named logger exists (in the repository for the specified assembly) then it - returns a reference to the logger, otherwise it returns - null. - - - The assembly to use to lookup the repository. - The fully qualified logger name to look for. - - The logger, or null if the logger doesn't exist in the specified - assembly's repository. - - - - Get the currently defined loggers. - - Returns all the currently defined loggers in the default repository. - - - The root logger is not included in the returned array. - - All the defined loggers. - - - - Returns all the currently defined loggers in the specified repository. - - The repository to lookup in. - - The root logger is not included in the returned array. - - All the defined loggers. - - - - Returns all the currently defined loggers in the specified assembly's repository. - - The assembly to use to lookup the repository. - - The root logger is not included in the returned array. - - All the defined loggers. - - - Get or create a logger. - - Retrieves or creates a named logger. - - - - Retrieves a logger named as the - parameter. If the named logger already exists, then the - existing instance will be returned. Otherwise, a new instance is - created. - - By default, loggers do not have a set level but inherit - it from the hierarchy. This is one of the central features of - log4net. - - - The name of the logger to retrieve. - The logger with the name specified. - - - - Retrieves or creates a named logger. - - - - Retrieve a logger named as the - parameter. If the named logger already exists, then the - existing instance will be returned. Otherwise, a new instance is - created. - - - By default, loggers do not have a set level but inherit - it from the hierarchy. This is one of the central features of - log4net. - - - The repository to lookup in. - The name of the logger to retrieve. - The logger with the name specified. - - - - Retrieves or creates a named logger. - - - - Retrieve a logger named as the - parameter. If the named logger already exists, then the - existing instance will be returned. Otherwise, a new instance is - created. - - - By default, loggers do not have a set level but inherit - it from the hierarchy. This is one of the central features of - log4net. - - - The assembly to use to lookup the repository. - The name of the logger to retrieve. - The logger with the name specified. - - - - Shorthand for . - - - Get the logger for the fully qualified name of the type specified. - - The full name of will be used as the name of the logger to retrieve. - The logger with the name specified. - - - - Shorthand for . - - - Gets the logger for the fully qualified name of the type specified. - - The repository to lookup in. - The full name of will be used as the name of the logger to retrieve. - The logger with the name specified. - - - - Shorthand for . - - - Gets the logger for the fully qualified name of the type specified. - - The assembly to use to lookup the repository. - The full name of will be used as the name of the logger to retrieve. - The logger with the name specified. - - - - Shuts down the log4net system. - - - - Calling this method will safely close and remove all - appenders in all the loggers including root contained in all the - default repositories. - - - Some appenders need to be closed before the application exists. - Otherwise, pending logging events might be lost. - - The shutdown method is careful to close nested - appenders before closing regular appenders. This is allows - configurations where a regular appender is attached to a logger - and again to a nested appender. - - - - - Shutdown a logger repository. - - Shuts down the default repository. - - - - Calling this method will safely close and remove all - appenders in all the loggers including root contained in the - default repository. - - Some appenders need to be closed before the application exists. - Otherwise, pending logging events might be lost. - - The shutdown method is careful to close nested - appenders before closing regular appenders. This is allows - configurations where a regular appender is attached to a logger - and again to a nested appender. - - - - - - Shuts down the repository for the repository specified. - - - - Calling this method will safely close and remove all - appenders in all the loggers including root contained in the - specified. - - - Some appenders need to be closed before the application exists. - Otherwise, pending logging events might be lost. - - The shutdown method is careful to close nested - appenders before closing regular appenders. This is allows - configurations where a regular appender is attached to a logger - and again to a nested appender. - - - The repository to shutdown. - - - - Shuts down the repository specified. - - - - Calling this method will safely close and remove all - appenders in all the loggers including root contained in the - repository. The repository is looked up using - the specified. - - - Some appenders need to be closed before the application exists. - Otherwise, pending logging events might be lost. - - - The shutdown method is careful to close nested - appenders before closing regular appenders. This is allows - configurations where a regular appender is attached to a logger - and again to a nested appender. - - - The assembly to use to lookup the repository. - - - Reset the configuration of a repository - - Resets all values contained in this repository instance to their defaults. - - - - Resets all values contained in the repository instance to their - defaults. This removes all appenders from all loggers, sets - the level of all non-root loggers to null, - sets their additivity flag to true and sets the level - of the root logger to . Moreover, - message disabling is set to its default "off" value. - - - - - - Resets all values contained in this repository instance to their defaults. - - - - Reset all values contained in the repository instance to their - defaults. This removes all appenders from all loggers, sets - the level of all non-root loggers to null, - sets their additivity flag to true and sets the level - of the root logger to . Moreover, - message disabling is set to its default "off" value. - - - The repository to reset. - - - - Resets all values contained in this repository instance to their defaults. - - - - Reset all values contained in the repository instance to their - defaults. This removes all appenders from all loggers, sets - the level of all non-root loggers to null, - sets their additivity flag to true and sets the level - of the root logger to . Moreover, - message disabling is set to its default "off" value. - - - The assembly to use to lookup the repository to reset. - - - Get the logger repository. - - Returns the default instance. - - - - Gets the for the repository specified - by the callers assembly (). - - - The instance for the default repository. - - - - Returns the default instance. - - The default instance. - - - Gets the for the repository specified - by the argument. - - - The repository to lookup in. - - - - Returns the default instance. - - The default instance. - - - Gets the for the repository specified - by the argument. - - - The assembly to use to lookup the repository. - - - Get a logger repository. - - Returns the default instance. - - - - Gets the for the repository specified - by the callers assembly (). - - - The instance for the default repository. - - - - Returns the default instance. - - The default instance. - - - Gets the for the repository specified - by the argument. - - - The repository to lookup in. - - - - Returns the default instance. - - The default instance. - - - Gets the for the repository specified - by the argument. - - - The assembly to use to lookup the repository. - - - Create a domain - - Creates a repository with the specified repository type. - - - - CreateDomain is obsolete. Use CreateRepository instead of CreateDomain. - - - The created will be associated with the repository - specified such that a call to will return - the same repository instance. - - - A that implements - and has a no arg constructor. An instance of this type will be created to act - as the for the repository specified. - The created for the repository. - - - Create a logger repository. - - Creates a repository with the specified repository type. - - A that implements - and has a no arg constructor. An instance of this type will be created to act - as the for the repository specified. - The created for the repository. - - - The created will be associated with the repository - specified such that a call to will return - the same repository instance. - - - - - - Creates a repository with the specified name. - - - - CreateDomain is obsolete. Use CreateRepository instead of CreateDomain. - - - Creates the default type of which is a - object. - - - The name must be unique. Repositories cannot be redefined. - An will be thrown if the repository already exists. - - - The name of the repository, this must be unique amongst repositories. - The created for the repository. - The specified repository already exists. - - - - Creates a repository with the specified name. - - - - Creates the default type of which is a - object. - - - The name must be unique. Repositories cannot be redefined. - An will be thrown if the repository already exists. - - - The name of the repository, this must be unique amongst repositories. - The created for the repository. - The specified repository already exists. - - - - Creates a repository with the specified name and repository type. - - - - CreateDomain is obsolete. Use CreateRepository instead of CreateDomain. - - - The name must be unique. Repositories cannot be redefined. - An will be thrown if the repository already exists. - - - The name of the repository, this must be unique to the repository. - A that implements - and has a no arg constructor. An instance of this type will be created to act - as the for the repository specified. - The created for the repository. - The specified repository already exists. - - - - Creates a repository with the specified name and repository type. - - - - The name must be unique. Repositories cannot be redefined. - An will be thrown if the repository already exists. - - - The name of the repository, this must be unique to the repository. - A that implements - and has a no arg constructor. An instance of this type will be created to act - as the for the repository specified. - The created for the repository. - The specified repository already exists. - - - - Creates a repository for the specified assembly and repository type. - - - - CreateDomain is obsolete. Use CreateRepository instead of CreateDomain. - - - The created will be associated with the repository - specified such that a call to with the - same assembly specified will return the same repository instance. - - - The assembly to use to get the name of the repository. - A that implements - and has a no arg constructor. An instance of this type will be created to act - as the for the repository specified. - The created for the repository. - - - - Creates a repository for the specified assembly and repository type. - - - - The created will be associated with the repository - specified such that a call to with the - same assembly specified will return the same repository instance. - - - The assembly to use to get the name of the repository. - A that implements - and has a no arg constructor. An instance of this type will be created to act - as the for the repository specified. - The created for the repository. - - - - Gets the list of currently defined repositories. - - - - Get an array of all the objects that have been created. - - - An array of all the known objects. - - - - Looks up the wrapper object for the logger specified. - - The logger to get the wrapper for. - The wrapper for the logger specified. - - - - Looks up the wrapper objects for the loggers specified. - - The loggers to get the wrappers for. - The wrapper objects for the loggers specified. - - - - Create the objects used by - this manager. - - The logger to wrap. - The wrapper for the logger specified. - - - - The wrapper map to use to hold the objects. - - - - - Implementation of Mapped Diagnostic Contexts. - - - - - The MDC is deprecated and has been replaced by the . - The current MDC implementation forwards to the ThreadContext.Properties. - - - - The MDC class is similar to the class except that it is - based on a map instead of a stack. It provides mapped - diagnostic contexts. A Mapped Diagnostic Context, or - MDC in short, is an instrument for distinguishing interleaved log - output from different sources. Log output is typically interleaved - when a server handles multiple clients near-simultaneously. - - - The MDC is managed on a per thread basis. - - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - Uses a private access modifier to prevent instantiation of this class. - - - - - Gets the context value identified by the parameter. - - The key to lookup in the MDC. - The string value held for the key, or a null reference if no corresponding value is found. - - - - The MDC is deprecated and has been replaced by the . - The current MDC implementation forwards to the ThreadContext.Properties. - - - - If the parameter does not look up to a - previously defined context then null will be returned. - - - - - - Add an entry to the MDC - - The key to store the value under. - The value to store. - - - - The MDC is deprecated and has been replaced by the . - The current MDC implementation forwards to the ThreadContext.Properties. - - - - Puts a context value (the parameter) as identified - with the parameter into the current thread's - context map. - - - If a value is already defined for the - specified then the value will be replaced. If the - is specified as null then the key value mapping will be removed. - - - - - - Removes the key value mapping for the key specified. - - The key to remove. - - - - The MDC is deprecated and has been replaced by the . - The current MDC implementation forwards to the ThreadContext.Properties. - - - - Remove the specified entry from this thread's MDC - - - - - - Clear all entries in the MDC - - - - - The MDC is deprecated and has been replaced by the . - The current MDC implementation forwards to the ThreadContext.Properties. - - - - Remove all the entries from this thread's MDC - - - - - - Implementation of Nested Diagnostic Contexts. - - - - - The NDC is deprecated and has been replaced by the . - The current NDC implementation forwards to the ThreadContext.Stacks["NDC"]. - - - - A Nested Diagnostic Context, or NDC in short, is an instrument - to distinguish interleaved log output from different sources. Log - output is typically interleaved when a server handles multiple - clients near-simultaneously. - - - Interleaved log output can still be meaningful if each log entry - from different contexts had a distinctive stamp. This is where NDCs - come into play. - - - Note that NDCs are managed on a per thread basis. The NDC class - is made up of static methods that operate on the context of the - calling thread. - - - How to push a message into the context - - using(NDC.Push("my context message")) - { - ... all log calls will have 'my context message' included ... - - } // at the end of the using block the message is automatically removed - - - - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - Uses a private access modifier to prevent instantiation of this class. - - - - - Clears all the contextual information held on the current thread. - - - - - The NDC is deprecated and has been replaced by the . - The current NDC implementation forwards to the ThreadContext.Stacks["NDC"]. - - - - Clears the stack of NDC data held on the current thread. - - - - - - Creates a clone of the stack of context information. - - A clone of the context info for this thread. - - - - The NDC is deprecated and has been replaced by the . - The current NDC implementation forwards to the ThreadContext.Stacks["NDC"]. - - - - The results of this method can be passed to the - method to allow child threads to inherit the context of their - parent thread. - - - - - - Inherits the contextual information from another thread. - - The context stack to inherit. - - - - The NDC is deprecated and has been replaced by the . - The current NDC implementation forwards to the ThreadContext.Stacks["NDC"]. - - - - This thread will use the context information from the stack - supplied. This can be used to initialize child threads with - the same contextual information as their parent threads. These - contexts will NOT be shared. Any further contexts that - are pushed onto the stack will not be visible to the other. - Call to obtain a stack to pass to - this method. - - - - - - Removes the top context from the stack. - - - The message in the context that was removed from the top - of the stack. - - - - - The NDC is deprecated and has been replaced by the . - The current NDC implementation forwards to the ThreadContext.Stacks["NDC"]. - - - - Remove the top context from the stack, and return - it to the caller. If the stack is empty then an - empty string (not null) is returned. - - - - - - Pushes a new context message. - - The new context message. - - An that can be used to clean up - the context stack. - - - - - The NDC is deprecated and has been replaced by the . - The current NDC implementation forwards to the ThreadContext.Stacks["NDC"]. - - - - Pushes a new context onto the context stack. An - is returned that can be used to clean up the context stack. This - can be easily combined with the using keyword to scope the - context. - - - Simple example of using the Push method with the using keyword. - - using(log4net.NDC.Push("NDC_Message")) - { - log.Warn("This should have an NDC message"); - } - - - - - - Removes the context information for this thread. It is - not required to call this method. - - - - - The NDC is deprecated and has been replaced by the . - The current NDC implementation forwards to the ThreadContext.Stacks["NDC"]. - - - - This method is not implemented. - - - - - - Forces the stack depth to be at most . - - The maximum depth of the stack - - - - The NDC is deprecated and has been replaced by the . - The current NDC implementation forwards to the ThreadContext.Stacks["NDC"]. - - - - Forces the stack depth to be at most . - This may truncate the head of the stack. This only affects the - stack in the current thread. Also it does not prevent it from - growing, it only sets the maximum depth at the time of the - call. This can be used to return to a known context depth. - - - - - - Gets the current context depth. - - The current context depth. - - - - The NDC is deprecated and has been replaced by the . - The current NDC implementation forwards to the ThreadContext.Stacks["NDC"]. - - - - The number of context values pushed onto the context stack. - - - Used to record the current depth of the context. This can then - be restored using the method. - - - - - - - The log4net Thread Context. - - - - The ThreadContext provides a location for thread specific debugging - information to be stored. - The ThreadContext properties override any - properties with the same name. - - - The thread context has a properties map and a stack. - The properties and stack can - be included in the output of log messages. The - supports selecting and outputting these properties. - - - The Thread Context provides a diagnostic context for the current thread. - This is an instrument for distinguishing interleaved log - output from different sources. Log output is typically interleaved - when a server handles multiple clients near-simultaneously. - - - The Thread Context is managed on a per thread basis. - - - Example of using the thread context properties to store a username. - - ThreadContext.Properties["user"] = userName; - log.Info("This log message has a ThreadContext Property called 'user'"); - - - Example of how to push a message into the context stack - - using(ThreadContext.Stacks["NDC"].Push("my context message")) - { - log.Info("This log message has a ThreadContext Stack message that includes 'my context message'"); - - } // at the end of the using block the message is automatically popped - - - - Nicko Cadell - - - - Private Constructor. - - - - Uses a private access modifier to prevent instantiation of this class. - - - - - - The thread context properties instance - - - - - The thread context stacks instance - - - - - The thread properties map - - - The thread properties map - - - - The ThreadContext properties override any - properties with the same name. - - - - - - The thread stacks - - - stack map - - - - The thread local stacks. - - - - - diff --git a/lib/Symbiote.Lucene/Lucene.Net.dll b/lib/Symbiote.Lucene/Lucene.Net.dll deleted file mode 100644 index 49a7b5e..0000000 Binary files a/lib/Symbiote.Lucene/Lucene.Net.dll and /dev/null differ diff --git a/lib/Symbiote.Lucene/Lucene.Net.pdb b/lib/Symbiote.Lucene/Lucene.Net.pdb deleted file mode 100644 index 70e0271..0000000 Binary files a/lib/Symbiote.Lucene/Lucene.Net.pdb and /dev/null differ diff --git a/lib/Symbiote.Lucene/Microsoft.Practices.ServiceLocation.dll b/lib/Symbiote.Lucene/Microsoft.Practices.ServiceLocation.dll deleted file mode 100644 index 3f88954..0000000 Binary files a/lib/Symbiote.Lucene/Microsoft.Practices.ServiceLocation.dll and /dev/null differ diff --git a/lib/Symbiote.Lucene/Microsoft.Practices.ServiceLocation.xml b/lib/Symbiote.Lucene/Microsoft.Practices.ServiceLocation.xml deleted file mode 100644 index 6c6f2fe..0000000 --- a/lib/Symbiote.Lucene/Microsoft.Practices.ServiceLocation.xml +++ /dev/null @@ -1,280 +0,0 @@ - - - - Microsoft.Practices.ServiceLocation - - - - - The standard exception thrown when a ServiceLocator has an error in resolving an object. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class with a specified error message. - - - The message that describes the error. - - - - - Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. - - - The error message that explains the reason for the exception. - - - The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. - - - - - Initializes a new instance of the class with serialized data. - - - The that holds the serialized object data about the exception being thrown. - - - The that contains contextual information about the source or destination. - - - The parameter is null. - - - The class name is null or is zero (0). - - - - - The generic Service Locator interface. This interface is used - to retrieve services (instances identified by type and optional - name) from a container. - - - - - Get an instance of the given . - - Type of object requested. - if there is an error resolving - the service instance. - The requested service instance. - - - - Get an instance of the given named . - - Type of object requested. - Name the object was registered with. - if there is an error resolving - the service instance. - The requested service instance. - - - - Get all instances of the given currently - registered in the container. - - Type of object requested. - if there is are errors resolving - the service instance. - A sequence of instances of the requested . - - - - Get an instance of the given . - - Type of object requested. - if there is are errors resolving - the service instance. - The requested service instance. - - - - Get an instance of the given named . - - Type of object requested. - Name the object was registered with. - if there is are errors resolving - the service instance. - The requested service instance. - - - - Get all instances of the given currently - registered in the container. - - Type of object requested. - if there is are errors resolving - the service instance. - A sequence of instances of the requested . - - - - A strongly-typed resource class, for looking up localized strings, etc. - - - - - Returns the cached ResourceManager instance used by this class. - - - - - Overrides the current thread's CurrentUICulture property for all - resource lookups using this strongly typed resource class. - - - - - Looks up a localized string similar to Activation error occured while trying to get all instances of type {0}. - - - - - Looks up a localized string similar to Activation error occured while trying to get instance of type {0}, key "{1}". - - - - - This class provides the ambient container for this application. If your - framework defines such an ambient container, use ServiceLocator.Current - to get it. - - - - - Set the delegate that is used to retrieve the current container. - - Delegate that, when called, will return - the current ambient container. - - - - The current ambient container. - - - - - This class is a helper that provides a default implementation - for most of the methods of . - - - - - Implementation of . - - The requested service. - if there is an error in resolving the service instance. - The requested object. - - - - Get an instance of the given . - - Type of object requested. - if there is an error resolving - the service instance. - The requested service instance. - - - - Get an instance of the given named . - - Type of object requested. - Name the object was registered with. - if there is an error resolving - the service instance. - The requested service instance. - - - - Get all instances of the given currently - registered in the container. - - Type of object requested. - if there is are errors resolving - the service instance. - A sequence of instances of the requested . - - - - Get an instance of the given . - - Type of object requested. - if there is are errors resolving - the service instance. - The requested service instance. - - - - Get an instance of the given named . - - Type of object requested. - Name the object was registered with. - if there is are errors resolving - the service instance. - The requested service instance. - - - - Get all instances of the given currently - registered in the container. - - Type of object requested. - if there is are errors resolving - the service instance. - A sequence of instances of the requested . - - - - When implemented by inheriting classes, this method will do the actual work of resolving - the requested service instance. - - Type of instance requested. - Name of registered service you want. May be null. - The requested service instance. - - - - When implemented by inheriting classes, this method will do the actual work of - resolving all the requested service instances. - - Type of service requested. - Sequence of service instance objects. - - - - Format the exception message for use in an - that occurs while resolving a single service. - - The actual exception thrown by the implementation. - Type of service requested. - Name requested. - The formatted exception message string. - - - - Format the exception message for use in an - that occurs while resolving multiple service instances. - - The actual exception thrown by the implementation. - Type of service requested. - The formatted exception message string. - - - - This delegate type is used to provide a method that will - return the current container. Used with the - static accessor class. - - An . - - - diff --git a/lib/Symbiote.Lucene/Newtonsoft.Json.dll b/lib/Symbiote.Lucene/Newtonsoft.Json.dll deleted file mode 100644 index 4703b89..0000000 Binary files a/lib/Symbiote.Lucene/Newtonsoft.Json.dll and /dev/null differ diff --git a/lib/Symbiote.Lucene/Newtonsoft.Json.pdb b/lib/Symbiote.Lucene/Newtonsoft.Json.pdb deleted file mode 100644 index df5da99..0000000 Binary files a/lib/Symbiote.Lucene/Newtonsoft.Json.pdb and /dev/null differ diff --git a/lib/Symbiote.Lucene/Newtonsoft.Json.xml b/lib/Symbiote.Lucene/Newtonsoft.Json.xml deleted file mode 100644 index e5e3da7..0000000 --- a/lib/Symbiote.Lucene/Newtonsoft.Json.xml +++ /dev/null @@ -1,6364 +0,0 @@ - - - - Newtonsoft.Json - - - - - Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. - - - - - Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. - - - - - Initializes a new instance of the class with the specified . - - - - - Reads the next JSON token from the stream. - - true if the next token was read successfully; false if there are no more tokens to read. - - - - Reads the next JSON token from the stream as a . - - A or a null reference if the next JSON token is null. - - - - Skips the children of the current token. - - - - - Sets the current token. - - The new token. - - - - Sets the current token and value. - - The new token. - The value. - - - - Sets the state based on current token type. - - - - - Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. - - - - - Releases unmanaged and - optionally - managed resources - - true to release both managed and unmanaged resources; false to release only unmanaged resources. - - - - Changes the to Closed. - - - - - Gets the current reader state. - - The current reader state. - - - - Gets the quotation mark character used to enclose the value of a string. - - - - - Gets the type of the current Json token. - - - - - Gets the text value of the current Json token. - - - - - Gets The Common Language Runtime (CLR) type for the current Json token. - - - - - Gets the depth of the current token in the JSON document. - - The depth of the current token in the JSON document. - - - - Specifies the state of the reader. - - - - - The Read method has not been called. - - - - - The end of the file has been reached successfully. - - - - - Reader is at a property. - - - - - Reader is at the start of an object. - - - - - Reader is in an object. - - - - - Reader is at the start of an array. - - - - - Reader is in an array. - - - - - The Close method has been called. - - - - - Reader has just read a value. - - - - - Reader is at the start of a constructor. - - - - - Reader in a constructor. - - - - - An error occurred that prevents the read operation from continuing. - - - - - The end of the file has been reached successfully. - - - - - Initializes a new instance of the class. - - The stream. - - - - Initializes a new instance of the class. - - The stream. - if set to true the root object will be read as a JSON array. - The used when reading values from BSON. - - - - Reads the next JSON token from the stream as a . - - - A or a null reference if the next JSON token is null. - - - - - Reads the next JSON token from the stream. - - - true if the next token was read successfully; false if there are no more tokens to read. - - - - - Gets or sets a value indicating whether the root object will be read as a JSON array. - - - true if the root object will be read as a JSON array; otherwise, false. - - - - - Gets or sets the used when reading values from BSON. - - The used when reading values from BSON. - - - - Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. - - - - - Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. - - - - - Creates an instance of the JsonWriter class. - - - - - Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. - - - - - Closes this stream and the underlying stream. - - - - - Writes the beginning of a Json object. - - - - - Writes the end of a Json object. - - - - - Writes the beginning of a Json array. - - - - - Writes the end of an array. - - - - - Writes the start of a constructor with the given name. - - The name of the constructor. - - - - Writes the end constructor. - - - - - Writes the property name of a name/value pair on a Json object. - - The name of the property. - - - - Writes the end of the current Json object or array. - - - - - Writes the current token. - - The to read the token from. - - - - Writes the specified end token. - - The end token to write. - - - - Writes indent characters. - - - - - Writes the JSON value delimiter. - - - - - Writes an indent space. - - - - - Writes a null value. - - - - - Writes an undefined value. - - - - - Writes raw JSON without changing the writer's state. - - The raw JSON to write. - - - - Writes raw JSON where a value is expected and updates the writer's state. - - The raw JSON to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - An error will raised if the value cannot be written as a single JSON token. - - The value to write. - - - - Writes out a comment /*...*/ containing the specified text. - - Text to place inside the comment. - - - - Writes out the given white space. - - The string of white space characters. - - - - Gets the top. - - The top. - - - - Gets the state of the writer. - - - - - Indicates how the output is formatted. - - - - - Initializes a new instance of the class. - - The stream. - - - - Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. - - - - - Writes the end. - - The token. - - - - Writes out a comment /*...*/ containing the specified text. - - Text to place inside the comment. - - - - Writes the start of a constructor with the given name. - - The name of the constructor. - - - - Writes raw JSON. - - The raw JSON to write. - - - - Writes raw JSON where a value is expected and updates the writer's state. - - The raw JSON to write. - - - - Writes the beginning of a Json array. - - - - - Writes the beginning of a Json object. - - - - - Writes the property name of a name/value pair on a Json object. - - The name of the property. - - - - Writes a null value. - - - - - Writes an undefined value. - - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value that represents a BSON object id. - - - - - - Writes a BSON regex. - - The regex pattern. - The regex options. - - - - Gets or sets the used when writing values to BSON. - When set to no conversion will occur. - - The used when writing values to BSON. - - - - Represents a BSON Oid (object id). - - - - - Initializes a new instance of the class. - - The Oid value. - - - - Gets or sets the value of the Oid. - - The value of the Oid. - - - - Converts a binary value to and from a base 64 string value. - - - - - Converts an object to and from JSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Gets the of the JSON produced by the JsonConverter. - - The of the JSON produced by the JsonConverter. - - - - Gets a value indicating whether this can read JSON. - - true if this can read JSON; otherwise, false. - - - - Gets a value indicating whether this can write JSON. - - true if this can write JSON; otherwise, false. - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Converts a to and from JSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified value type. - - Type of the value. - - true if this instance can convert the specified value type; otherwise, false. - - - - - Converts a to and from JSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified value type. - - Type of the value. - - true if this instance can convert the specified value type; otherwise, false. - - - - - Create a custom object - - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Creates an object which will then be populated by the serializer. - - Type of the object. - - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Gets a value indicating whether this can write JSON. - - - true if this can write JSON; otherwise, false. - - - - - Provides a base class for converting a to and from JSON. - - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Converts an Entity Framework EntityKey to and from JSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Converts a to and from JSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Converts a to and from JSON and BSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Converts a to and from JSON and BSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Converts an to and from its name string value. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Specifies how constructors are used when initializing objects during deserialization by the . - - - - - First attempt to use the public default constructor then fall back to single paramatized constructor. - - - - - Allow Json.NET to use a non-public default constructor. - - - - - Represents a raw JSON string. - - - - - Represents a value in JSON (string, integer, date, etc). - - - - - Represents an abstract JSON token. - - - - - Represents a collection of objects. - - The type of token - - - - Gets the with the specified key. - - - - - - Provides an interface to enable a class to return line and position information. - - - - - Gets a value indicating whether the class can return line information. - - - true if LineNumber and LinePosition can be provided; otherwise, false. - - - - - Gets the current line number. - - The current line number or 0 if no line information is available (for example, HasLineInfo returns false). - - - - Gets the current line position. - - The current line position or 0 if no line information is available (for example, HasLineInfo returns false). - - - - Compares the values of two tokens, including the values of all descendant tokens. - - The first to compare. - The second to compare. - true if the tokens are equal; otherwise false. - - - - Adds the specified content immediately after this token. - - A content object that contains simple content or a collection of content objects to be added after this token. - - - - Adds the specified content immediately before this token. - - A content object that contains simple content or a collection of content objects to be added before this token. - - - - Returns a collection of the ancestor tokens of this token. - - A collection of the ancestor tokens of this token. - - - - Returns a collection of the sibling tokens after this token, in document order. - - A collection of the sibling tokens after this tokens, in document order. - - - - Returns a collection of the sibling tokens before this token, in document order. - - A collection of the sibling tokens before this token, in document order. - - - - Gets the with the specified key converted to the specified type. - - The type to convert the token to. - The token key. - The converted token value. - - - - Returns a collection of the child tokens of this token, in document order. - - An of containing the child tokens of this , in document order. - - - - Returns a collection of the child tokens of this token, in document order, filtered by the specified type. - - The type to filter the child tokens on. - A containing the child tokens of this , in document order. - - - - Returns a collection of the child values of this token, in document order. - - The type to convert the values to. - A containing the child values of this , in document order. - - - - Removes this token from its parent. - - - - - Replaces this token with the specified token. - - The value. - - - - Writes this token to a . - - A into which this method will write. - A collection of which will be used when writing the token. - - - - Returns the indented JSON for this token. - - - The indented JSON for this token. - - - - - Returns the JSON for this token using the given formatting and converters. - - Indicates how the output is formatted. - A collection of which will be used when writing the token. - The JSON for this token using the given formatting and converters. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Creates an for this token. - - An that can be used to read this token and its descendants. - - - - Creates a from an object. - - The object that will be used to create . - A with the value of the specified object - - - - Creates a from an object using the specified . - - The object that will be used to create . - The that will be used when reading the object. - A with the value of the specified object - - - - Creates a from a . - - An positioned at the token to read into this . - - An that contains the token and its descendant tokens - that were read from the reader. The runtime type of the token is determined - by the token type of the first token encountered in the reader. - - - - - Selects the token that matches the object path. - - - The object path from the current to the - to be returned. This must be a string of property names or array indexes separated - by periods, such as Tables[0].DefaultView[0].Price in C# or - Tables(0).DefaultView(0).Price in Visual Basic. - - The that matches the object path or a null reference if no matching token is found. - - - - Selects the token that matches the object path. - - - The object path from the current to the - to be returned. This must be a string of property names or array indexes separated - by periods, such as Tables[0].DefaultView[0].Price in C# or - Tables(0).DefaultView(0).Price in Visual Basic. - - A flag to indicate whether an error should be thrown if no token is found. - The that matches the object path. - - - - Gets a comparer that can compare two tokens for value equality. - - A that can compare two nodes for value equality. - - - - Gets or sets the parent. - - The parent. - - - - Gets the root of this . - - The root of this . - - - - Gets the node type for this . - - The type. - - - - Gets a value indicating whether this token has childen tokens. - - - true if this token has child values; otherwise, false. - - - - - Gets the next sibling token of this node. - - The that contains the next sibling token. - - - - Gets the previous sibling token of this node. - - The that contains the previous sibling token. - - - - Gets the with the specified key. - - The with the specified key. - - - - Get the first child token of this token. - - A containing the first child token of the . - - - - Get the last child token of this token. - - A containing the last child token of the . - - - - Initializes a new instance of the class from another object. - - A object to copy from. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Creates a comment with the given value. - - The value. - A comment with the given value. - - - - Creates a string with the given value. - - The value. - A string with the given value. - - - - Writes this token to a . - - A into which this method will write. - A collection of which will be used when writing the token. - - - - Indicates whether the current object is equal to another object of the same type. - - - true if the current object is equal to the parameter; otherwise, false. - - An object to compare with this object. - - - - Determines whether the specified is equal to the current . - - The to compare with the current . - - true if the specified is equal to the current ; otherwise, false. - - - The parameter is null. - - - - - Serves as a hash function for a particular type. - - - A hash code for the current . - - - - - Gets a value indicating whether this token has childen tokens. - - - true if this token has child values; otherwise, false. - - - - - Gets the node type for this . - - The type. - - - - Gets or sets the underlying token value. - - The underlying token value. - - - - Initializes a new instance of the class from another object. - - A object to copy from. - - - - Initializes a new instance of the class. - - The raw json. - - - - Creates an instance of with the content of the reader's current token. - - The reader. - An instance of with the content of the reader's current token. - - - - Indicating whether a property is required. - - - - - The property is not required. The default state. - - - - - The property must be defined in JSON but can be a null value. - - - - - The property must be defined in JSON and cannot be a null value. - - - - - Contract details for a used by the . - - - - - Contract details for a used by the . - - - - - Gets the underlying type for the contract. - - The underlying type for the contract. - - - - Gets or sets the type created during deserialization. - - The type created during deserialization. - - - - Gets or sets whether this type contract is serialized as a reference. - - Whether this type contract is serialized as a reference. - - - - Gets or sets the default for this contract. - - The converter. - - - - Gets or sets the method called immediately after deserialization of the object. - - The method called immediately after deserialization of the object. - - - - Gets or sets the method called during deserialization of the object. - - The method called during deserialization of the object. - - - - Gets or sets the method called after serialization of the object graph. - - The method called after serialization of the object graph. - - - - Gets or sets the method called before serialization of the object. - - The method called before serialization of the object. - - - - Gets or sets the default creator method used to create the object. - - The default creator method used to create the object. - - - - Gets or sets a value indicating whether [default creator non public]. - - true if the default object creator is non-public; otherwise, false. - - - - Gets or sets the method called when an error is thrown during the serialization of the object. - - The method called when an error is thrown during the serialization of the object. - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Gets or sets the ISerializable object constructor. - - The ISerializable object constructor. - - - - Contract details for a used by the . - - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Contract details for a used by the . - - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Get and set values for a using dynamic methods. - - - - - Provides methods to get and set values. - - - - - Sets the value. - - The target to set the value on. - The value to set on the target. - - - - Gets the value. - - The target to get the value from. - The value. - - - - Initializes a new instance of the class. - - The member info. - - - - Sets the value. - - The target to set the value on. - The value to set on the target. - - - - Gets the value. - - The target to get the value from. - The value. - - - - Provides data for the Error event. - - - - - Initializes a new instance of the class. - - The current object. - The error context. - - - - Gets the current object the error event is being raised against. - - The current object the error event is being raised against. - - - - Gets the error context. - - The error context. - - - - Represents a view of a . - - - - - Initializes a new instance of the class. - - The name. - Type of the property. - - - - When overridden in a derived class, returns whether resetting an object changes its value. - - - true if resetting the component changes its value; otherwise, false. - - The component to test for reset capability. - - - - - When overridden in a derived class, gets the current value of the property on a component. - - - The value of a property for a given component. - - The component with the property for which to retrieve the value. - - - - - When overridden in a derived class, resets the value for this property of the component to the default value. - - The component with the property value that is to be reset to the default value. - - - - - When overridden in a derived class, sets the value of the component to a different value. - - The component with the property value that is to be set. - The new value. - - - - - When overridden in a derived class, determines a value indicating whether the value of this property needs to be persisted. - - - true if the property should be persisted; otherwise, false. - - The component with the property to be examined for persistence. - - - - - When overridden in a derived class, gets the type of the component this property is bound to. - - - A that represents the type of component this property is bound to. When the or methods are invoked, the object specified might be an instance of this type. - - - - - When overridden in a derived class, gets a value indicating whether this property is read-only. - - - true if the property is read-only; otherwise, false. - - - - - When overridden in a derived class, gets the type of the property. - - - A that represents the type of the property. - - - - - Gets the hash code for the name of the member. - - - - The hash code for the name of the member. - - - - - Represents a view of a . - - - - - Initializes a new instance of the class. - - The value. - - - - Returns the properties for this instance of a component. - - - A that represents the properties for this component instance. - - - - - Returns the properties for this instance of a component using the attribute array as a filter. - - An array of type that is used as a filter. - - A that represents the filtered properties for this component instance. - - - - - Returns a collection of custom attributes for this instance of a component. - - - An containing the attributes for this object. - - - - - Returns the class name of this instance of a component. - - - The class name of the object, or null if the class does not have a name. - - - - - Returns the name of this instance of a component. - - - The name of the object, or null if the object does not have a name. - - - - - Returns a type converter for this instance of a component. - - - A that is the converter for this object, or null if there is no for this object. - - - - - Returns the default event for this instance of a component. - - - An that represents the default event for this object, or null if this object does not have events. - - - - - Returns the default property for this instance of a component. - - - A that represents the default property for this object, or null if this object does not have properties. - - - - - Returns an editor of the specified type for this instance of a component. - - A that represents the editor for this object. - - An of the specified type that is the editor for this object, or null if the editor cannot be found. - - - - - Returns the events for this instance of a component using the specified attribute array as a filter. - - An array of type that is used as a filter. - - An that represents the filtered events for this component instance. - - - - - Returns the events for this instance of a component. - - - An that represents the events for this component instance. - - - - - Returns an object that contains the property described by the specified property descriptor. - - A that represents the property whose owner is to be found. - - An that represents the owner of the specified property. - - - - - Used to resolve references when serializing and deserializing JSON by the . - - - - - Resolves a reference to its object. - - The reference to resolve. - The object that - - - - Gets the reference for the sepecified object. - - The object to get a reference for. - The reference to the object. - - - - Determines whether the specified object is referenced. - - The object to test for a reference. - - true if the specified object is referenced; otherwise, false. - - - - - Adds a reference to the specified object. - - The reference. - The object to reference. - - - - Specifies reference handling options for the . - - - - - Do not preserve references when serializing types. - - - - - Preserve references when serializing into a JSON object structure. - - - - - Preserve references when serializing into a JSON array structure. - - - - - Preserve references when serializing. - - - - - Instructs the how to serialize the collection. - - - - - Instructs the how to serialize the object. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class with the specified container Id. - - The container Id. - - - - Gets or sets the id. - - The id. - - - - Gets or sets the title. - - The title. - - - - Gets or sets the description. - - The description. - - - - Gets or sets a value that indicates whether to preserve object reference data. - - - true to keep object reference; otherwise, false. The default is false. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class with a flag indicating whether the array can contain null items - - A flag indicating whether the array can contain null items. - - - - Initializes a new instance of the class with the specified container Id. - - The container Id. - - - - Gets or sets a value indicating whether null items are allowed in the collection. - - true if null items are allowed in the collection; otherwise, false. - - - - Specifies default value handling options for the . - - - - - Include default values when serializing and deserializing objects. - - - - - Ignore default values when serializing and deserializing objects. - - - - - Instructs the to use the specified when serializing the member or class. - - - - - Initializes a new instance of the class. - - Type of the converter. - - - - Gets the type of the converter. - - The type of the converter. - - - - Instructs the how to serialize the object. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class with the specified member serialization. - - The member serialization. - - - - Initializes a new instance of the class with the specified container Id. - - The container Id. - - - - Gets or sets the member serialization. - - The member serialization. - - - - Specifies the settings on a object. - - - - - Initializes a new instance of the class. - - - - - Gets or sets how reference loops (e.g. a class referencing itself) is handled. - - Reference loop handling. - - - - Gets or sets how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. - - Missing member handling. - - - - Gets or sets how objects are created during deserialization. - - The object creation handling. - - - - Gets or sets how null values are handled during serialization and deserialization. - - Null value handling. - - - - Gets or sets how null default are handled during serialization and deserialization. - - The default value handling. - - - - Gets or sets a collection that will be used during serialization. - - The converters. - - - - Gets or sets how object references are preserved by the serializer. - - The preserve references handling. - - - - Gets or sets how type name writing and reading is handled by the serializer. - - The type name handling. - - - - Gets or sets how a type name assembly is written and resolved by the serializer. - - The type name assembly format. - - - - Gets or sets how constructors are used during deserialization. - - The constructor handling. - - - - Gets or sets the contract resolver used by the serializer when - serializing .NET objects to JSON and vice versa. - - The contract resolver. - - - - Gets or sets the used by the serializer when resolving references. - - The reference resolver. - - - - Gets or sets the used by the serializer when resolving type names. - - The binder. - - - - Gets or sets the error handler called during serialization and deserialization. - - The error handler called during serialization and deserialization. - - - - Gets or sets the used by the serializer when invoking serialization callback methods. - - The context. - - - - Represents a reader that provides validation. - - - - - Initializes a new instance of the class that - validates the content returned from the given . - - The to read from while validating. - - - - Reads the next JSON token from the stream as a . - - - A or a null reference if the next JSON token is null. - - - - - Reads the next JSON token from the stream. - - - true if the next token was read successfully; false if there are no more tokens to read. - - - - - Sets an event handler for receiving schema validation errors. - - - - - Gets the text value of the current Json token. - - - - - - Gets the depth of the current token in the JSON document. - - The depth of the current token in the JSON document. - - - - Gets the quotation mark character used to enclose the value of a string. - - - - - - Gets the type of the current Json token. - - - - - - Gets The Common Language Runtime (CLR) type for the current Json token. - - - - - - Gets or sets the schema. - - The schema. - - - - Gets the used to construct this . - - The specified in the constructor. - - - - Compares tokens to determine whether they are equal. - - - - - Determines whether the specified objects are equal. - - The first object of type to compare. - The second object of type to compare. - - true if the specified objects are equal; otherwise, false. - - - - - Returns a hash code for the specified object. - - The for which a hash code is to be returned. - A hash code for the specified object. - The type of is a reference type and is null. - - - - Specifies the member serialization options for the . - - - - - All members are serialized by default. Members can be excluded using the . - - - - - Only members must be marked with the are serialized. - - - - - Specifies how object creation is handled by the . - - - - - Reuse existing objects, create new objects when needed. - - - - - Only reuse existing objects. - - - - - Always create new objects. - - - - - Converts a to and from the ISO 8601 date format (e.g. 2008-04-12T12:53Z). - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Gets or sets the date time styles used when converting a date to and from JSON. - - The date time styles used when converting a date to and from JSON. - - - - Gets or sets the date time format used when converting a date to and from JSON. - - The date time format used when converting a date to and from JSON. - - - - Gets or sets the culture used when converting a date to and from JSON. - - The culture used when converting a date to and from JSON. - - - - Converts a to and from a JavaScript date constructor (e.g. new Date(52231943)). - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing property value of the JSON that is being converted. - The calling serializer. - The object value. - - - - Specifies whether a DateTime object represents a local time, a Coordinated Universal Time (UTC), or is not specified as either local time or UTC. - - - - - The time represented is local time. - - - - - The time represented is UTC. - - - - - The time represented is not specified as either local time or Coordinated Universal Time (UTC). - - - - - Preserves the DateTimeKind field of a date when a DateTime object is converted to a string and the string is then converted back to a DateTime object. - - - - - Converts an to and from JSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The calling serializer. - The value. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Checks if the attributeName is a namespace attribute. - - Attribute name to test. - The attribute name prefix if it has one, otherwise an empty string. - True if attribute name is for a namespace attribute, otherwise false. - - - - Determines whether this instance can convert the specified value type. - - Type of the value. - - true if this instance can convert the specified value type; otherwise, false. - - - - - Gets or sets the name of the root element to insert when deserializing to XML if the JSON structure has produces multiple root elements. - - The name of the deserialize root element. - - - - Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. - - - - - Initializes a new instance of the class with the specified . - - The TextReader containing the XML data to read. - - - - Reads the next JSON token from the stream. - - - true if the next token was read successfully; false if there are no more tokens to read. - - - - - Reads the next JSON token from the stream as a . - - - A or a null reference if the next JSON token is null. - - - - - Changes the state to closed. - - - - - Gets a value indicating whether the class can return line information. - - - true if LineNumber and LinePosition can be provided; otherwise, false. - - - - - Gets the current line number. - - - The current line number or 0 if no line information is available (for example, HasLineInfo returns false). - - - - - Gets the current line position. - - - The current line position or 0 if no line information is available (for example, HasLineInfo returns false). - - - - - Instructs the to always serialize the member with the specified name. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class with the specified name. - - Name of the property. - - - - Gets or sets the null value handling used when serializing this property. - - The null value handling. - - - - Gets or sets the default value handling used when serializing this property. - - The default value handling. - - - - Gets or sets the reference loop handling used when serializing this property. - - The reference loop handling. - - - - Gets or sets the object creation handling used when deserializing this property. - - The object creation handling. - - - - Gets or sets the type name handling used when serializing this property. - - The type name handling. - - - - Gets or sets whether this property's value is serialized as a reference. - - Whether this property's value is serialized as a reference. - - - - Gets or sets the name of the property. - - The name of the property. - - - - Gets or sets a value indicating whether this property is required. - - - A value indicating whether this property is required. - - - - - Instructs the not to serialize the public field or public read/write property value. - - - - - Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. - - - - - Creates an instance of the JsonWriter class using the specified . - - The TextWriter to write to. - - - - Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. - - - - - Closes this stream and the underlying stream. - - - - - Writes the beginning of a Json object. - - - - - Writes the beginning of a Json array. - - - - - Writes the start of a constructor with the given name. - - The name of the constructor. - - - - Writes the specified end token. - - The end token to write. - - - - Writes the property name of a name/value pair on a Json object. - - The name of the property. - - - - Writes indent characters. - - - - - Writes the JSON value delimiter. - - - - - Writes an indent space. - - - - - Writes a null value. - - - - - Writes an undefined value. - - - - - Writes raw JSON. - - The raw JSON to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes out a comment /*...*/ containing the specified text. - - Text to place inside the comment. - - - - Writes out the given white space. - - The string of white space characters. - - - - Gets or sets how many IndentChars to write for each level in the hierarchy when is set to Formatting.Indented. - - - - - Gets or sets which character to use to quote attribute values. - - - - - Gets or sets which character to use for indenting when is set to Formatting.Indented. - - - - - Gets or sets a value indicating whether object names will be surrounded with quotes. - - - - - The exception thrown when an error occurs while reading Json text. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class - with a specified error message. - - The error message that explains the reason for the exception. - - - - Initializes a new instance of the class - with a specified error message and a reference to the inner exception that is the cause of this exception. - - The error message that explains the reason for the exception. - The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. - - - - The exception thrown when an error occurs while reading Json text. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class - with a specified error message. - - The error message that explains the reason for the exception. - - - - Initializes a new instance of the class - with a specified error message and a reference to the inner exception that is the cause of this exception. - - The error message that explains the reason for the exception. - The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. - - - - Gets the line number indicating where the error occurred. - - The line number indicating where the error occurred. - - - - Gets the line position indicating where the error occurred. - - The line position indicating where the error occurred. - - - - Represents a collection of . - - - - - Provides methods for converting between common language runtime types and JSON types. - - - - - Represents JavaScript's boolean value true as a string. This field is read-only. - - - - - Represents JavaScript's boolean value false as a string. This field is read-only. - - - - - Represents JavaScript's null as a string. This field is read-only. - - - - - Represents JavaScript's undefined as a string. This field is read-only. - - - - - Represents JavaScript's positive infinity as a string. This field is read-only. - - - - - Represents JavaScript's negative infinity as a string. This field is read-only. - - - - - Represents JavaScript's NaN as a string. This field is read-only. - - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - The string delimiter character. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Serializes the specified object to a JSON string. - - The object to serialize. - A JSON string representation of the object. - - - - Serializes the specified object to a JSON string. - - The object to serialize. - Indicates how the output is formatted. - - A JSON string representation of the object. - - - - - Serializes the specified object to a JSON string using a collection of . - - The object to serialize. - A collection converters used while serializing. - A JSON string representation of the object. - - - - Serializes the specified object to a JSON string using a collection of . - - The object to serialize. - Indicates how the output is formatted. - A collection converters used while serializing. - A JSON string representation of the object. - - - - Serializes the specified object to a JSON string using a collection of . - - The object to serialize. - Indicates how the output is formatted. - The used to serialize the object. - If this is null, default serialization settings will be is used. - - A JSON string representation of the object. - - - - - Deserializes the specified object to a Json object. - - The object to deserialize. - The deserialized object from the Json string. - - - - Deserializes the specified object to a Json object. - - The object to deserialize. - The of object being deserialized. - The deserialized object from the Json string. - - - - Deserializes the specified object to a Json object. - - The type of the object to deserialize. - The object to deserialize. - The deserialized object from the Json string. - - - - Deserializes the specified JSON to the given anonymous type. - - - The anonymous type to deserialize to. This can't be specified - traditionally and must be infered from the anonymous type passed - as a parameter. - - The object to deserialize. - The anonymous type object. - The deserialized anonymous type from the JSON string. - - - - Deserializes the JSON string to the specified type. - - The type of the object to deserialize. - The object to deserialize. - Converters to use while deserializing. - The deserialized object from the JSON string. - - - - Deserializes the JSON string to the specified type. - - The type of the object to deserialize. - The object to deserialize. - - The used to deserialize the object. - If this is null, default serialization settings will be is used. - - The deserialized object from the JSON string. - - - - Deserializes the JSON string to the specified type. - - The object to deserialize. - The type of the object to deserialize. - Converters to use while deserializing. - The deserialized object from the JSON string. - - - - Deserializes the JSON string to the specified type. - - The JSON to deserialize. - The type of the object to deserialize. - - The used to deserialize the object. - If this is null, default serialization settings will be is used. - - The deserialized object from the JSON string. - - - - Populates the object with values from the JSON string. - - The JSON to populate values from. - The target object to populate values onto. - - - - Populates the object with values from the JSON string. - - The JSON to populate values from. - The target object to populate values onto. - - The used to deserialize the object. - If this is null, default serialization settings will be is used. - - - - - Serializes the to a JSON string. - - The node to convert to JSON. - A JSON string of the XNode. - - - - Serializes the to a JSON string. - - The node to convert to JSON. - Indicates how the output is formatted. - A JSON string of the XNode. - - - - Deserializes the from a JSON string. - - The JSON string. - The deserialized XNode - - - - Deserializes the from a JSON string nested in a root elment. - - The JSON string. - The name of the root element to append when deserializing. - The deserialized XNode - - - - Serializes the XML node to a JSON string. - - The node to serialize. - A JSON string of the XmlNode. - - - - Serializes the XML node to a JSON string. - - The node to serialize. - Indicates how the output is formatted. - A JSON string of the XmlNode. - - - - Deserializes the XmlNode from a JSON string. - - The JSON string. - The deserialized XmlNode - - - - Deserializes the XmlNode from a JSON string nested in a root elment. - - The JSON string. - The name of the root element to append when deserializing. - The deserialized XmlNode - - - - The exception thrown when an error occurs during Json serialization or deserialization. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class - with a specified error message. - - The error message that explains the reason for the exception. - - - - Initializes a new instance of the class - with a specified error message and a reference to the inner exception that is the cause of this exception. - - The error message that explains the reason for the exception. - The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. - - - - Serializes and deserializes objects into and from the JSON format. - The enables you to control how objects are encoded into JSON. - - - - - Initializes a new instance of the class. - - - - - Creates a new instance using the specified . - - The settings to be applied to the . - A new instance using the specified . - - - - Populates the JSON values onto the target object. - - The that contains the JSON structure to reader values from. - The target object to populate values onto. - - - - Populates the JSON values onto the target object. - - The that contains the JSON structure to reader values from. - The target object to populate values onto. - - - - Deserializes the Json structure contained by the specified . - - The that contains the JSON structure to deserialize. - The being deserialized. - - - - Deserializes the Json structure contained by the specified - into an instance of the specified type. - - The containing the object. - The of object being deserialized. - The instance of being deserialized. - - - - Deserializes the Json structure contained by the specified - into an instance of the specified type. - - The containing the object. - The type of the object to deserialize. - The instance of being deserialized. - - - - Deserializes the Json structure contained by the specified - into an instance of the specified type. - - The containing the object. - The of object being deserialized. - The instance of being deserialized. - - - - Serializes the specified and writes the Json structure - to a Stream using the specified . - - The used to write the Json structure. - The to serialize. - - - - Serializes the specified and writes the Json structure - to a Stream using the specified . - - The used to write the Json structure. - The to serialize. - - - - Occurs when the errors during serialization and deserialization. - - - - - Gets or sets the used by the serializer when resolving references. - - - - - Gets or sets the used by the serializer when resolving type names. - - - - - Gets or sets how type name writing and reading is handled by the serializer. - - - - - Gets or sets how a type name assembly is written and resolved by the serializer. - - The type name assembly format. - - - - Gets or sets how object references are preserved by the serializer. - - - - - Get or set how reference loops (e.g. a class referencing itself) is handled. - - - - - Get or set how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. - - - - - Get or set how null values are handled during serialization and deserialization. - - - - - Get or set how null default are handled during serialization and deserialization. - - - - - Gets or sets how objects are created during deserialization. - - The object creation handling. - - - - Gets or sets how constructors are used during deserialization. - - The constructor handling. - - - - Gets a collection that will be used during serialization. - - Collection that will be used during serialization. - - - - Gets or sets the contract resolver used by the serializer when - serializing .NET objects to JSON and vice versa. - - - - - Gets or sets the used by the serializer when invoking serialization callback methods. - - The context. - - - - Contains the LINQ to JSON extension methods. - - - - - Returns a collection of tokens that contains the ancestors of every token in the source collection. - - The type of the objects in source, constrained to . - An of that contains the source collection. - An of that contains the ancestors of every node in the source collection. - - - - Returns a collection of tokens that contains the descendants of every token in the source collection. - - The type of the objects in source, constrained to . - An of that contains the source collection. - An of that contains the descendants of every node in the source collection. - - - - Returns a collection of child properties of every object in the source collection. - - An of that contains the source collection. - An of that contains the properties of every object in the source collection. - - - - Returns a collection of child values of every object in the source collection with the given key. - - An of that contains the source collection. - The token key. - An of that contains the values of every node in the source collection with the given key. - - - - Returns a collection of child values of every object in the source collection. - - An of that contains the source collection. - An of that contains the values of every node in the source collection. - - - - Returns a collection of converted child values of every object in the source collection with the given key. - - The type to convert the values to. - An of that contains the source collection. - The token key. - An that contains the converted values of every node in the source collection with the given key. - - - - Returns a collection of converted child values of every object in the source collection. - - The type to convert the values to. - An of that contains the source collection. - An that contains the converted values of every node in the source collection. - - - - Converts the value. - - The type to convert the value to. - A cast as a of . - A converted value. - - - - Converts the value. - - The source collection type. - The type to convert the value to. - A cast as a of . - A converted value. - - - - Returns a collection of child tokens of every array in the source collection. - - The source collection type. - An of that contains the source collection. - An of that contains the values of every node in the source collection. - - - - Returns a collection of converted child tokens of every array in the source collection. - - An of that contains the source collection. - The type to convert the values to. - The source collection type. - An that contains the converted values of every node in the source collection. - - - - Returns the input typed as . - - An of that contains the source collection. - The input typed as . - - - - Returns the input typed as . - - The source collection type. - An of that contains the source collection. - The input typed as . - - - - Represents a JSON constructor. - - - - - Represents a token that can contain other tokens. - - - - - Raises the event. - - The instance containing the event data. - - - - Raises the event. - - The instance containing the event data. - - - - Returns a collection of the child tokens of this token, in document order. - - - An of containing the child tokens of this , in document order. - - - - - Returns a collection of the child values of this token, in document order. - - The type to convert the values to. - - A containing the child values of this , in document order. - - - - - Returns a collection of the descendant tokens for this token in document order. - - An containing the descendant tokens of the . - - - - Adds the specified content as children of this . - - The content to be added. - - - - Adds the specified content as the first children of this . - - The content to be added. - - - - Creates an that can be used to add tokens to the . - - An that is ready to have content written to it. - - - - Replaces the children nodes of this token with the specified content. - - The content. - - - - Removes the child nodes from this token. - - - - - Occurs when the list changes or an item in the list changes. - - - - - Occurs before an item is added to the collection. - - - - - Gets a value indicating whether this token has childen tokens. - - - true if this token has child values; otherwise, false. - - - - - Get the first child token of this token. - - - A containing the first child token of the . - - - - - Get the last child token of this token. - - - A containing the last child token of the . - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class from another object. - - A object to copy from. - - - - Initializes a new instance of the class with the specified name and content. - - The constructor name. - The contents of the constructor. - - - - Initializes a new instance of the class with the specified name and content. - - The constructor name. - The contents of the constructor. - - - - Initializes a new instance of the class with the specified name. - - The constructor name. - - - - Writes this token to a . - - A into which this method will write. - A collection of which will be used when writing the token. - - - - Loads an from a . - - A that will be read for the content of the . - A that contains the JSON that was read from the specified . - - - - Gets or sets the name of this constructor. - - The constructor name. - - - - Gets the node type for this . - - The type. - - - - Gets the with the specified key. - - The with the specified key. - - - - Represents a collection of objects. - - The type of token - - - - An empty collection of objects. - - - - - Initializes a new instance of the struct. - - The enumerable. - - - - Returns an enumerator that iterates through the collection. - - - A that can be used to iterate through the collection. - - - - - Returns an enumerator that iterates through a collection. - - - An object that can be used to iterate through the collection. - - - - - Determines whether the specified is equal to this instance. - - The to compare with this instance. - - true if the specified is equal to this instance; otherwise, false. - - - - - Returns a hash code for this instance. - - - A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. - - - - - Gets the with the specified key. - - - - - - Represents a JSON object. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class from another object. - - A object to copy from. - - - - Initializes a new instance of the class with the specified content. - - The contents of the object. - - - - Initializes a new instance of the class with the specified content. - - The contents of the object. - - - - Gets an of this object's properties. - - An of this object's properties. - - - - Gets a the specified name. - - The property name. - A with the specified name or null. - - - - Gets an of this object's property values. - - An of this object's property values. - - - - Loads an from a . - - A that will be read for the content of the . - A that contains the JSON that was read from the specified . - - - - Load a from a string that contains JSON. - - A that contains JSON. - A populated from the string that contains JSON. - - - - Creates a from an object. - - The object that will be used to create . - A with the values of the specified object - - - - Creates a from an object. - - The object that will be used to create . - The that will be used to read the object. - A with the values of the specified object - - - - Writes this token to a . - - A into which this method will write. - A collection of which will be used when writing the token. - - - - Adds the specified property name. - - Name of the property. - The value. - - - - Removes the property with the specified name. - - Name of the property. - true if item was successfully removed; otherwise, false. - - - - Tries the get value. - - Name of the property. - The value. - true if a value was successfully retrieved; otherwise, false. - - - - Returns an enumerator that iterates through the collection. - - - A that can be used to iterate through the collection. - - - - - Raises the event with the provided arguments. - - Name of the property. - - - - Raises the event with the provided arguments. - - Name of the property. - - - - Occurs when a property value changes. - - - - - Occurs when a property value is changing. - - - - - Gets the node type for this . - - The type. - - - - Gets the with the specified key. - - The with the specified key. - - - - Gets or sets the with the specified property name. - - - - - - Gets the number of elements contained in the . - - - The number of elements contained in the . - - - - Represents a JSON array. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class from another object. - - A object to copy from. - - - - Initializes a new instance of the class with the specified content. - - The contents of the array. - - - - Initializes a new instance of the class with the specified content. - - The contents of the array. - - - - Loads an from a . - - A that will be read for the content of the . - A that contains the JSON that was read from the specified . - - - - Load a from a string that contains JSON. - - A that contains JSON. - A populated from the string that contains JSON. - - - - Creates a from an object. - - The object that will be used to create . - A with the values of the specified object - - - - Creates a from an object. - - The object that will be used to create . - The that will be used to read the object. - A with the values of the specified object - - - - Writes this token to a . - - A into which this method will write. - A collection of which will be used when writing the token. - - - - Determines the index of a specific item in the . - - The object to locate in the . - - The index of if found in the list; otherwise, -1. - - - - - Inserts an item to the at the specified index. - - The zero-based index at which should be inserted. - The object to insert into the . - - is not a valid index in the . - The is read-only. - - - - Removes the item at the specified index. - - The zero-based index of the item to remove. - - is not a valid index in the . - The is read-only. - - - - Adds an item to the . - - The object to add to the . - The is read-only. - - - - Removes all items from the . - - The is read-only. - - - - Determines whether the contains a specific value. - - The object to locate in the . - - true if is found in the ; otherwise, false. - - - - - Removes the first occurrence of a specific object from the . - - The object to remove from the . - - true if was successfully removed from the ; otherwise, false. This method also returns false if is not found in the original . - - The is read-only. - - - - Gets the node type for this . - - The type. - - - - Gets the with the specified key. - - The with the specified key. - - - - Gets or sets the at the specified index. - - - - - - Gets the number of elements contained in the . - - - The number of elements contained in the . - - - - Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. - - - - - Initializes a new instance of the class. - - The token to read from. - - - - Reads the next JSON token from the stream as a . - - - A or a null reference if the next JSON token is null. - - - - - Reads the next JSON token from the stream. - - - true if the next token was read successfully; false if there are no more tokens to read. - - - - - Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. - - - - - Initializes a new instance of the class writing to the given . - - The container being written to. - - - - Initializes a new instance of the class. - - - - - Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. - - - - - Closes this stream and the underlying stream. - - - - - Writes the beginning of a Json object. - - - - - Writes the beginning of a Json array. - - - - - Writes the start of a constructor with the given name. - - The name of the constructor. - - - - Writes the end. - - The token. - - - - Writes the property name of a name/value pair on a Json object. - - The name of the property. - - - - Writes a null value. - - - - - Writes an undefined value. - - - - - Writes raw JSON. - - The raw JSON to write. - - - - Writes out a comment /*...*/ containing the specified text. - - Text to place inside the comment. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Gets the token being writen. - - The token being writen. - - - - Represents a JSON property. - - - - - Initializes a new instance of the class from another object. - - A object to copy from. - - - - Returns a collection of the child tokens of this token, in document order. - - - An of containing the child tokens of this , in document order. - - - - - Initializes a new instance of the class. - - The property name. - The property content. - - - - Initializes a new instance of the class. - - The property name. - The property content. - - - - Writes this token to a . - - A into which this method will write. - A collection of which will be used when writing the token. - - - - Loads an from a . - - A that will be read for the content of the . - A that contains the JSON that was read from the specified . - - - - Gets the property name. - - The property name. - - - - Gets or sets the property value. - - The property value. - - - - Gets the node type for this . - - The type. - - - - Specifies the type of token. - - - - - No token type has been set. - - - - - A JSON object. - - - - - A JSON array. - - - - - A JSON constructor. - - - - - A JSON object property. - - - - - A comment. - - - - - An integer value. - - - - - A float value. - - - - - A string value. - - - - - A boolean value. - - - - - A null value. - - - - - An undefined value. - - - - - A date value. - - - - - A raw JSON value. - - - - - A collection of bytes value. - - - - - Contains the JSON schema extension methods. - - - - - Determines whether the is valid. - - The source to test. - The schema to test with. - - true if the specified is valid; otherwise, false. - - - - - Validates the specified . - - The source to test. - The schema to test with. - - - - Validates the specified . - - The source to test. - The schema to test with. - The validation event handler. - - - - Returns detailed information about the schema exception. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class - with a specified error message. - - The error message that explains the reason for the exception. - - - - Initializes a new instance of the class - with a specified error message and a reference to the inner exception that is the cause of this exception. - - The error message that explains the reason for the exception. - The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. - - - - Gets the line number indicating where the error occurred. - - The line number indicating where the error occurred. - - - - Gets the line position indicating where the error occurred. - - The line position indicating where the error occurred. - - - - Resolves from an id. - - - - - Initializes a new instance of the class. - - - - - Gets a for the specified id. - - The id. - A for the specified id. - - - - Gets or sets the loaded schemas. - - The loaded schemas. - - - - Specifies undefined schema Id handling options for the . - - - - - Do not infer a schema Id. - - - - - Use the .NET type name as the schema Id. - - - - - Use the assembly qualified .NET type name as the schema Id. - - - - - Returns detailed information related to the . - - - - - Gets the associated with the validation event. - - The JsonSchemaException associated with the validation event. - - - - Gets the text description corresponding to the validation event. - - The text description. - - - - Represents the callback method that will handle JSON schema validation events and the . - - - - - Resolves member mappings for a type, camel casing property names. - - - - - Used by to resolves a for a given . - - - - - Used by to resolves a for a given . - - - - - Resolves the contract for a given type. - - The type to resolve a contract for. - The contract for a given type. - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - - If set to true the will use a cached shared with other resolvers of the same type. - Sharing the cache will significantly performance because expensive reflection will only happen once but could cause unexpected - behavior if different instances of the resolver are suppose to produce different results. When set to false it is highly - recommended to reuse instances with the . - - - - - Resolves the contract for a given type. - - The type to resolve a contract for. - The contract for a given type. - - - - Gets the serializable members for the type. - - The type to get serializable members for. - The serializable members for the type. - - - - Creates a for the given type. - - Type of the object. - A for the given type. - - - - Resolves the default for the contract. - - Type of the object. - - - - - Creates a for the given type. - - Type of the object. - A for the given type. - - - - Creates a for the given type. - - Type of the object. - A for the given type. - - - - Creates a for the given type. - - Type of the object. - A for the given type. - - - - Creates a for the given type. - - Type of the object. - A for the given type. - - - - Creates a for the given type. - - Type of the object. - A for the given type. - - - - Creates a for the given type. - - Type of the object. - A for the given type. - - - - Determines which contract type is created for the given type. - - Type of the object. - A for the given type. - - - - Creates properties for the given . - - The contract to create properties for. - Properties for the given . - - - - Creates the used by the serializer to get and set values from a member. - - The member. - The used by the serializer to get and set values from a member. - - - - Creates a for the given . - - The member's declaring types . - The member to create a for. - A created for the given . - - - - Resolves the name of the property. - - Name of the property. - Name of the property. - - - - Gets a value indicating whether members are being get and set using dynamic code generation. - This value is determined by the runtime permissions available. - - - true if using dynamic code generation; otherwise, false. - - - - - Gets or sets the default members search flags. - - The default members search flags. - - - - Gets or sets a value indicating whether compiler generated members should be serialized. - - - true if serialized compiler generated members; otherwise, false. - - - - - Initializes a new instance of the class. - - - - - Resolves the name of the property. - - Name of the property. - The property name camel cased. - - - - The default serialization binder used when resolving and loading classes from type names. - - - - - When overridden in a derived class, controls the binding of a serialized object to a type. - - Specifies the name of the serialized object. - Specifies the name of the serialized object. - - The type of the object the formatter creates a new instance of. - - - - - Provides information surrounding an error. - - - - - Gets or sets the error. - - The error. - - - - Gets the original object that caused the error. - - The original object that caused the error. - - - - Gets the member that caused the error. - - The member that caused the error. - - - - Gets or sets a value indicating whether this is handled. - - true if handled; otherwise, false. - - - - Contract details for a used by the . - - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Contract details for a used by the . - - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Maps a JSON property to a .NET member. - - - - - Returns a that represents this instance. - - - A that represents this instance. - - - - - Gets the name of the property. - - The name of the property. - - - - Gets the that will get and set the during serialization. - - The that will get and set the during serialization. - - - - Gets or sets the type of the property. - - The type of the property. - - - - Gets or sets the for the property. - If set this converter takes presidence over the contract converter for the property type. - - The converter. - - - - Gets a value indicating whether this is ignored. - - true if ignored; otherwise, false. - - - - Gets a value indicating whether this is readable. - - true if readable; otherwise, false. - - - - Gets a value indicating whether this is writable. - - true if writable; otherwise, false. - - - - Gets the member converter. - - The member converter. - - - - Gets the default value. - - The default value. - - - - Gets a value indicating whether this is required. - - A value indicating whether this is required. - - - - Gets a value indicating whether this property preserves object references. - - - true if this instance is reference; otherwise, false. - - - - - Gets the property null value handling. - - The null value handling. - - - - Gets the property default value handling. - - The default value handling. - - - - Gets the property reference loop handling. - - The reference loop handling. - - - - Gets the property object creation handling. - - The object creation handling. - - - - Gets or sets the type name handling. - - The type name handling. - - - - Gets or sets a predicate used to determine whether the property should be serialize. - - A predicate used to determine whether the property should be serialize. - - - - A collection of objects. - - - - - Initializes a new instance of the class. - - The contract. - - - - When implemented in a derived class, extracts the key from the specified element. - - The element from which to extract the key. - The key for the specified element. - - - - Adds a object. - - The property to add to the collection. - - - - Gets the closest matching object. - First attempts to get an exact case match of propertyName and then - a case insensitive match. - - Name of the property. - A matching property if found. - - - - Gets a property by property name. - - The name of the property to get. - Type property name string comparison. - A matching property if found. - - - - Specifies missing member handling options for the . - - - - - Ignore a missing member and do not attempt to deserialize it. - - - - - Throw a when a missing member is encountered during deserialization. - - - - - Specifies null value handling options for the . - - - - - Include null values when serializing and deserializing objects. - - - - - Ignore null values when serializing and deserializing objects. - - - - - Specifies reference loop handling options for the . - - - - - Throw a when a loop is encountered. - - - - - Ignore loop references and do not serialize. - - - - - Serialize loop references. - - - - - An in-memory representation of a JSON Schema. - - - - - Initializes a new instance of the class. - - - - - Reads a from the specified . - - The containing the JSON Schema to read. - The object representing the JSON Schema. - - - - Reads a from the specified . - - The containing the JSON Schema to read. - The to use when resolving schema references. - The object representing the JSON Schema. - - - - Load a from a string that contains schema JSON. - - A that contains JSON. - A populated from the string that contains JSON. - - - - Parses the specified json. - - The json. - The resolver. - A populated from the string that contains JSON. - - - - Writes this schema to a . - - A into which this method will write. - - - - Writes this schema to a using the specified . - - A into which this method will write. - The resolver used. - - - - Returns a that represents the current . - - - A that represents the current . - - - - - Gets or sets the id. - - - - - Gets or sets the title. - - - - - Gets or sets whether the object is optional. - - - - - Gets or sets whether the object is read only. - - - - - Gets or sets whether the object is visible to users. - - - - - Gets or sets whether the object is transient. - - - - - Gets or sets the description of the object. - - - - - Gets or sets the types of values allowed by the object. - - The type. - - - - Gets or sets the pattern. - - The pattern. - - - - Gets or sets the minimum length. - - The minimum length. - - - - Gets or sets the maximum length. - - The maximum length. - - - - Gets or sets the maximum decimals. - - The maximum decimals. - - - - Gets or sets the minimum. - - The minimum. - - - - Gets or sets the maximum. - - The maximum. - - - - Gets or sets the minimum number of items. - - The minimum number of items. - - - - Gets or sets the maximum number of items. - - The maximum number of items. - - - - Gets or sets the of items. - - The of items. - - - - Gets or sets the of properties. - - The of properties. - - - - Gets or sets the of additional properties. - - The of additional properties. - - - - Gets or sets a value indicating whether additional properties are allowed. - - - true if additional properties are allowed; otherwise, false. - - - - - Gets or sets the required property if this property is present. - - The required property if this property is present. - - - - Gets or sets the identity. - - The identity. - - - - Gets or sets the a collection of valid enum values allowed. - - A collection of valid enum values allowed. - - - - Gets or sets a collection of options. - - A collection of options. - - - - Gets or sets disallowed types. - - The disallow types. - - - - Gets or sets the default value. - - The default value. - - - - Gets or sets the extend . - - The extended . - - - - Gets or sets the format. - - The format. - - - - Generates a from a specified . - - - - - Generate a from the specified type. - - The type to generate a from. - A generated from the specified type. - - - - Generate a from the specified type. - - The type to generate a from. - The used to resolve schema references. - A generated from the specified type. - - - - Generate a from the specified type. - - The type to generate a from. - Specify whether the generated root will be nullable. - A generated from the specified type. - - - - Generate a from the specified type. - - The type to generate a from. - The used to resolve schema references. - Specify whether the generated root will be nullable. - A generated from the specified type. - - - - Gets or sets how undefined schemas are handled by the serializer. - - - - - Gets or sets the contract resolver. - - The contract resolver. - - - - The value types allowed by the . - - - - - No type specified. - - - - - String type. - - - - - Float type. - - - - - Integer type. - - - - - Boolean type. - - - - - Object type. - - - - - Array type. - - - - - Null type. - - - - - Any type. - - - - - Contract details for a used by the . - - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Gets or sets the object member serialization. - - The member object serialization. - - - - Gets the object's properties. - - The object's properties. - - - - Gets or sets the parametrized constructor used to create the object. - - The parametrized constructor. - - - - Contract details for a used by the . - - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Get and set values for a using reflection. - - - - - Initializes a new instance of the class. - - The member info. - - - - Sets the value. - - The target to set the value on. - The value to set on the target. - - - - Gets the value. - - The target to get the value from. - The value. - - - - When applied to a method, specifies that the method is called when an error occurs serializing an object. - - - - - Represents a method that constructs an object. - - - - - Specifies type name handling options for the . - - - - - Do not include the .NET type name when serializing types. - - - - - Include the .NET type name when serializing into a JSON object structure. - - - - - Include the .NET type name when serializing into a JSON array structure. - - - - - Include the .NET type name when the type of the object being serialized is not the same as its declared type. - - - - - Always include the .NET type name when serializing. - - - - - Converts the value to the specified type. - - The type to convert the value to. - The value to convert. - The converted type. - - - - Converts the value to the specified type. - - The type to convert the value to. - The value to convert. - The culture to use when converting. - The converted type. - - - - Converts the value to the specified type. - - The value to convert. - The culture to use when converting. - The type to convert the value to. - The converted type. - - - - Converts the value to the specified type. - - The type to convert the value to. - The value to convert. - The converted value if the conversion was successful or the default value of T if it failed. - - true if initialValue was converted successfully; otherwise, false. - - - - - Converts the value to the specified type. - - The type to convert the value to. - The value to convert. - The culture to use when converting. - The converted value if the conversion was successful or the default value of T if it failed. - - true if initialValue was converted successfully; otherwise, false. - - - - - Converts the value to the specified type. - - The value to convert. - The culture to use when converting. - The type to convert the value to. - The converted value if the conversion was successful or the default value of T if it failed. - - true if initialValue was converted successfully; otherwise, false. - - - - - Converts the value to the specified type. If the value is unable to be converted, the - value is checked whether it assignable to the specified type. - - The type to convert or cast the value to. - The value to convert. - The converted type. If conversion was unsuccessful, the initial value is returned if assignable to the target type - - - - Converts the value to the specified type. If the value is unable to be converted, the - value is checked whether it assignable to the specified type. - - The type to convert or cast the value to. - The value to convert. - The culture to use when converting. - The converted type. If conversion was unsuccessful, the initial value is returned if assignable to the target type - - - - Converts the value to the specified type. If the value is unable to be converted, the - value is checked whether it assignable to the specified type. - - The value to convert. - The culture to use when converting. - The type to convert or cast the value to. - - The converted type. If conversion was unsuccessful, the initial value - is returned if assignable to the target type. - - - - - Converts the value to the specified type. If the value is unable to be converted, the - value is checked whether it assignable to the specified type. - - The type to convert the value to. - The value to convert. - The converted value if the conversion was successful or the default value of T if it failed. - - true if initialValue was converted successfully or is assignable; otherwise, false. - - - - - Converts the value to the specified type. If the value is unable to be converted, the - value is checked whether it assignable to the specified type. - - The type to convert the value to. - The value to convert. - The culture to use when converting. - The converted value if the conversion was successful or the default value of T if it failed. - - true if initialValue was converted successfully or is assignable; otherwise, false. - - - - - Converts the value to the specified type. If the value is unable to be converted, the - value is checked whether it assignable to the specified type. - - The value to convert. - The culture to use when converting. - The type to convert the value to. - The converted value if the conversion was successful or the default value of T if it failed. - - true if initialValue was converted successfully or is assignable; otherwise, false. - - - - - Parses the specified enum member name, returning it's value. - - Name of the enum member. - - - - - Parses the specified enum member name, returning it's value. - - Name of the enum member. - If set to true ignore case. - - - - - Gets a dictionary of the names and values of an Enum type. - - - - - - Gets a dictionary of the names and values of an Enum type. - - - - - - Gets a dictionary of the names and values of an Enum type. - - The enum type to get names and values for. - - - - - Gets the maximum valid value of an Enum type. Flags enums are ORed. - - The type of the returned value. Must be assignable from the enum's underlying value type. - The enum type to get the maximum value for. - - - - - Specifies the type of Json token. - - - - - This is returned by the if a method has not been called. - - - - - An object start token. - - - - - An array start token. - - - - - A constructor start token. - - - - - An object property name. - - - - - A comment. - - - - - Raw JSON. - - - - - An interger. - - - - - A float. - - - - - A string. - - - - - A boolean. - - - - - A null token. - - - - - An undefined token. - - - - - An object end token. - - - - - An array end token. - - - - - A constructor end token. - - - - - A Date. - - - - - Byte data. - - - - - Specifies the state of the . - - - - - An exception has been thrown, which has left the in an invalid state. - You may call the method to put the in the Closed state. - Any other method calls results in an being thrown. - - - - - The method has been called. - - - - - An object is being written. - - - - - A array is being written. - - - - - A constructor is being written. - - - - - A property is being written. - - - - - A write method has not been called. - - - - - Specifies formatting options for the . - - - - - No special formatting is applied. This is the default. - - - - - Causes child objects to be indented according to the and settings. - - - - - Builds a string. Unlike StringBuilder this class lets you reuse it's internal buffer. - - - - - Determines whether the collection is null or empty. - - The collection. - - true if the collection is null or empty; otherwise, false. - - - - - Determines whether the collection is null or empty. - - The collection. - - true if the collection is null or empty; otherwise, false. - - - - - Determines whether the collection is null, empty or its contents are uninitialized values. - - The list. - - true if the collection is null or empty or its contents are uninitialized values; otherwise, false. - - - - - Makes a slice of the specified list in between the start and end indexes. - - The list. - The start index. - The end index. - A slice of the list. - - - - Makes a slice of the specified list in between the start and end indexes, - getting every so many items based upon the step. - - The list. - The start index. - The end index. - The step. - A slice of the list. - - - - Group the collection using a function which returns the key. - - The source collection to group. - The key selector. - A Dictionary with each key relating to a list of objects in a list grouped under it. - - - - Adds the elements of the specified collection to the specified generic IList. - - The list to add to. - The collection of elements to add. - - - - Gets the type of the typed collection's items. - - The type. - The type of the typed collection's items. - - - - Tests whether the list's items are their unitialized value. - - The list. - Whether the list's items are their unitialized value - - - - Gets the member's underlying type. - - The member. - The underlying type of the member. - - - - Determines whether the member is an indexed property. - - The member. - - true if the member is an indexed property; otherwise, false. - - - - - Determines whether the property is an indexed property. - - The property. - - true if the property is an indexed property; otherwise, false. - - - - - Gets the member's value on the object. - - The member. - The target object. - The member's value on the object. - - - - Sets the member's value on the target object. - - The member. - The target. - The value. - - - - Determines whether the specified MemberInfo can be read. - - The MemberInfo to determine whether can be read. - /// if set to true then allow the member to be gotten non-publicly. - - true if the specified MemberInfo can be read; otherwise, false. - - - - - Determines whether the specified MemberInfo can be set. - - The MemberInfo to determine whether can be set. - if set to true then allow the member to be set non-publicly. - - true if the specified MemberInfo can be set; otherwise, false. - - - - - Determines whether the string contains white space. - - The string to test for white space. - - true if the string contains white space; otherwise, false. - - - - - Determines whether the string is all white space. Empty string will return false. - - The string to test whether it is all white space. - - true if the string is all white space; otherwise, false. - - - - - Ensures the target string ends with the specified string. - - The target. - The value. - The target string with the value string at the end. - - - - Perform an action if the string is not null or empty. - - The value. - The action to perform. - - - - Indents the specified string. - - The string to indent. - The number of characters to indent by. - - - - - Indents the specified string. - - The string to indent. - The number of characters to indent by. - The indent character. - - - - - Numbers the lines. - - The string to number. - - - - - Nulls an empty string. - - The string. - Null if the string was null, otherwise the string unchanged. - - - diff --git a/lib/Symbiote.Lucene/Symbiote.Core.dll b/lib/Symbiote.Lucene/Symbiote.Core.dll deleted file mode 100644 index 425b69a..0000000 Binary files a/lib/Symbiote.Lucene/Symbiote.Core.dll and /dev/null differ diff --git a/lib/Symbiote.Lucene/Symbiote.Core.pdb b/lib/Symbiote.Lucene/Symbiote.Core.pdb deleted file mode 100644 index 9e4470a..0000000 Binary files a/lib/Symbiote.Lucene/Symbiote.Core.pdb and /dev/null differ diff --git a/lib/Symbiote.Lucene/Symbiote.Lucene.dll b/lib/Symbiote.Lucene/Symbiote.Lucene.dll deleted file mode 100644 index b35006c..0000000 Binary files a/lib/Symbiote.Lucene/Symbiote.Lucene.dll and /dev/null differ diff --git a/lib/Symbiote.Lucene/Symbiote.Lucene.pdb b/lib/Symbiote.Lucene/Symbiote.Lucene.pdb deleted file mode 100644 index 554c17b..0000000 Binary files a/lib/Symbiote.Lucene/Symbiote.Lucene.pdb and /dev/null differ diff --git a/lib/Symbiote.Lucene/System.CoreEx.dll b/lib/Symbiote.Lucene/System.CoreEx.dll deleted file mode 100644 index 6165df5..0000000 Binary files a/lib/Symbiote.Lucene/System.CoreEx.dll and /dev/null differ diff --git a/lib/Symbiote.Lucene/System.Interactive.dll b/lib/Symbiote.Lucene/System.Interactive.dll deleted file mode 100644 index 86d03cd..0000000 Binary files a/lib/Symbiote.Lucene/System.Interactive.dll and /dev/null differ diff --git a/lib/Symbiote.Lucene/System.Reactive.dll b/lib/Symbiote.Lucene/System.Reactive.dll deleted file mode 100644 index 3d22582..0000000 Binary files a/lib/Symbiote.Lucene/System.Reactive.dll and /dev/null differ diff --git a/lib/Symbiote.StructureMap/Microsoft.Practices.ServiceLocation.dll b/lib/Symbiote.StructureMap/Microsoft.Practices.ServiceLocation.dll deleted file mode 100644 index 3f88954..0000000 Binary files a/lib/Symbiote.StructureMap/Microsoft.Practices.ServiceLocation.dll and /dev/null differ diff --git a/lib/Symbiote.StructureMap/Microsoft.Practices.ServiceLocation.xml b/lib/Symbiote.StructureMap/Microsoft.Practices.ServiceLocation.xml deleted file mode 100644 index 6c6f2fe..0000000 --- a/lib/Symbiote.StructureMap/Microsoft.Practices.ServiceLocation.xml +++ /dev/null @@ -1,280 +0,0 @@ - - - - Microsoft.Practices.ServiceLocation - - - - - The standard exception thrown when a ServiceLocator has an error in resolving an object. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class with a specified error message. - - - The message that describes the error. - - - - - Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. - - - The error message that explains the reason for the exception. - - - The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. - - - - - Initializes a new instance of the class with serialized data. - - - The that holds the serialized object data about the exception being thrown. - - - The that contains contextual information about the source or destination. - - - The parameter is null. - - - The class name is null or is zero (0). - - - - - The generic Service Locator interface. This interface is used - to retrieve services (instances identified by type and optional - name) from a container. - - - - - Get an instance of the given . - - Type of object requested. - if there is an error resolving - the service instance. - The requested service instance. - - - - Get an instance of the given named . - - Type of object requested. - Name the object was registered with. - if there is an error resolving - the service instance. - The requested service instance. - - - - Get all instances of the given currently - registered in the container. - - Type of object requested. - if there is are errors resolving - the service instance. - A sequence of instances of the requested . - - - - Get an instance of the given . - - Type of object requested. - if there is are errors resolving - the service instance. - The requested service instance. - - - - Get an instance of the given named . - - Type of object requested. - Name the object was registered with. - if there is are errors resolving - the service instance. - The requested service instance. - - - - Get all instances of the given currently - registered in the container. - - Type of object requested. - if there is are errors resolving - the service instance. - A sequence of instances of the requested . - - - - A strongly-typed resource class, for looking up localized strings, etc. - - - - - Returns the cached ResourceManager instance used by this class. - - - - - Overrides the current thread's CurrentUICulture property for all - resource lookups using this strongly typed resource class. - - - - - Looks up a localized string similar to Activation error occured while trying to get all instances of type {0}. - - - - - Looks up a localized string similar to Activation error occured while trying to get instance of type {0}, key "{1}". - - - - - This class provides the ambient container for this application. If your - framework defines such an ambient container, use ServiceLocator.Current - to get it. - - - - - Set the delegate that is used to retrieve the current container. - - Delegate that, when called, will return - the current ambient container. - - - - The current ambient container. - - - - - This class is a helper that provides a default implementation - for most of the methods of . - - - - - Implementation of . - - The requested service. - if there is an error in resolving the service instance. - The requested object. - - - - Get an instance of the given . - - Type of object requested. - if there is an error resolving - the service instance. - The requested service instance. - - - - Get an instance of the given named . - - Type of object requested. - Name the object was registered with. - if there is an error resolving - the service instance. - The requested service instance. - - - - Get all instances of the given currently - registered in the container. - - Type of object requested. - if there is are errors resolving - the service instance. - A sequence of instances of the requested . - - - - Get an instance of the given . - - Type of object requested. - if there is are errors resolving - the service instance. - The requested service instance. - - - - Get an instance of the given named . - - Type of object requested. - Name the object was registered with. - if there is are errors resolving - the service instance. - The requested service instance. - - - - Get all instances of the given currently - registered in the container. - - Type of object requested. - if there is are errors resolving - the service instance. - A sequence of instances of the requested . - - - - When implemented by inheriting classes, this method will do the actual work of resolving - the requested service instance. - - Type of instance requested. - Name of registered service you want. May be null. - The requested service instance. - - - - When implemented by inheriting classes, this method will do the actual work of - resolving all the requested service instances. - - Type of service requested. - Sequence of service instance objects. - - - - Format the exception message for use in an - that occurs while resolving a single service. - - The actual exception thrown by the implementation. - Type of service requested. - Name requested. - The formatted exception message string. - - - - Format the exception message for use in an - that occurs while resolving multiple service instances. - - The actual exception thrown by the implementation. - Type of service requested. - The formatted exception message string. - - - - This delegate type is used to provide a method that will - return the current container. Used with the - static accessor class. - - An . - - - diff --git a/lib/Symbiote.StructureMap/Newtonsoft.Json.dll b/lib/Symbiote.StructureMap/Newtonsoft.Json.dll deleted file mode 100644 index 4703b89..0000000 Binary files a/lib/Symbiote.StructureMap/Newtonsoft.Json.dll and /dev/null differ diff --git a/lib/Symbiote.StructureMap/Newtonsoft.Json.pdb b/lib/Symbiote.StructureMap/Newtonsoft.Json.pdb deleted file mode 100644 index df5da99..0000000 Binary files a/lib/Symbiote.StructureMap/Newtonsoft.Json.pdb and /dev/null differ diff --git a/lib/Symbiote.StructureMap/Newtonsoft.Json.xml b/lib/Symbiote.StructureMap/Newtonsoft.Json.xml deleted file mode 100644 index e5e3da7..0000000 --- a/lib/Symbiote.StructureMap/Newtonsoft.Json.xml +++ /dev/null @@ -1,6364 +0,0 @@ - - - - Newtonsoft.Json - - - - - Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. - - - - - Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. - - - - - Initializes a new instance of the class with the specified . - - - - - Reads the next JSON token from the stream. - - true if the next token was read successfully; false if there are no more tokens to read. - - - - Reads the next JSON token from the stream as a . - - A or a null reference if the next JSON token is null. - - - - Skips the children of the current token. - - - - - Sets the current token. - - The new token. - - - - Sets the current token and value. - - The new token. - The value. - - - - Sets the state based on current token type. - - - - - Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. - - - - - Releases unmanaged and - optionally - managed resources - - true to release both managed and unmanaged resources; false to release only unmanaged resources. - - - - Changes the to Closed. - - - - - Gets the current reader state. - - The current reader state. - - - - Gets the quotation mark character used to enclose the value of a string. - - - - - Gets the type of the current Json token. - - - - - Gets the text value of the current Json token. - - - - - Gets The Common Language Runtime (CLR) type for the current Json token. - - - - - Gets the depth of the current token in the JSON document. - - The depth of the current token in the JSON document. - - - - Specifies the state of the reader. - - - - - The Read method has not been called. - - - - - The end of the file has been reached successfully. - - - - - Reader is at a property. - - - - - Reader is at the start of an object. - - - - - Reader is in an object. - - - - - Reader is at the start of an array. - - - - - Reader is in an array. - - - - - The Close method has been called. - - - - - Reader has just read a value. - - - - - Reader is at the start of a constructor. - - - - - Reader in a constructor. - - - - - An error occurred that prevents the read operation from continuing. - - - - - The end of the file has been reached successfully. - - - - - Initializes a new instance of the class. - - The stream. - - - - Initializes a new instance of the class. - - The stream. - if set to true the root object will be read as a JSON array. - The used when reading values from BSON. - - - - Reads the next JSON token from the stream as a . - - - A or a null reference if the next JSON token is null. - - - - - Reads the next JSON token from the stream. - - - true if the next token was read successfully; false if there are no more tokens to read. - - - - - Gets or sets a value indicating whether the root object will be read as a JSON array. - - - true if the root object will be read as a JSON array; otherwise, false. - - - - - Gets or sets the used when reading values from BSON. - - The used when reading values from BSON. - - - - Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. - - - - - Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. - - - - - Creates an instance of the JsonWriter class. - - - - - Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. - - - - - Closes this stream and the underlying stream. - - - - - Writes the beginning of a Json object. - - - - - Writes the end of a Json object. - - - - - Writes the beginning of a Json array. - - - - - Writes the end of an array. - - - - - Writes the start of a constructor with the given name. - - The name of the constructor. - - - - Writes the end constructor. - - - - - Writes the property name of a name/value pair on a Json object. - - The name of the property. - - - - Writes the end of the current Json object or array. - - - - - Writes the current token. - - The to read the token from. - - - - Writes the specified end token. - - The end token to write. - - - - Writes indent characters. - - - - - Writes the JSON value delimiter. - - - - - Writes an indent space. - - - - - Writes a null value. - - - - - Writes an undefined value. - - - - - Writes raw JSON without changing the writer's state. - - The raw JSON to write. - - - - Writes raw JSON where a value is expected and updates the writer's state. - - The raw JSON to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - An error will raised if the value cannot be written as a single JSON token. - - The value to write. - - - - Writes out a comment /*...*/ containing the specified text. - - Text to place inside the comment. - - - - Writes out the given white space. - - The string of white space characters. - - - - Gets the top. - - The top. - - - - Gets the state of the writer. - - - - - Indicates how the output is formatted. - - - - - Initializes a new instance of the class. - - The stream. - - - - Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. - - - - - Writes the end. - - The token. - - - - Writes out a comment /*...*/ containing the specified text. - - Text to place inside the comment. - - - - Writes the start of a constructor with the given name. - - The name of the constructor. - - - - Writes raw JSON. - - The raw JSON to write. - - - - Writes raw JSON where a value is expected and updates the writer's state. - - The raw JSON to write. - - - - Writes the beginning of a Json array. - - - - - Writes the beginning of a Json object. - - - - - Writes the property name of a name/value pair on a Json object. - - The name of the property. - - - - Writes a null value. - - - - - Writes an undefined value. - - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value that represents a BSON object id. - - - - - - Writes a BSON regex. - - The regex pattern. - The regex options. - - - - Gets or sets the used when writing values to BSON. - When set to no conversion will occur. - - The used when writing values to BSON. - - - - Represents a BSON Oid (object id). - - - - - Initializes a new instance of the class. - - The Oid value. - - - - Gets or sets the value of the Oid. - - The value of the Oid. - - - - Converts a binary value to and from a base 64 string value. - - - - - Converts an object to and from JSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Gets the of the JSON produced by the JsonConverter. - - The of the JSON produced by the JsonConverter. - - - - Gets a value indicating whether this can read JSON. - - true if this can read JSON; otherwise, false. - - - - Gets a value indicating whether this can write JSON. - - true if this can write JSON; otherwise, false. - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Converts a to and from JSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified value type. - - Type of the value. - - true if this instance can convert the specified value type; otherwise, false. - - - - - Converts a to and from JSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified value type. - - Type of the value. - - true if this instance can convert the specified value type; otherwise, false. - - - - - Create a custom object - - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Creates an object which will then be populated by the serializer. - - Type of the object. - - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Gets a value indicating whether this can write JSON. - - - true if this can write JSON; otherwise, false. - - - - - Provides a base class for converting a to and from JSON. - - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Converts an Entity Framework EntityKey to and from JSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Converts a to and from JSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Converts a to and from JSON and BSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Converts a to and from JSON and BSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Converts an to and from its name string value. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Specifies how constructors are used when initializing objects during deserialization by the . - - - - - First attempt to use the public default constructor then fall back to single paramatized constructor. - - - - - Allow Json.NET to use a non-public default constructor. - - - - - Represents a raw JSON string. - - - - - Represents a value in JSON (string, integer, date, etc). - - - - - Represents an abstract JSON token. - - - - - Represents a collection of objects. - - The type of token - - - - Gets the with the specified key. - - - - - - Provides an interface to enable a class to return line and position information. - - - - - Gets a value indicating whether the class can return line information. - - - true if LineNumber and LinePosition can be provided; otherwise, false. - - - - - Gets the current line number. - - The current line number or 0 if no line information is available (for example, HasLineInfo returns false). - - - - Gets the current line position. - - The current line position or 0 if no line information is available (for example, HasLineInfo returns false). - - - - Compares the values of two tokens, including the values of all descendant tokens. - - The first to compare. - The second to compare. - true if the tokens are equal; otherwise false. - - - - Adds the specified content immediately after this token. - - A content object that contains simple content or a collection of content objects to be added after this token. - - - - Adds the specified content immediately before this token. - - A content object that contains simple content or a collection of content objects to be added before this token. - - - - Returns a collection of the ancestor tokens of this token. - - A collection of the ancestor tokens of this token. - - - - Returns a collection of the sibling tokens after this token, in document order. - - A collection of the sibling tokens after this tokens, in document order. - - - - Returns a collection of the sibling tokens before this token, in document order. - - A collection of the sibling tokens before this token, in document order. - - - - Gets the with the specified key converted to the specified type. - - The type to convert the token to. - The token key. - The converted token value. - - - - Returns a collection of the child tokens of this token, in document order. - - An of containing the child tokens of this , in document order. - - - - Returns a collection of the child tokens of this token, in document order, filtered by the specified type. - - The type to filter the child tokens on. - A containing the child tokens of this , in document order. - - - - Returns a collection of the child values of this token, in document order. - - The type to convert the values to. - A containing the child values of this , in document order. - - - - Removes this token from its parent. - - - - - Replaces this token with the specified token. - - The value. - - - - Writes this token to a . - - A into which this method will write. - A collection of which will be used when writing the token. - - - - Returns the indented JSON for this token. - - - The indented JSON for this token. - - - - - Returns the JSON for this token using the given formatting and converters. - - Indicates how the output is formatted. - A collection of which will be used when writing the token. - The JSON for this token using the given formatting and converters. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Creates an for this token. - - An that can be used to read this token and its descendants. - - - - Creates a from an object. - - The object that will be used to create . - A with the value of the specified object - - - - Creates a from an object using the specified . - - The object that will be used to create . - The that will be used when reading the object. - A with the value of the specified object - - - - Creates a from a . - - An positioned at the token to read into this . - - An that contains the token and its descendant tokens - that were read from the reader. The runtime type of the token is determined - by the token type of the first token encountered in the reader. - - - - - Selects the token that matches the object path. - - - The object path from the current to the - to be returned. This must be a string of property names or array indexes separated - by periods, such as Tables[0].DefaultView[0].Price in C# or - Tables(0).DefaultView(0).Price in Visual Basic. - - The that matches the object path or a null reference if no matching token is found. - - - - Selects the token that matches the object path. - - - The object path from the current to the - to be returned. This must be a string of property names or array indexes separated - by periods, such as Tables[0].DefaultView[0].Price in C# or - Tables(0).DefaultView(0).Price in Visual Basic. - - A flag to indicate whether an error should be thrown if no token is found. - The that matches the object path. - - - - Gets a comparer that can compare two tokens for value equality. - - A that can compare two nodes for value equality. - - - - Gets or sets the parent. - - The parent. - - - - Gets the root of this . - - The root of this . - - - - Gets the node type for this . - - The type. - - - - Gets a value indicating whether this token has childen tokens. - - - true if this token has child values; otherwise, false. - - - - - Gets the next sibling token of this node. - - The that contains the next sibling token. - - - - Gets the previous sibling token of this node. - - The that contains the previous sibling token. - - - - Gets the with the specified key. - - The with the specified key. - - - - Get the first child token of this token. - - A containing the first child token of the . - - - - Get the last child token of this token. - - A containing the last child token of the . - - - - Initializes a new instance of the class from another object. - - A object to copy from. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Creates a comment with the given value. - - The value. - A comment with the given value. - - - - Creates a string with the given value. - - The value. - A string with the given value. - - - - Writes this token to a . - - A into which this method will write. - A collection of which will be used when writing the token. - - - - Indicates whether the current object is equal to another object of the same type. - - - true if the current object is equal to the parameter; otherwise, false. - - An object to compare with this object. - - - - Determines whether the specified is equal to the current . - - The to compare with the current . - - true if the specified is equal to the current ; otherwise, false. - - - The parameter is null. - - - - - Serves as a hash function for a particular type. - - - A hash code for the current . - - - - - Gets a value indicating whether this token has childen tokens. - - - true if this token has child values; otherwise, false. - - - - - Gets the node type for this . - - The type. - - - - Gets or sets the underlying token value. - - The underlying token value. - - - - Initializes a new instance of the class from another object. - - A object to copy from. - - - - Initializes a new instance of the class. - - The raw json. - - - - Creates an instance of with the content of the reader's current token. - - The reader. - An instance of with the content of the reader's current token. - - - - Indicating whether a property is required. - - - - - The property is not required. The default state. - - - - - The property must be defined in JSON but can be a null value. - - - - - The property must be defined in JSON and cannot be a null value. - - - - - Contract details for a used by the . - - - - - Contract details for a used by the . - - - - - Gets the underlying type for the contract. - - The underlying type for the contract. - - - - Gets or sets the type created during deserialization. - - The type created during deserialization. - - - - Gets or sets whether this type contract is serialized as a reference. - - Whether this type contract is serialized as a reference. - - - - Gets or sets the default for this contract. - - The converter. - - - - Gets or sets the method called immediately after deserialization of the object. - - The method called immediately after deserialization of the object. - - - - Gets or sets the method called during deserialization of the object. - - The method called during deserialization of the object. - - - - Gets or sets the method called after serialization of the object graph. - - The method called after serialization of the object graph. - - - - Gets or sets the method called before serialization of the object. - - The method called before serialization of the object. - - - - Gets or sets the default creator method used to create the object. - - The default creator method used to create the object. - - - - Gets or sets a value indicating whether [default creator non public]. - - true if the default object creator is non-public; otherwise, false. - - - - Gets or sets the method called when an error is thrown during the serialization of the object. - - The method called when an error is thrown during the serialization of the object. - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Gets or sets the ISerializable object constructor. - - The ISerializable object constructor. - - - - Contract details for a used by the . - - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Contract details for a used by the . - - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Get and set values for a using dynamic methods. - - - - - Provides methods to get and set values. - - - - - Sets the value. - - The target to set the value on. - The value to set on the target. - - - - Gets the value. - - The target to get the value from. - The value. - - - - Initializes a new instance of the class. - - The member info. - - - - Sets the value. - - The target to set the value on. - The value to set on the target. - - - - Gets the value. - - The target to get the value from. - The value. - - - - Provides data for the Error event. - - - - - Initializes a new instance of the class. - - The current object. - The error context. - - - - Gets the current object the error event is being raised against. - - The current object the error event is being raised against. - - - - Gets the error context. - - The error context. - - - - Represents a view of a . - - - - - Initializes a new instance of the class. - - The name. - Type of the property. - - - - When overridden in a derived class, returns whether resetting an object changes its value. - - - true if resetting the component changes its value; otherwise, false. - - The component to test for reset capability. - - - - - When overridden in a derived class, gets the current value of the property on a component. - - - The value of a property for a given component. - - The component with the property for which to retrieve the value. - - - - - When overridden in a derived class, resets the value for this property of the component to the default value. - - The component with the property value that is to be reset to the default value. - - - - - When overridden in a derived class, sets the value of the component to a different value. - - The component with the property value that is to be set. - The new value. - - - - - When overridden in a derived class, determines a value indicating whether the value of this property needs to be persisted. - - - true if the property should be persisted; otherwise, false. - - The component with the property to be examined for persistence. - - - - - When overridden in a derived class, gets the type of the component this property is bound to. - - - A that represents the type of component this property is bound to. When the or methods are invoked, the object specified might be an instance of this type. - - - - - When overridden in a derived class, gets a value indicating whether this property is read-only. - - - true if the property is read-only; otherwise, false. - - - - - When overridden in a derived class, gets the type of the property. - - - A that represents the type of the property. - - - - - Gets the hash code for the name of the member. - - - - The hash code for the name of the member. - - - - - Represents a view of a . - - - - - Initializes a new instance of the class. - - The value. - - - - Returns the properties for this instance of a component. - - - A that represents the properties for this component instance. - - - - - Returns the properties for this instance of a component using the attribute array as a filter. - - An array of type that is used as a filter. - - A that represents the filtered properties for this component instance. - - - - - Returns a collection of custom attributes for this instance of a component. - - - An containing the attributes for this object. - - - - - Returns the class name of this instance of a component. - - - The class name of the object, or null if the class does not have a name. - - - - - Returns the name of this instance of a component. - - - The name of the object, or null if the object does not have a name. - - - - - Returns a type converter for this instance of a component. - - - A that is the converter for this object, or null if there is no for this object. - - - - - Returns the default event for this instance of a component. - - - An that represents the default event for this object, or null if this object does not have events. - - - - - Returns the default property for this instance of a component. - - - A that represents the default property for this object, or null if this object does not have properties. - - - - - Returns an editor of the specified type for this instance of a component. - - A that represents the editor for this object. - - An of the specified type that is the editor for this object, or null if the editor cannot be found. - - - - - Returns the events for this instance of a component using the specified attribute array as a filter. - - An array of type that is used as a filter. - - An that represents the filtered events for this component instance. - - - - - Returns the events for this instance of a component. - - - An that represents the events for this component instance. - - - - - Returns an object that contains the property described by the specified property descriptor. - - A that represents the property whose owner is to be found. - - An that represents the owner of the specified property. - - - - - Used to resolve references when serializing and deserializing JSON by the . - - - - - Resolves a reference to its object. - - The reference to resolve. - The object that - - - - Gets the reference for the sepecified object. - - The object to get a reference for. - The reference to the object. - - - - Determines whether the specified object is referenced. - - The object to test for a reference. - - true if the specified object is referenced; otherwise, false. - - - - - Adds a reference to the specified object. - - The reference. - The object to reference. - - - - Specifies reference handling options for the . - - - - - Do not preserve references when serializing types. - - - - - Preserve references when serializing into a JSON object structure. - - - - - Preserve references when serializing into a JSON array structure. - - - - - Preserve references when serializing. - - - - - Instructs the how to serialize the collection. - - - - - Instructs the how to serialize the object. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class with the specified container Id. - - The container Id. - - - - Gets or sets the id. - - The id. - - - - Gets or sets the title. - - The title. - - - - Gets or sets the description. - - The description. - - - - Gets or sets a value that indicates whether to preserve object reference data. - - - true to keep object reference; otherwise, false. The default is false. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class with a flag indicating whether the array can contain null items - - A flag indicating whether the array can contain null items. - - - - Initializes a new instance of the class with the specified container Id. - - The container Id. - - - - Gets or sets a value indicating whether null items are allowed in the collection. - - true if null items are allowed in the collection; otherwise, false. - - - - Specifies default value handling options for the . - - - - - Include default values when serializing and deserializing objects. - - - - - Ignore default values when serializing and deserializing objects. - - - - - Instructs the to use the specified when serializing the member or class. - - - - - Initializes a new instance of the class. - - Type of the converter. - - - - Gets the type of the converter. - - The type of the converter. - - - - Instructs the how to serialize the object. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class with the specified member serialization. - - The member serialization. - - - - Initializes a new instance of the class with the specified container Id. - - The container Id. - - - - Gets or sets the member serialization. - - The member serialization. - - - - Specifies the settings on a object. - - - - - Initializes a new instance of the class. - - - - - Gets or sets how reference loops (e.g. a class referencing itself) is handled. - - Reference loop handling. - - - - Gets or sets how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. - - Missing member handling. - - - - Gets or sets how objects are created during deserialization. - - The object creation handling. - - - - Gets or sets how null values are handled during serialization and deserialization. - - Null value handling. - - - - Gets or sets how null default are handled during serialization and deserialization. - - The default value handling. - - - - Gets or sets a collection that will be used during serialization. - - The converters. - - - - Gets or sets how object references are preserved by the serializer. - - The preserve references handling. - - - - Gets or sets how type name writing and reading is handled by the serializer. - - The type name handling. - - - - Gets or sets how a type name assembly is written and resolved by the serializer. - - The type name assembly format. - - - - Gets or sets how constructors are used during deserialization. - - The constructor handling. - - - - Gets or sets the contract resolver used by the serializer when - serializing .NET objects to JSON and vice versa. - - The contract resolver. - - - - Gets or sets the used by the serializer when resolving references. - - The reference resolver. - - - - Gets or sets the used by the serializer when resolving type names. - - The binder. - - - - Gets or sets the error handler called during serialization and deserialization. - - The error handler called during serialization and deserialization. - - - - Gets or sets the used by the serializer when invoking serialization callback methods. - - The context. - - - - Represents a reader that provides validation. - - - - - Initializes a new instance of the class that - validates the content returned from the given . - - The to read from while validating. - - - - Reads the next JSON token from the stream as a . - - - A or a null reference if the next JSON token is null. - - - - - Reads the next JSON token from the stream. - - - true if the next token was read successfully; false if there are no more tokens to read. - - - - - Sets an event handler for receiving schema validation errors. - - - - - Gets the text value of the current Json token. - - - - - - Gets the depth of the current token in the JSON document. - - The depth of the current token in the JSON document. - - - - Gets the quotation mark character used to enclose the value of a string. - - - - - - Gets the type of the current Json token. - - - - - - Gets The Common Language Runtime (CLR) type for the current Json token. - - - - - - Gets or sets the schema. - - The schema. - - - - Gets the used to construct this . - - The specified in the constructor. - - - - Compares tokens to determine whether they are equal. - - - - - Determines whether the specified objects are equal. - - The first object of type to compare. - The second object of type to compare. - - true if the specified objects are equal; otherwise, false. - - - - - Returns a hash code for the specified object. - - The for which a hash code is to be returned. - A hash code for the specified object. - The type of is a reference type and is null. - - - - Specifies the member serialization options for the . - - - - - All members are serialized by default. Members can be excluded using the . - - - - - Only members must be marked with the are serialized. - - - - - Specifies how object creation is handled by the . - - - - - Reuse existing objects, create new objects when needed. - - - - - Only reuse existing objects. - - - - - Always create new objects. - - - - - Converts a to and from the ISO 8601 date format (e.g. 2008-04-12T12:53Z). - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Gets or sets the date time styles used when converting a date to and from JSON. - - The date time styles used when converting a date to and from JSON. - - - - Gets or sets the date time format used when converting a date to and from JSON. - - The date time format used when converting a date to and from JSON. - - - - Gets or sets the culture used when converting a date to and from JSON. - - The culture used when converting a date to and from JSON. - - - - Converts a to and from a JavaScript date constructor (e.g. new Date(52231943)). - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing property value of the JSON that is being converted. - The calling serializer. - The object value. - - - - Specifies whether a DateTime object represents a local time, a Coordinated Universal Time (UTC), or is not specified as either local time or UTC. - - - - - The time represented is local time. - - - - - The time represented is UTC. - - - - - The time represented is not specified as either local time or Coordinated Universal Time (UTC). - - - - - Preserves the DateTimeKind field of a date when a DateTime object is converted to a string and the string is then converted back to a DateTime object. - - - - - Converts an to and from JSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The calling serializer. - The value. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Checks if the attributeName is a namespace attribute. - - Attribute name to test. - The attribute name prefix if it has one, otherwise an empty string. - True if attribute name is for a namespace attribute, otherwise false. - - - - Determines whether this instance can convert the specified value type. - - Type of the value. - - true if this instance can convert the specified value type; otherwise, false. - - - - - Gets or sets the name of the root element to insert when deserializing to XML if the JSON structure has produces multiple root elements. - - The name of the deserialize root element. - - - - Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. - - - - - Initializes a new instance of the class with the specified . - - The TextReader containing the XML data to read. - - - - Reads the next JSON token from the stream. - - - true if the next token was read successfully; false if there are no more tokens to read. - - - - - Reads the next JSON token from the stream as a . - - - A or a null reference if the next JSON token is null. - - - - - Changes the state to closed. - - - - - Gets a value indicating whether the class can return line information. - - - true if LineNumber and LinePosition can be provided; otherwise, false. - - - - - Gets the current line number. - - - The current line number or 0 if no line information is available (for example, HasLineInfo returns false). - - - - - Gets the current line position. - - - The current line position or 0 if no line information is available (for example, HasLineInfo returns false). - - - - - Instructs the to always serialize the member with the specified name. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class with the specified name. - - Name of the property. - - - - Gets or sets the null value handling used when serializing this property. - - The null value handling. - - - - Gets or sets the default value handling used when serializing this property. - - The default value handling. - - - - Gets or sets the reference loop handling used when serializing this property. - - The reference loop handling. - - - - Gets or sets the object creation handling used when deserializing this property. - - The object creation handling. - - - - Gets or sets the type name handling used when serializing this property. - - The type name handling. - - - - Gets or sets whether this property's value is serialized as a reference. - - Whether this property's value is serialized as a reference. - - - - Gets or sets the name of the property. - - The name of the property. - - - - Gets or sets a value indicating whether this property is required. - - - A value indicating whether this property is required. - - - - - Instructs the not to serialize the public field or public read/write property value. - - - - - Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. - - - - - Creates an instance of the JsonWriter class using the specified . - - The TextWriter to write to. - - - - Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. - - - - - Closes this stream and the underlying stream. - - - - - Writes the beginning of a Json object. - - - - - Writes the beginning of a Json array. - - - - - Writes the start of a constructor with the given name. - - The name of the constructor. - - - - Writes the specified end token. - - The end token to write. - - - - Writes the property name of a name/value pair on a Json object. - - The name of the property. - - - - Writes indent characters. - - - - - Writes the JSON value delimiter. - - - - - Writes an indent space. - - - - - Writes a null value. - - - - - Writes an undefined value. - - - - - Writes raw JSON. - - The raw JSON to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes out a comment /*...*/ containing the specified text. - - Text to place inside the comment. - - - - Writes out the given white space. - - The string of white space characters. - - - - Gets or sets how many IndentChars to write for each level in the hierarchy when is set to Formatting.Indented. - - - - - Gets or sets which character to use to quote attribute values. - - - - - Gets or sets which character to use for indenting when is set to Formatting.Indented. - - - - - Gets or sets a value indicating whether object names will be surrounded with quotes. - - - - - The exception thrown when an error occurs while reading Json text. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class - with a specified error message. - - The error message that explains the reason for the exception. - - - - Initializes a new instance of the class - with a specified error message and a reference to the inner exception that is the cause of this exception. - - The error message that explains the reason for the exception. - The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. - - - - The exception thrown when an error occurs while reading Json text. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class - with a specified error message. - - The error message that explains the reason for the exception. - - - - Initializes a new instance of the class - with a specified error message and a reference to the inner exception that is the cause of this exception. - - The error message that explains the reason for the exception. - The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. - - - - Gets the line number indicating where the error occurred. - - The line number indicating where the error occurred. - - - - Gets the line position indicating where the error occurred. - - The line position indicating where the error occurred. - - - - Represents a collection of . - - - - - Provides methods for converting between common language runtime types and JSON types. - - - - - Represents JavaScript's boolean value true as a string. This field is read-only. - - - - - Represents JavaScript's boolean value false as a string. This field is read-only. - - - - - Represents JavaScript's null as a string. This field is read-only. - - - - - Represents JavaScript's undefined as a string. This field is read-only. - - - - - Represents JavaScript's positive infinity as a string. This field is read-only. - - - - - Represents JavaScript's negative infinity as a string. This field is read-only. - - - - - Represents JavaScript's NaN as a string. This field is read-only. - - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - The string delimiter character. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Serializes the specified object to a JSON string. - - The object to serialize. - A JSON string representation of the object. - - - - Serializes the specified object to a JSON string. - - The object to serialize. - Indicates how the output is formatted. - - A JSON string representation of the object. - - - - - Serializes the specified object to a JSON string using a collection of . - - The object to serialize. - A collection converters used while serializing. - A JSON string representation of the object. - - - - Serializes the specified object to a JSON string using a collection of . - - The object to serialize. - Indicates how the output is formatted. - A collection converters used while serializing. - A JSON string representation of the object. - - - - Serializes the specified object to a JSON string using a collection of . - - The object to serialize. - Indicates how the output is formatted. - The used to serialize the object. - If this is null, default serialization settings will be is used. - - A JSON string representation of the object. - - - - - Deserializes the specified object to a Json object. - - The object to deserialize. - The deserialized object from the Json string. - - - - Deserializes the specified object to a Json object. - - The object to deserialize. - The of object being deserialized. - The deserialized object from the Json string. - - - - Deserializes the specified object to a Json object. - - The type of the object to deserialize. - The object to deserialize. - The deserialized object from the Json string. - - - - Deserializes the specified JSON to the given anonymous type. - - - The anonymous type to deserialize to. This can't be specified - traditionally and must be infered from the anonymous type passed - as a parameter. - - The object to deserialize. - The anonymous type object. - The deserialized anonymous type from the JSON string. - - - - Deserializes the JSON string to the specified type. - - The type of the object to deserialize. - The object to deserialize. - Converters to use while deserializing. - The deserialized object from the JSON string. - - - - Deserializes the JSON string to the specified type. - - The type of the object to deserialize. - The object to deserialize. - - The used to deserialize the object. - If this is null, default serialization settings will be is used. - - The deserialized object from the JSON string. - - - - Deserializes the JSON string to the specified type. - - The object to deserialize. - The type of the object to deserialize. - Converters to use while deserializing. - The deserialized object from the JSON string. - - - - Deserializes the JSON string to the specified type. - - The JSON to deserialize. - The type of the object to deserialize. - - The used to deserialize the object. - If this is null, default serialization settings will be is used. - - The deserialized object from the JSON string. - - - - Populates the object with values from the JSON string. - - The JSON to populate values from. - The target object to populate values onto. - - - - Populates the object with values from the JSON string. - - The JSON to populate values from. - The target object to populate values onto. - - The used to deserialize the object. - If this is null, default serialization settings will be is used. - - - - - Serializes the to a JSON string. - - The node to convert to JSON. - A JSON string of the XNode. - - - - Serializes the to a JSON string. - - The node to convert to JSON. - Indicates how the output is formatted. - A JSON string of the XNode. - - - - Deserializes the from a JSON string. - - The JSON string. - The deserialized XNode - - - - Deserializes the from a JSON string nested in a root elment. - - The JSON string. - The name of the root element to append when deserializing. - The deserialized XNode - - - - Serializes the XML node to a JSON string. - - The node to serialize. - A JSON string of the XmlNode. - - - - Serializes the XML node to a JSON string. - - The node to serialize. - Indicates how the output is formatted. - A JSON string of the XmlNode. - - - - Deserializes the XmlNode from a JSON string. - - The JSON string. - The deserialized XmlNode - - - - Deserializes the XmlNode from a JSON string nested in a root elment. - - The JSON string. - The name of the root element to append when deserializing. - The deserialized XmlNode - - - - The exception thrown when an error occurs during Json serialization or deserialization. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class - with a specified error message. - - The error message that explains the reason for the exception. - - - - Initializes a new instance of the class - with a specified error message and a reference to the inner exception that is the cause of this exception. - - The error message that explains the reason for the exception. - The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. - - - - Serializes and deserializes objects into and from the JSON format. - The enables you to control how objects are encoded into JSON. - - - - - Initializes a new instance of the class. - - - - - Creates a new instance using the specified . - - The settings to be applied to the . - A new instance using the specified . - - - - Populates the JSON values onto the target object. - - The that contains the JSON structure to reader values from. - The target object to populate values onto. - - - - Populates the JSON values onto the target object. - - The that contains the JSON structure to reader values from. - The target object to populate values onto. - - - - Deserializes the Json structure contained by the specified . - - The that contains the JSON structure to deserialize. - The being deserialized. - - - - Deserializes the Json structure contained by the specified - into an instance of the specified type. - - The containing the object. - The of object being deserialized. - The instance of being deserialized. - - - - Deserializes the Json structure contained by the specified - into an instance of the specified type. - - The containing the object. - The type of the object to deserialize. - The instance of being deserialized. - - - - Deserializes the Json structure contained by the specified - into an instance of the specified type. - - The containing the object. - The of object being deserialized. - The instance of being deserialized. - - - - Serializes the specified and writes the Json structure - to a Stream using the specified . - - The used to write the Json structure. - The to serialize. - - - - Serializes the specified and writes the Json structure - to a Stream using the specified . - - The used to write the Json structure. - The to serialize. - - - - Occurs when the errors during serialization and deserialization. - - - - - Gets or sets the used by the serializer when resolving references. - - - - - Gets or sets the used by the serializer when resolving type names. - - - - - Gets or sets how type name writing and reading is handled by the serializer. - - - - - Gets or sets how a type name assembly is written and resolved by the serializer. - - The type name assembly format. - - - - Gets or sets how object references are preserved by the serializer. - - - - - Get or set how reference loops (e.g. a class referencing itself) is handled. - - - - - Get or set how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. - - - - - Get or set how null values are handled during serialization and deserialization. - - - - - Get or set how null default are handled during serialization and deserialization. - - - - - Gets or sets how objects are created during deserialization. - - The object creation handling. - - - - Gets or sets how constructors are used during deserialization. - - The constructor handling. - - - - Gets a collection that will be used during serialization. - - Collection that will be used during serialization. - - - - Gets or sets the contract resolver used by the serializer when - serializing .NET objects to JSON and vice versa. - - - - - Gets or sets the used by the serializer when invoking serialization callback methods. - - The context. - - - - Contains the LINQ to JSON extension methods. - - - - - Returns a collection of tokens that contains the ancestors of every token in the source collection. - - The type of the objects in source, constrained to . - An of that contains the source collection. - An of that contains the ancestors of every node in the source collection. - - - - Returns a collection of tokens that contains the descendants of every token in the source collection. - - The type of the objects in source, constrained to . - An of that contains the source collection. - An of that contains the descendants of every node in the source collection. - - - - Returns a collection of child properties of every object in the source collection. - - An of that contains the source collection. - An of that contains the properties of every object in the source collection. - - - - Returns a collection of child values of every object in the source collection with the given key. - - An of that contains the source collection. - The token key. - An of that contains the values of every node in the source collection with the given key. - - - - Returns a collection of child values of every object in the source collection. - - An of that contains the source collection. - An of that contains the values of every node in the source collection. - - - - Returns a collection of converted child values of every object in the source collection with the given key. - - The type to convert the values to. - An of that contains the source collection. - The token key. - An that contains the converted values of every node in the source collection with the given key. - - - - Returns a collection of converted child values of every object in the source collection. - - The type to convert the values to. - An of that contains the source collection. - An that contains the converted values of every node in the source collection. - - - - Converts the value. - - The type to convert the value to. - A cast as a of . - A converted value. - - - - Converts the value. - - The source collection type. - The type to convert the value to. - A cast as a of . - A converted value. - - - - Returns a collection of child tokens of every array in the source collection. - - The source collection type. - An of that contains the source collection. - An of that contains the values of every node in the source collection. - - - - Returns a collection of converted child tokens of every array in the source collection. - - An of that contains the source collection. - The type to convert the values to. - The source collection type. - An that contains the converted values of every node in the source collection. - - - - Returns the input typed as . - - An of that contains the source collection. - The input typed as . - - - - Returns the input typed as . - - The source collection type. - An of that contains the source collection. - The input typed as . - - - - Represents a JSON constructor. - - - - - Represents a token that can contain other tokens. - - - - - Raises the event. - - The instance containing the event data. - - - - Raises the event. - - The instance containing the event data. - - - - Returns a collection of the child tokens of this token, in document order. - - - An of containing the child tokens of this , in document order. - - - - - Returns a collection of the child values of this token, in document order. - - The type to convert the values to. - - A containing the child values of this , in document order. - - - - - Returns a collection of the descendant tokens for this token in document order. - - An containing the descendant tokens of the . - - - - Adds the specified content as children of this . - - The content to be added. - - - - Adds the specified content as the first children of this . - - The content to be added. - - - - Creates an that can be used to add tokens to the . - - An that is ready to have content written to it. - - - - Replaces the children nodes of this token with the specified content. - - The content. - - - - Removes the child nodes from this token. - - - - - Occurs when the list changes or an item in the list changes. - - - - - Occurs before an item is added to the collection. - - - - - Gets a value indicating whether this token has childen tokens. - - - true if this token has child values; otherwise, false. - - - - - Get the first child token of this token. - - - A containing the first child token of the . - - - - - Get the last child token of this token. - - - A containing the last child token of the . - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class from another object. - - A object to copy from. - - - - Initializes a new instance of the class with the specified name and content. - - The constructor name. - The contents of the constructor. - - - - Initializes a new instance of the class with the specified name and content. - - The constructor name. - The contents of the constructor. - - - - Initializes a new instance of the class with the specified name. - - The constructor name. - - - - Writes this token to a . - - A into which this method will write. - A collection of which will be used when writing the token. - - - - Loads an from a . - - A that will be read for the content of the . - A that contains the JSON that was read from the specified . - - - - Gets or sets the name of this constructor. - - The constructor name. - - - - Gets the node type for this . - - The type. - - - - Gets the with the specified key. - - The with the specified key. - - - - Represents a collection of objects. - - The type of token - - - - An empty collection of objects. - - - - - Initializes a new instance of the struct. - - The enumerable. - - - - Returns an enumerator that iterates through the collection. - - - A that can be used to iterate through the collection. - - - - - Returns an enumerator that iterates through a collection. - - - An object that can be used to iterate through the collection. - - - - - Determines whether the specified is equal to this instance. - - The to compare with this instance. - - true if the specified is equal to this instance; otherwise, false. - - - - - Returns a hash code for this instance. - - - A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. - - - - - Gets the with the specified key. - - - - - - Represents a JSON object. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class from another object. - - A object to copy from. - - - - Initializes a new instance of the class with the specified content. - - The contents of the object. - - - - Initializes a new instance of the class with the specified content. - - The contents of the object. - - - - Gets an of this object's properties. - - An of this object's properties. - - - - Gets a the specified name. - - The property name. - A with the specified name or null. - - - - Gets an of this object's property values. - - An of this object's property values. - - - - Loads an from a . - - A that will be read for the content of the . - A that contains the JSON that was read from the specified . - - - - Load a from a string that contains JSON. - - A that contains JSON. - A populated from the string that contains JSON. - - - - Creates a from an object. - - The object that will be used to create . - A with the values of the specified object - - - - Creates a from an object. - - The object that will be used to create . - The that will be used to read the object. - A with the values of the specified object - - - - Writes this token to a . - - A into which this method will write. - A collection of which will be used when writing the token. - - - - Adds the specified property name. - - Name of the property. - The value. - - - - Removes the property with the specified name. - - Name of the property. - true if item was successfully removed; otherwise, false. - - - - Tries the get value. - - Name of the property. - The value. - true if a value was successfully retrieved; otherwise, false. - - - - Returns an enumerator that iterates through the collection. - - - A that can be used to iterate through the collection. - - - - - Raises the event with the provided arguments. - - Name of the property. - - - - Raises the event with the provided arguments. - - Name of the property. - - - - Occurs when a property value changes. - - - - - Occurs when a property value is changing. - - - - - Gets the node type for this . - - The type. - - - - Gets the with the specified key. - - The with the specified key. - - - - Gets or sets the with the specified property name. - - - - - - Gets the number of elements contained in the . - - - The number of elements contained in the . - - - - Represents a JSON array. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class from another object. - - A object to copy from. - - - - Initializes a new instance of the class with the specified content. - - The contents of the array. - - - - Initializes a new instance of the class with the specified content. - - The contents of the array. - - - - Loads an from a . - - A that will be read for the content of the . - A that contains the JSON that was read from the specified . - - - - Load a from a string that contains JSON. - - A that contains JSON. - A populated from the string that contains JSON. - - - - Creates a from an object. - - The object that will be used to create . - A with the values of the specified object - - - - Creates a from an object. - - The object that will be used to create . - The that will be used to read the object. - A with the values of the specified object - - - - Writes this token to a . - - A into which this method will write. - A collection of which will be used when writing the token. - - - - Determines the index of a specific item in the . - - The object to locate in the . - - The index of if found in the list; otherwise, -1. - - - - - Inserts an item to the at the specified index. - - The zero-based index at which should be inserted. - The object to insert into the . - - is not a valid index in the . - The is read-only. - - - - Removes the item at the specified index. - - The zero-based index of the item to remove. - - is not a valid index in the . - The is read-only. - - - - Adds an item to the . - - The object to add to the . - The is read-only. - - - - Removes all items from the . - - The is read-only. - - - - Determines whether the contains a specific value. - - The object to locate in the . - - true if is found in the ; otherwise, false. - - - - - Removes the first occurrence of a specific object from the . - - The object to remove from the . - - true if was successfully removed from the ; otherwise, false. This method also returns false if is not found in the original . - - The is read-only. - - - - Gets the node type for this . - - The type. - - - - Gets the with the specified key. - - The with the specified key. - - - - Gets or sets the at the specified index. - - - - - - Gets the number of elements contained in the . - - - The number of elements contained in the . - - - - Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. - - - - - Initializes a new instance of the class. - - The token to read from. - - - - Reads the next JSON token from the stream as a . - - - A or a null reference if the next JSON token is null. - - - - - Reads the next JSON token from the stream. - - - true if the next token was read successfully; false if there are no more tokens to read. - - - - - Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. - - - - - Initializes a new instance of the class writing to the given . - - The container being written to. - - - - Initializes a new instance of the class. - - - - - Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. - - - - - Closes this stream and the underlying stream. - - - - - Writes the beginning of a Json object. - - - - - Writes the beginning of a Json array. - - - - - Writes the start of a constructor with the given name. - - The name of the constructor. - - - - Writes the end. - - The token. - - - - Writes the property name of a name/value pair on a Json object. - - The name of the property. - - - - Writes a null value. - - - - - Writes an undefined value. - - - - - Writes raw JSON. - - The raw JSON to write. - - - - Writes out a comment /*...*/ containing the specified text. - - Text to place inside the comment. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Gets the token being writen. - - The token being writen. - - - - Represents a JSON property. - - - - - Initializes a new instance of the class from another object. - - A object to copy from. - - - - Returns a collection of the child tokens of this token, in document order. - - - An of containing the child tokens of this , in document order. - - - - - Initializes a new instance of the class. - - The property name. - The property content. - - - - Initializes a new instance of the class. - - The property name. - The property content. - - - - Writes this token to a . - - A into which this method will write. - A collection of which will be used when writing the token. - - - - Loads an from a . - - A that will be read for the content of the . - A that contains the JSON that was read from the specified . - - - - Gets the property name. - - The property name. - - - - Gets or sets the property value. - - The property value. - - - - Gets the node type for this . - - The type. - - - - Specifies the type of token. - - - - - No token type has been set. - - - - - A JSON object. - - - - - A JSON array. - - - - - A JSON constructor. - - - - - A JSON object property. - - - - - A comment. - - - - - An integer value. - - - - - A float value. - - - - - A string value. - - - - - A boolean value. - - - - - A null value. - - - - - An undefined value. - - - - - A date value. - - - - - A raw JSON value. - - - - - A collection of bytes value. - - - - - Contains the JSON schema extension methods. - - - - - Determines whether the is valid. - - The source to test. - The schema to test with. - - true if the specified is valid; otherwise, false. - - - - - Validates the specified . - - The source to test. - The schema to test with. - - - - Validates the specified . - - The source to test. - The schema to test with. - The validation event handler. - - - - Returns detailed information about the schema exception. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class - with a specified error message. - - The error message that explains the reason for the exception. - - - - Initializes a new instance of the class - with a specified error message and a reference to the inner exception that is the cause of this exception. - - The error message that explains the reason for the exception. - The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. - - - - Gets the line number indicating where the error occurred. - - The line number indicating where the error occurred. - - - - Gets the line position indicating where the error occurred. - - The line position indicating where the error occurred. - - - - Resolves from an id. - - - - - Initializes a new instance of the class. - - - - - Gets a for the specified id. - - The id. - A for the specified id. - - - - Gets or sets the loaded schemas. - - The loaded schemas. - - - - Specifies undefined schema Id handling options for the . - - - - - Do not infer a schema Id. - - - - - Use the .NET type name as the schema Id. - - - - - Use the assembly qualified .NET type name as the schema Id. - - - - - Returns detailed information related to the . - - - - - Gets the associated with the validation event. - - The JsonSchemaException associated with the validation event. - - - - Gets the text description corresponding to the validation event. - - The text description. - - - - Represents the callback method that will handle JSON schema validation events and the . - - - - - Resolves member mappings for a type, camel casing property names. - - - - - Used by to resolves a for a given . - - - - - Used by to resolves a for a given . - - - - - Resolves the contract for a given type. - - The type to resolve a contract for. - The contract for a given type. - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - - If set to true the will use a cached shared with other resolvers of the same type. - Sharing the cache will significantly performance because expensive reflection will only happen once but could cause unexpected - behavior if different instances of the resolver are suppose to produce different results. When set to false it is highly - recommended to reuse instances with the . - - - - - Resolves the contract for a given type. - - The type to resolve a contract for. - The contract for a given type. - - - - Gets the serializable members for the type. - - The type to get serializable members for. - The serializable members for the type. - - - - Creates a for the given type. - - Type of the object. - A for the given type. - - - - Resolves the default for the contract. - - Type of the object. - - - - - Creates a for the given type. - - Type of the object. - A for the given type. - - - - Creates a for the given type. - - Type of the object. - A for the given type. - - - - Creates a for the given type. - - Type of the object. - A for the given type. - - - - Creates a for the given type. - - Type of the object. - A for the given type. - - - - Creates a for the given type. - - Type of the object. - A for the given type. - - - - Creates a for the given type. - - Type of the object. - A for the given type. - - - - Determines which contract type is created for the given type. - - Type of the object. - A for the given type. - - - - Creates properties for the given . - - The contract to create properties for. - Properties for the given . - - - - Creates the used by the serializer to get and set values from a member. - - The member. - The used by the serializer to get and set values from a member. - - - - Creates a for the given . - - The member's declaring types . - The member to create a for. - A created for the given . - - - - Resolves the name of the property. - - Name of the property. - Name of the property. - - - - Gets a value indicating whether members are being get and set using dynamic code generation. - This value is determined by the runtime permissions available. - - - true if using dynamic code generation; otherwise, false. - - - - - Gets or sets the default members search flags. - - The default members search flags. - - - - Gets or sets a value indicating whether compiler generated members should be serialized. - - - true if serialized compiler generated members; otherwise, false. - - - - - Initializes a new instance of the class. - - - - - Resolves the name of the property. - - Name of the property. - The property name camel cased. - - - - The default serialization binder used when resolving and loading classes from type names. - - - - - When overridden in a derived class, controls the binding of a serialized object to a type. - - Specifies the name of the serialized object. - Specifies the name of the serialized object. - - The type of the object the formatter creates a new instance of. - - - - - Provides information surrounding an error. - - - - - Gets or sets the error. - - The error. - - - - Gets the original object that caused the error. - - The original object that caused the error. - - - - Gets the member that caused the error. - - The member that caused the error. - - - - Gets or sets a value indicating whether this is handled. - - true if handled; otherwise, false. - - - - Contract details for a used by the . - - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Contract details for a used by the . - - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Maps a JSON property to a .NET member. - - - - - Returns a that represents this instance. - - - A that represents this instance. - - - - - Gets the name of the property. - - The name of the property. - - - - Gets the that will get and set the during serialization. - - The that will get and set the during serialization. - - - - Gets or sets the type of the property. - - The type of the property. - - - - Gets or sets the for the property. - If set this converter takes presidence over the contract converter for the property type. - - The converter. - - - - Gets a value indicating whether this is ignored. - - true if ignored; otherwise, false. - - - - Gets a value indicating whether this is readable. - - true if readable; otherwise, false. - - - - Gets a value indicating whether this is writable. - - true if writable; otherwise, false. - - - - Gets the member converter. - - The member converter. - - - - Gets the default value. - - The default value. - - - - Gets a value indicating whether this is required. - - A value indicating whether this is required. - - - - Gets a value indicating whether this property preserves object references. - - - true if this instance is reference; otherwise, false. - - - - - Gets the property null value handling. - - The null value handling. - - - - Gets the property default value handling. - - The default value handling. - - - - Gets the property reference loop handling. - - The reference loop handling. - - - - Gets the property object creation handling. - - The object creation handling. - - - - Gets or sets the type name handling. - - The type name handling. - - - - Gets or sets a predicate used to determine whether the property should be serialize. - - A predicate used to determine whether the property should be serialize. - - - - A collection of objects. - - - - - Initializes a new instance of the class. - - The contract. - - - - When implemented in a derived class, extracts the key from the specified element. - - The element from which to extract the key. - The key for the specified element. - - - - Adds a object. - - The property to add to the collection. - - - - Gets the closest matching object. - First attempts to get an exact case match of propertyName and then - a case insensitive match. - - Name of the property. - A matching property if found. - - - - Gets a property by property name. - - The name of the property to get. - Type property name string comparison. - A matching property if found. - - - - Specifies missing member handling options for the . - - - - - Ignore a missing member and do not attempt to deserialize it. - - - - - Throw a when a missing member is encountered during deserialization. - - - - - Specifies null value handling options for the . - - - - - Include null values when serializing and deserializing objects. - - - - - Ignore null values when serializing and deserializing objects. - - - - - Specifies reference loop handling options for the . - - - - - Throw a when a loop is encountered. - - - - - Ignore loop references and do not serialize. - - - - - Serialize loop references. - - - - - An in-memory representation of a JSON Schema. - - - - - Initializes a new instance of the class. - - - - - Reads a from the specified . - - The containing the JSON Schema to read. - The object representing the JSON Schema. - - - - Reads a from the specified . - - The containing the JSON Schema to read. - The to use when resolving schema references. - The object representing the JSON Schema. - - - - Load a from a string that contains schema JSON. - - A that contains JSON. - A populated from the string that contains JSON. - - - - Parses the specified json. - - The json. - The resolver. - A populated from the string that contains JSON. - - - - Writes this schema to a . - - A into which this method will write. - - - - Writes this schema to a using the specified . - - A into which this method will write. - The resolver used. - - - - Returns a that represents the current . - - - A that represents the current . - - - - - Gets or sets the id. - - - - - Gets or sets the title. - - - - - Gets or sets whether the object is optional. - - - - - Gets or sets whether the object is read only. - - - - - Gets or sets whether the object is visible to users. - - - - - Gets or sets whether the object is transient. - - - - - Gets or sets the description of the object. - - - - - Gets or sets the types of values allowed by the object. - - The type. - - - - Gets or sets the pattern. - - The pattern. - - - - Gets or sets the minimum length. - - The minimum length. - - - - Gets or sets the maximum length. - - The maximum length. - - - - Gets or sets the maximum decimals. - - The maximum decimals. - - - - Gets or sets the minimum. - - The minimum. - - - - Gets or sets the maximum. - - The maximum. - - - - Gets or sets the minimum number of items. - - The minimum number of items. - - - - Gets or sets the maximum number of items. - - The maximum number of items. - - - - Gets or sets the of items. - - The of items. - - - - Gets or sets the of properties. - - The of properties. - - - - Gets or sets the of additional properties. - - The of additional properties. - - - - Gets or sets a value indicating whether additional properties are allowed. - - - true if additional properties are allowed; otherwise, false. - - - - - Gets or sets the required property if this property is present. - - The required property if this property is present. - - - - Gets or sets the identity. - - The identity. - - - - Gets or sets the a collection of valid enum values allowed. - - A collection of valid enum values allowed. - - - - Gets or sets a collection of options. - - A collection of options. - - - - Gets or sets disallowed types. - - The disallow types. - - - - Gets or sets the default value. - - The default value. - - - - Gets or sets the extend . - - The extended . - - - - Gets or sets the format. - - The format. - - - - Generates a from a specified . - - - - - Generate a from the specified type. - - The type to generate a from. - A generated from the specified type. - - - - Generate a from the specified type. - - The type to generate a from. - The used to resolve schema references. - A generated from the specified type. - - - - Generate a from the specified type. - - The type to generate a from. - Specify whether the generated root will be nullable. - A generated from the specified type. - - - - Generate a from the specified type. - - The type to generate a from. - The used to resolve schema references. - Specify whether the generated root will be nullable. - A generated from the specified type. - - - - Gets or sets how undefined schemas are handled by the serializer. - - - - - Gets or sets the contract resolver. - - The contract resolver. - - - - The value types allowed by the . - - - - - No type specified. - - - - - String type. - - - - - Float type. - - - - - Integer type. - - - - - Boolean type. - - - - - Object type. - - - - - Array type. - - - - - Null type. - - - - - Any type. - - - - - Contract details for a used by the . - - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Gets or sets the object member serialization. - - The member object serialization. - - - - Gets the object's properties. - - The object's properties. - - - - Gets or sets the parametrized constructor used to create the object. - - The parametrized constructor. - - - - Contract details for a used by the . - - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Get and set values for a using reflection. - - - - - Initializes a new instance of the class. - - The member info. - - - - Sets the value. - - The target to set the value on. - The value to set on the target. - - - - Gets the value. - - The target to get the value from. - The value. - - - - When applied to a method, specifies that the method is called when an error occurs serializing an object. - - - - - Represents a method that constructs an object. - - - - - Specifies type name handling options for the . - - - - - Do not include the .NET type name when serializing types. - - - - - Include the .NET type name when serializing into a JSON object structure. - - - - - Include the .NET type name when serializing into a JSON array structure. - - - - - Include the .NET type name when the type of the object being serialized is not the same as its declared type. - - - - - Always include the .NET type name when serializing. - - - - - Converts the value to the specified type. - - The type to convert the value to. - The value to convert. - The converted type. - - - - Converts the value to the specified type. - - The type to convert the value to. - The value to convert. - The culture to use when converting. - The converted type. - - - - Converts the value to the specified type. - - The value to convert. - The culture to use when converting. - The type to convert the value to. - The converted type. - - - - Converts the value to the specified type. - - The type to convert the value to. - The value to convert. - The converted value if the conversion was successful or the default value of T if it failed. - - true if initialValue was converted successfully; otherwise, false. - - - - - Converts the value to the specified type. - - The type to convert the value to. - The value to convert. - The culture to use when converting. - The converted value if the conversion was successful or the default value of T if it failed. - - true if initialValue was converted successfully; otherwise, false. - - - - - Converts the value to the specified type. - - The value to convert. - The culture to use when converting. - The type to convert the value to. - The converted value if the conversion was successful or the default value of T if it failed. - - true if initialValue was converted successfully; otherwise, false. - - - - - Converts the value to the specified type. If the value is unable to be converted, the - value is checked whether it assignable to the specified type. - - The type to convert or cast the value to. - The value to convert. - The converted type. If conversion was unsuccessful, the initial value is returned if assignable to the target type - - - - Converts the value to the specified type. If the value is unable to be converted, the - value is checked whether it assignable to the specified type. - - The type to convert or cast the value to. - The value to convert. - The culture to use when converting. - The converted type. If conversion was unsuccessful, the initial value is returned if assignable to the target type - - - - Converts the value to the specified type. If the value is unable to be converted, the - value is checked whether it assignable to the specified type. - - The value to convert. - The culture to use when converting. - The type to convert or cast the value to. - - The converted type. If conversion was unsuccessful, the initial value - is returned if assignable to the target type. - - - - - Converts the value to the specified type. If the value is unable to be converted, the - value is checked whether it assignable to the specified type. - - The type to convert the value to. - The value to convert. - The converted value if the conversion was successful or the default value of T if it failed. - - true if initialValue was converted successfully or is assignable; otherwise, false. - - - - - Converts the value to the specified type. If the value is unable to be converted, the - value is checked whether it assignable to the specified type. - - The type to convert the value to. - The value to convert. - The culture to use when converting. - The converted value if the conversion was successful or the default value of T if it failed. - - true if initialValue was converted successfully or is assignable; otherwise, false. - - - - - Converts the value to the specified type. If the value is unable to be converted, the - value is checked whether it assignable to the specified type. - - The value to convert. - The culture to use when converting. - The type to convert the value to. - The converted value if the conversion was successful or the default value of T if it failed. - - true if initialValue was converted successfully or is assignable; otherwise, false. - - - - - Parses the specified enum member name, returning it's value. - - Name of the enum member. - - - - - Parses the specified enum member name, returning it's value. - - Name of the enum member. - If set to true ignore case. - - - - - Gets a dictionary of the names and values of an Enum type. - - - - - - Gets a dictionary of the names and values of an Enum type. - - - - - - Gets a dictionary of the names and values of an Enum type. - - The enum type to get names and values for. - - - - - Gets the maximum valid value of an Enum type. Flags enums are ORed. - - The type of the returned value. Must be assignable from the enum's underlying value type. - The enum type to get the maximum value for. - - - - - Specifies the type of Json token. - - - - - This is returned by the if a method has not been called. - - - - - An object start token. - - - - - An array start token. - - - - - A constructor start token. - - - - - An object property name. - - - - - A comment. - - - - - Raw JSON. - - - - - An interger. - - - - - A float. - - - - - A string. - - - - - A boolean. - - - - - A null token. - - - - - An undefined token. - - - - - An object end token. - - - - - An array end token. - - - - - A constructor end token. - - - - - A Date. - - - - - Byte data. - - - - - Specifies the state of the . - - - - - An exception has been thrown, which has left the in an invalid state. - You may call the method to put the in the Closed state. - Any other method calls results in an being thrown. - - - - - The method has been called. - - - - - An object is being written. - - - - - A array is being written. - - - - - A constructor is being written. - - - - - A property is being written. - - - - - A write method has not been called. - - - - - Specifies formatting options for the . - - - - - No special formatting is applied. This is the default. - - - - - Causes child objects to be indented according to the and settings. - - - - - Builds a string. Unlike StringBuilder this class lets you reuse it's internal buffer. - - - - - Determines whether the collection is null or empty. - - The collection. - - true if the collection is null or empty; otherwise, false. - - - - - Determines whether the collection is null or empty. - - The collection. - - true if the collection is null or empty; otherwise, false. - - - - - Determines whether the collection is null, empty or its contents are uninitialized values. - - The list. - - true if the collection is null or empty or its contents are uninitialized values; otherwise, false. - - - - - Makes a slice of the specified list in between the start and end indexes. - - The list. - The start index. - The end index. - A slice of the list. - - - - Makes a slice of the specified list in between the start and end indexes, - getting every so many items based upon the step. - - The list. - The start index. - The end index. - The step. - A slice of the list. - - - - Group the collection using a function which returns the key. - - The source collection to group. - The key selector. - A Dictionary with each key relating to a list of objects in a list grouped under it. - - - - Adds the elements of the specified collection to the specified generic IList. - - The list to add to. - The collection of elements to add. - - - - Gets the type of the typed collection's items. - - The type. - The type of the typed collection's items. - - - - Tests whether the list's items are their unitialized value. - - The list. - Whether the list's items are their unitialized value - - - - Gets the member's underlying type. - - The member. - The underlying type of the member. - - - - Determines whether the member is an indexed property. - - The member. - - true if the member is an indexed property; otherwise, false. - - - - - Determines whether the property is an indexed property. - - The property. - - true if the property is an indexed property; otherwise, false. - - - - - Gets the member's value on the object. - - The member. - The target object. - The member's value on the object. - - - - Sets the member's value on the target object. - - The member. - The target. - The value. - - - - Determines whether the specified MemberInfo can be read. - - The MemberInfo to determine whether can be read. - /// if set to true then allow the member to be gotten non-publicly. - - true if the specified MemberInfo can be read; otherwise, false. - - - - - Determines whether the specified MemberInfo can be set. - - The MemberInfo to determine whether can be set. - if set to true then allow the member to be set non-publicly. - - true if the specified MemberInfo can be set; otherwise, false. - - - - - Determines whether the string contains white space. - - The string to test for white space. - - true if the string contains white space; otherwise, false. - - - - - Determines whether the string is all white space. Empty string will return false. - - The string to test whether it is all white space. - - true if the string is all white space; otherwise, false. - - - - - Ensures the target string ends with the specified string. - - The target. - The value. - The target string with the value string at the end. - - - - Perform an action if the string is not null or empty. - - The value. - The action to perform. - - - - Indents the specified string. - - The string to indent. - The number of characters to indent by. - - - - - Indents the specified string. - - The string to indent. - The number of characters to indent by. - The indent character. - - - - - Numbers the lines. - - The string to number. - - - - - Nulls an empty string. - - The string. - Null if the string was null, otherwise the string unchanged. - - - diff --git a/lib/Symbiote.StructureMap/StructureMap.dll b/lib/Symbiote.StructureMap/StructureMap.dll deleted file mode 100644 index c9bc228..0000000 Binary files a/lib/Symbiote.StructureMap/StructureMap.dll and /dev/null differ diff --git a/lib/Symbiote.StructureMap/StructureMap.xml b/lib/Symbiote.StructureMap/StructureMap.xml deleted file mode 100644 index 0b7d97b..0000000 --- a/lib/Symbiote.StructureMap/StructureMap.xml +++ /dev/null @@ -1,3752 +0,0 @@ - - - - StructureMap - - - - - Get the object of type T that is valid for this build session. - - - - - - - Get the object of type T that is valid for this build session by name. - - - - - - - Register a default object for the given PluginType that will - be used throughout the rest of the current object request - - - - - - - Same as GetInstance, but can gracefully return null if - the Type does not already exist - - - - - - - Same as GetInstance(name), but can gracefully return null if - the Type and name does not already exist - - - - - - - - Gets all objects in the current object graph that can be cast - to T that have already been created - - - - - - - Creates/Resolves every configured instance of PlutinType T - - - - - - - Gets a reference to the BuildStack for this build session - - - - - The concrete type of the immediate parent object in the object graph - - - - - Gets the root "frame" of the object request - - - - - The requested instance name of the object graph - - - - - Expression Builder that has grammars for defining policies at the - PluginType level. This expression is used for registering - open generic types - - - - - Convenience method that sets the default concrete type of the PluginType. The "concreteType" - can only accept types that do not have any primitive constructor arguments. - StructureMap has to know how to construct all of the constructor argument types. - - - - - - - Use this configured Instance as is - - - - - - Shorter way to call TheDefaultIsConcreteType - - - - - - - Shortcut to add a value by type - - - - - - - Shortcut method to add an additional Instance to this Plugin Type - as just a Concrete Type. This will only work if the Concrete Type - has no primitive constructor or mandatory Setter arguments. - - - - - - - Shortcut method to add an additional Instance to this Plugin Type - as just a Concrete Type. This will only work if the Concrete Type - has no primitive constructor or mandatory Setter arguments. - - - - - - - Configure this type as the supplied value - - - - - - Sets the object creation of the instances of the PluginType. For example: PerRequest, - Singleton, ThreadLocal, HttpContext, or Hybrid - - - - - - - Register an Action to run against any object of this PluginType immediately after - it is created, but before the new object is passed back to the caller - - - - - - - Register a Func to run against any object of this PluginType immediately after it is created, - but before the new object is passed back to the caller. Unlike OnCreation(), - EnrichWith() gives the the ability to return a different object. Use this method for runtime AOP - scenarios or to return a decorator. - - - - - - - Register a Func to run against any object of this PluginType immediately after it is created, - but before the new object is passed back to the caller. Unlike OnCreation(), - EnrichWith() gives the the ability to return a different object. Use this method for runtime AOP - scenarios or to return a decorator. - - - - - - - Registers an IBuildInterceptor for this Plugin Type that executes before - any object of this PluginType is created. IBuildInterceptor's can be - used to create a custom scope - - - - - - - Convenience method to mark a PluginFamily as a Singleton - - - - - - Convenience method to mark a PluginFamily as a Hybrid lifecycle - - - - - - Convenience method to mark a PluginFamily as HttpContext scoped - - - - - - - - - - - - - Shortcut method to add an additional Instance to this Plugin Type - as just a Concrete Type. You can also chain other declarations after - this method to add constructor and setter arguments - - - - - - - Shortcut method to add an additional Instance to this Plugin Type - as just a Concrete Type by a specified name. You can also chain other declarations after - this method to add constructor and setter arguments - - - - - - - - Specify the value of this explicit argument - - - - - - - Pass in additional arguments by type T - - - - - - - - Pass in additional arguments by type - - - - - - - - Pass in additional arguments by name - - - - - - - Gets the default instance of type T using the explicitly configured arguments from the "args" - - - - - - - Gets a named instance of type T using the explicitly configured arguments from teh "args" - - - - - - - - Gets the default instance of the pluginType using the explicitly configured arguments from the "args" - - - - - - Gets all configured instances of type T using explicitly configured arguments - - - - - - - Returns the System.Reflection.ConstructorInfo for the PluggedType. Uses either - the "greediest" constructor with the most arguments or the constructor function - marked with the [DefaultConstructor] - - - - - - The InstanceKey of the default instance of the PluginFamily - - - - - The CLR Type that defines the "Plugin" interface for the PluginFamily - - - - - Add an Assembly to the scanning operation - - - - - - Add an Assembly by name to the scanning operation - - - - - - Add the currently executing Assembly to the scanning operation - - - - - Add the Assembly that contains type T to the scanning operation - - - - - - Add the Assembly that contains type to the scanning operation - - - - - - Sweep the designated path and add any Assembly's found in this folder to the - scanning operation - - - - - - Sweep the designated path and add any Assembly's found in this folder to the - scanning operation. The assemblyFilter can be used to filter or limit the - Assembly's that are picked up. - - - - - - - Sweep the application base directory of current app domain and add any Assembly's - found to the scanning operation. - - - - - Sweep the application base directory of current app domain and add any Assembly's - found to the scanning operation. The assemblyFilter can be used to filter or limit the - Assembly's that are picked up. - - - - - Adds an ITypeScanner object to the scanning operation - - - - - - Adds the DefaultConventionScanner to the scanning operations. I.e., a concrete - class named "Something" that implements "ISomething" will be automatically - added to PluginType "ISomething" - - - - - Automatically registers all concrete types without primitive arguments - against its first interface, if any - - - - - Creates and adds a new ITypeScanner of type T to this scanning operation - - - - - - Directs the scanning operation to automatically detect and include any Registry - classes found in the Assembly's being scanned - - - - - Add all concrete types of the Plugin Type as Instances of Plugin Type - - - - - - Add all concrete types of the Plugin Type as Instances of Plugin Type - - - - - - Makes this scanning operation ignore all [PluginFamily] and [Pluggable] attributes - - - - - Exclude types that match the Predicate from being scanned - - - - - - Exclude all types in this nameSpace or its children from the scanning operation - - - - - - Exclude all types in this nameSpace or its children from the scanning operation - - - - - - Only include types matching the Predicate in the scanning operation. You can - use multiple Include() calls in a single scanning operation - - - - - - Only include types from this nameSpace or its children in the scanning operation. You can - use multiple Include() calls in a single scanning operation - - - - - - Only include types from this nameSpace or its children in the scanning operation. You can - use multiple Include() calls in a single scanning operation - - - - - - Exclude this specific type from the scanning operation - - - - - - Scans for PluginType's and Concrete Types that close the given open generic type - - - - - - - - - Directs the scanning to automatically register any type that is the single - implementation of an interface against that interface. - The filters apply - - - - - Adds a registration convention to be applied to all the types in this - logical "scan" operation - - - - - - Adds a registration convention to be applied to all the types in this - logical "scan" operation - - - - - A TypeInterceptor that is only applied if the MatchesType() - method is true for a given Type - - - - - An InstanceInterceptor can be registered on a per-Instance basis - to act on, or even replace, the object that is created before - it is passed back to the caller. This is primarily a hook - for runtime AOP scenarios. - - - - - Does this TypeInterceptor apply to the given type? - - - - - - - Specify how objects matching the Type predicate - will be intercepted - - - - - - Specify how objects matching the Type predicate - will be intercepted - - - - - - An Instance class that builds objects by calling a constructor function on a concrete type - and filling setter properties. ConfiguredInstance should only be used for open generic types. - Favor SmartInstance{T} for all other usages. - - - - - Register an Action to perform on the object created by this Instance - before it is returned to the caller - - - - - - - - Register an Action to perform on the object created by this Instance - before it is returned to the caller - - - - - - - - Register a Func to potentially enrich or substitute for the object - created by this Instance before it is returned to the caller - - - - - - - Register a Func to potentially enrich or substitute for the object - created by this Instance before it is returned to the caller - - - - - - - Inline definition of a dependency array like IService[] or IHandler[] - - - - - - - - Inline definition of a dependency array like IService[] or IHandler[] - - - - - - - Inline definition of a dependency array like IService[] or IHandler[] - - - - - - - Start the definition of a child instance for type CONSTRUCTORARGUMENTTYPE - - - - - - - Start the definition of a child instance for type CONSTRUCTORARGUMENTTYPE - - - - - - - Inline definition of a constructor or a setter property dependency - - - - - - - Starts the definition of a child instance specifying the argument name - in the case of a constructor function that consumes more than one argument - of type T - - - - - - - - Inline definition of a constructor dependency - - - - - - - - Inline definition of a setter dependency - - - - - - - - Start the definition of a primitive argument to a constructor argument - - - - - - - Configure a primitive constructor argument - - - - - - - Configures an array of Instance's for the array dependency - - - - - - - Part of the Fluent Interface, represents a nonprimitive argument to a - constructure function - - - - - Use a previously configured and named instance for the child - - - - - - - Start the definition of a child instance by defining the concrete type - - - - - - - Start the definition of a child instance by defining the concrete type - - - - - - - Registers a configured instance to use as the argument to the parent's - constructor - - - - - - - Directs StructureMap to fill this dependency with the Default Instance of the - constructor or property type - - - - - - Base class for many of the Instance subclasses to support - method chaining in the Registry DSL for common options - - - - - - Set the name of this Instance - - - - - - - Register an Action to perform on the object created by this Instance - before it is returned to the caller - - - - - - - - Register a Func to potentially enrich or substitute for the object - created by this Instance before it is returned to the caller - - - - - - - - Register a Func to potentially enrich or substitute for the object - created by this Instance before it is returned to the caller - - - - - - - - Register an InstanceInterceptor with this Instance - - - - - - - Used to override the constructor of a class to be used by StructureMap to create - a Pluggable object - - - - - Examines a System.Type object and determines the ConstructorInfo to use in creating - instances of the Type - - - - - - - Used to implicitly mark a class as a Plugin candidate for StructureMap - - - - - Determines whether a Type object is marked as Pluggable - - - - - - - The ConcreteKey alias of the Type - - - - - Declares a class, abstract class, or interface to be the target of a PluginFamily in the container - - - - - Determines if a Type object is marked as a PluginFamily - - - - - - - If set, determines the shared "scope" of the instance -- PerRequest, Singleton, ThreadLocal, - HttpContext, etc. - - - - - InstanceKey of the default instance. Used to implicitly define the default without - declaring the instance in StructureMap.config - - - - - Declares the target to be built by StructureMap as a Singleton. One object instance will - be created for each named instance - - - - - Marks a Property in a Pluggable class as filled by setter injection - - - - - Marks a method with no parameters as a method that validates an instance. StructureMap - uses this method to validate the configuration file. If the method does not throw an - exception, the object is assumed to be valid. - - - - - Returns an array of any MethodInfo's on a Type that are marked as ValidationMethod - - CLR Type to search for validation methods - - - - - Constants for the names of Xml nodes and attributes in the StructureMap.config - file - - - - - The name of the default configuration file. The value is always StructurMap.config - - - - - Returns the absolute path to the StructureMap.config file - - - - - - Expression Builder that has grammars for defining policies at the - PluginType level - - - - - Add multiple Instance's to this PluginType - - - - - - - Convenience method that sets the default concrete type of the PluginType. Type T - can only accept types that do not have any primitive constructor arguments. - StructureMap has to know how to construct all of the constructor argument types. - - - - - - - - Shorthand to say TheDefault.Is.ConstructedBy(func) - - - - - - - Shorthand to say TheDefault.IsThis(@object) - - - - - - - Sets the object creation of the instances of the PluginType. For example: PerRequest, - Singleton, ThreadLocal, HttpContext, or Hybrid - - - - - - - Convenience method to mark a PluginFamily as a Singleton - - - - - - Convenience method to mark a PluginFamily as a Hybrid lifecycle - - - - - - Convenience method to mark a PluginFamily as HttpContext scoped - - - - - - Register an Action to run against any object of this PluginType immediately after - it is created, but before the new object is passed back to the caller - - - - - - - Adds an Interceptor to only this PluginType - - - - - - - Register an Action to run against any object of this PluginType immediately after - it is created, but before the new object is passed back to the caller - - - - - - - Register a Func to run against any object of this PluginType immediately after it is created, - but before the new object is passed back to the caller. Unlike OnCreation(), - EnrichWith() gives the the ability to return a different object. Use this method for runtime AOP - scenarios or to return a decorator. - - - - - - - Register a Func to run against any object of this PluginType immediately after it is created, - but before the new object is passed back to the caller. Unlike OnCreation(), - EnrichWith() gives the the ability to return a different object. Use this method for runtime AOP - scenarios or to return a decorator. - - - - - - - Shortcut method to add an additional Instance to this Plugin Type - as just a Concrete Type. This will only work if the Concrete Type - has no primitive constructor or mandatory Setter arguments. - - - - - - - Registers an ILifecycle for this Plugin Type that executes before - any object of this PluginType is created. ILifecycle's can be - used to create a custom scope - - - - - - - Largely deprecated and unnecessary with the ability to add Xml configuration files - - - - - - - Forces StructureMap to always use a unique instance to - stop the "BuildSession" caching - - - - - - Adds the object to to the PLUGINTYPE - - - - - - - Add an Instance to this type created by a Lambda - - - - - - - Define the Default Instance for this PluginType - - - - - Expression class to help define a runtime Profile - - - - - Starts the definition of the default instance for the containing Profile. This is - still valid, but Type() is recommended - - - - - - - Designate or define the Instance for a type within - this Profile - - - - - - - Use statement to define the Profile defaults for a Generic type - - - - - - - Expression Builder inside of a Profile creation for - open generic types - - - - - Use this concreteType for the Instance of this Profile for the PluginType - - - - - - - Use this concreteType for the Instance of this Profile for the PluginType - - - - - - - Use this Instance for the Profile Instance of this Plugin Type - - - - - - - Use the named Instance as the Profile Instance for this PluginType - - - - - - - Use the named Instance as the Profile Instance for this PluginType - - - - - - - For this type and profile, build the object with this Lambda - - - - - - - Expression Builder within defining a Profile - - - - - - Use a named, preconfigured instance as the default instance for this profile - - - - - - - Use a named, preconfigured instance as the default instance for this profile - - - - - - - Define the default instance of the PluginType for the containing Profile - - - - - - - For this Profile, use an Instance with this Func - - - - - - - For this Profile, use an Instance with this Func - - - - - - - For this Profile, use this object - - - - - - - For this Profile, use the Concrete Type - - - - - - - For this profile, use this concrete type - - - - - - - A Registry class provides methods and grammars for configuring a Container or ObjectFactory. - Using a Registry subclass is the recommended way of configuring a StructureMap Container. - - - public class MyRegistry : Registry - { - public MyRegistry() - { - ForRequestedType(typeof(IService)).TheDefaultIsConcreteType(typeof(Service)); - } - } - - - - - Adds the concreteType as an Instance of the pluginType - - - - - - - Adds the concreteType as an Instance of the pluginType with a name - - - - - - - - Add the pluggedType as an instance to any configured pluginType where pluggedType - could be assigned to the pluginType - - - - - - Imports the configuration from another registry into this registry. - - - - - - Imports the configuration from another registry into this registry. - - - - - - Expression Builder used to define policies for a PluginType including - Scoping, the Default Instance, and interception. BuildInstancesOf() - and ForRequestedType() are synonyms - - - - - - - Expression Builder used to define policies for a PluginType including - Scoping, the Default Instance, and interception. This method is specifically - meant for registering open generic types - - - - - - This method is a shortcut for specifying the default constructor and - setter arguments for a ConcreteType. ForConcreteType is shorthand for: - ForRequestedType[T]().TheDefault.Is.OfConcreteType[T].************** - when the PluginType and ConcreteType are the same Type - - - - - - - Expression Builder used to define policies for a PluginType including - Scoping, the Default Instance, and interception. BuildInstancesOf() - and ForRequestedType() are synonyms - - - - - - - Convenience method. Equivalent of ForRequestedType[PluginType]().AsSingletons() - - - - - - - Uses the configuration expressions of this Registry to create a PluginGraph - object that could be used to initialize a Container. This method is - mostly for internal usage, but might be helpful for diagnostics - - - - - - Adds an additional, non-Default Instance to the PluginType T. - - - - - - - Adds an additional, non-Default Instance to the designated pluginType - This method is mostly meant for open generic types - - - - - - - Expression Builder to define the defaults for a named Profile. Each call - to CreateProfile is additive. - - - - - - - An alternative way to use CreateProfile that uses ProfileExpression - as a Nested Closure. This usage will result in cleaner code for - multiple declarations - - - - - - - Registers a new TypeInterceptor object with the Container - - - - - - Allows you to define a TypeInterceptor inline with Lambdas or anonymous delegates - - - - - IfTypeMatches( ... ).InterceptWith( o => new ObjectWrapper(o) ); - - - - - Designates a policy for scanning assemblies to auto - register types - - - - - - Directs StructureMap to always inject dependencies into any and all public Setter properties - of the type PLUGINTYPE. - - - - - - - Creates automatic "policies" for which public setters are considered mandatory - properties by StructureMap that will be "setter injected" as part of the - construction process. - - - - - - Use to programmatically select the constructor function of a concrete - class. Applies globally to all Containers in a single AppDomain. - - - - - - - All requests For the "TO" types will be filled by fetching the "FROM" - type and casting it to "TO" - GetInstance(typeof(TO)) basically becomes (TO)GetInstance(typeof(FROM)) - - - - - - - Syntactic Sugar for saying ForRequestedType().TheDefault.IsThis( @object ) - - - - - - - Syntactic Sugar for saying ForRequestedType().TheDefault.IsThis( instance ) - - - - - - - - Shorthand for ForRequestedType(pluginType) - - - - - - - - Advanced Usage Only! Skips the Registry and goes right to the inner - Semantic Model of StructureMap. Use with care - - - - - - Adds the concreteType as an Instance of the pluginType. Mostly useful - for conventions - - - - - - - Adds the concreteType as an Instance of the pluginType with a name. Mostly - useful for conventions - - - - - - - - Add the pluggedType as an instance to any configured pluginType where pluggedType. - Mostly useful for conventions - - - - - - Imports the configuration from another registry into this registry. - - - - - - Imports the configuration from another registry into this registry. - - - - - - Expression Builder used to define policies for a PluginType including - Scoping, the Default Instance, and interception. BuildInstancesOf() - and ForRequestedType() are synonyms - - - - - - - Expression Builder used to define policies for a PluginType including - Scoping, the Default Instance, and interception. This method is specifically - meant for registering open generic types - - - - - - This method is a shortcut for specifying the default constructor and - setter arguments for a ConcreteType. ForConcreteType is shorthand for: - For[T]().Use[T].************** - when the PluginType and ConcreteType are the same Type - - - - - - - Expression Builder used to define policies for a PluginType including - Scoping, the Default Instance, and interception. BuildInstancesOf() - and ForRequestedType() are synonyms - - - - - - - Convenience method. Equivalent of ForRequestedType[PluginType]().Singletons() - - - - - - - Uses the configuration expressions of this Registry to create a PluginGraph - object that could be used to initialize a Container. This method is - mostly for internal usage, but might be helpful for diagnostics - - - - - - Adds an additional, non-Default Instance to the PluginType T. - - - - - - - Adds an additional, non-Default Instance to the designated pluginType - This method is mostly meant for open generic types - - - - - - - Expression Builder to define the defaults for a named Profile. Each call - to CreateProfile is additive. - - - - - - - An alternative way to use CreateProfile that uses ProfileExpression - as a Nested Closure. This usage will result in cleaner code for - multiple declarations - - - - - - - Registers a new TypeInterceptor object with the Container - - - - - - Allows you to define a TypeInterceptor inline with Lambdas or anonymous delegates - - - - - IfTypeMatches( ... ).InterceptWith( o => new ObjectWrapper(o) ); - - - - - Designates a policy for scanning assemblies to auto - register types - - - - - - Directs StructureMap to always inject dependencies into any and all public Setter properties - of the type PLUGINTYPE. - - - - - - - Creates automatic "policies" for which public setters are considered mandatory - properties by StructureMap that will be "setter injected" as part of the - construction process. - - - - - - Use to programmatically select the constructor function of a concrete - class. Applies globally to all Containers in a single AppDomain. - - - - - - - All requests For the "TO" types will be filled by fetching the "FROM" - type and casting it to "TO" - GetInstance(typeof(TO)) basically becomes (TO)GetInstance(typeof(FROM)) - - - - - - - Syntactic Sugar for saying ForRequestedType().TheDefault.IsThis( @object ) - - - - - - - Syntactic Sugar for saying ForRequestedType().TheDefault.IsThis( instance ) - - - - - - - Expression Builder used to define policies for a PluginType including - Scoping, the Default Instance, and interception. BuildInstancesOf() - and ForRequestedType() are synonyms - - - - - - - Expression Builder used to define policies for a PluginType including - Scoping, the Default Instance, and interception. This method is specifically - meant for registering open generic types - - - - - - - Advanced Usage Only! Skips the Registry and goes right to the inner - Semantic Model of StructureMap. Use with care - - - - - - Define the constructor and setter arguments for the default T - - - - - - Thrown by IProperty classes when an invalid value is applied to - a property of an InstanceGraph - - - - - Main exception for StructureMap. Use the ErrorCode to aid in troubleshooting - StructureMap problems - - - - - Represents a concrete class that can be built by StructureMap as an instance of the parent - PluginFamily’s PluginType. The properties of a Plugin are the CLR Type of the concrete class, - and the human-friendly concrete key that StructureMap will use to identify the Type. - - - - - The ConcreteKey that identifies the Plugin within a PluginFamily - - - - - The concrete CLR Type represented by the Plugin - - - - - Property's that will be filled by setter injection - - - - - Conceptually speaking, a PluginFamily object represents a point of abstraction or variability in - the system. A PluginFamily defines a CLR Type that StructureMap can build, and all of the possible - Plugin’s implementing the CLR Type. - - - - - The CLR Type that defines the "Plugin" interface for the PluginFamily - - - - - The InstanceKey of the default instance of the PluginFamily - - - - - Custom collection class for PluginFamily's - - - - - Adds the concreteType as an Instance of the pluginType - - - - - - - Adds the concreteType as an Instance of the pluginType with a name - - - - - - - - Add the pluggedType as an instance to any configured pluginType where pluggedType - could be assigned to the pluginType - - - - - - Models the runtime configuration of a StructureMap Container - - - - - Closes the PluginGraph for adding or removing members. Runs all the AssemblyScanner's - and attempts to attach concrete types to the proper plugin types. Calculates the Profile defaults. - - - - - Adds the concreteType as an Instance of the pluginType - - - - - - - Adds the concreteType as an Instance of the pluginType with a name - - - - - - - - Add the pluggedType as an instance to any configured pluginType where pluggedType - could be assigned to the pluginType - - - - - - Adds an AssemblyScanner to the PluginGraph. Used for Testing. - - - - - - Add configuration to a PluginGraph with the Registry DSL - - - - - - Designates whether a PluginGraph has been "Sealed." - - - - - Represents a PropertyInfo of a Plugin.PluggedType that is filled by Setter Injection - - - - - Custom collection class for SetterProperty objects - - - - - Designates a CLR type that is loaded by name. - - - - - Interface for a "Factory" pattern class that creates object instances of the PluginType - - - - - The main "container" object that implements the Service Locator pattern - - - - - Creates or finds the named instance of the pluginType - - - - - - - - Creates or finds the default instance of the pluginType - - - - - - - Creates a new instance of the requested type using the supplied Instance. Mostly used internally - - - - - - - - Creates or finds the named instance of T - - - - - - - - Creates or finds the default instance of type T - - - - - - - Creates a new instance of the requested type T using the supplied Instance. Mostly used internally - - - - - - - Creates or resolves all registered instances of type T - - - - - - - Creates or resolves all registered instances of the pluginType - - - - - - - Creates or finds the named instance of the pluginType. Returns null if the named instance is not known to the container. - - - - - - - - Creates or finds the default instance of the pluginType. Returns null if the pluginType is not known to the container. - - - - - - - Creates or finds the default instance of type T. Returns the default value of T if it is not known to the container. - - - - - - - Creates or finds the named instance of type T. Returns the default value of T if the named instance is not known to the container. - - - - - - - Used to add additional configuration to a Container *after* the initialization. - - - - - - Injects the given object into a Container as the default for the designated - PLUGINTYPE. Mostly used for temporarily setting up return values of the Container - to introduce mocks or stubs during automated testing scenarios - - - - - - - Injects the given object into a Container as the default for the designated - pluginType. Mostly used for temporarily setting up return values of the Container - to introduce mocks or stubs during automated testing scenarios - - - - - - - Sets the default instance for all PluginType's to the designated Profile. - - - - - - Returns a report detailing the complete configuration of all PluginTypes and Instances - - - - - - Use with caution! Does a full environment test of the configuration of this container. Will try to create every configured - instance and afterward calls any methods marked with the [ValidationMethod] attribute - - - - - Gets all configured instances of type T using explicitly configured arguments from the "args" - - - - - - - - Gets the default instance of type T using the explicitly configured arguments from the "args" - - - - - - - - Starts a request for an instance or instances with explicitly configured arguments. Specifies that any dependency - of type T should be "arg" - - - - - - - - Starts a request for an instance or instances with explicitly configured arguments. Specifies that any dependency or primitive argument - with the designated name should be the next value. - - - - - - - Gets the default instance of the pluginType using the explicitly configured arguments from the "args" - - - - - - - - Removes all configured instances of type T from the Container. Use with caution! - - - - - - The "BuildUp" method takes in an already constructed object - and uses Setter Injection to push in configured dependencies - of that object - - - - - - Convenience method to request an object using an Open Generic - Type and its parameter Types - - - - - IFlattener flattener1 = container.ForGenericType(typeof (IFlattener<>)) - .WithParameters(typeof (Address)).GetInstanceAs<IFlattener>(); - - - - - Gets the named instance of the pluginType using the explicitly configured arguments from the "args" - - - - - - - - - Starts a request for an instance or instances with explicitly configured arguments. Specifies that any dependency - of type T should be "arg" - - - - - - - - - Starts a "Nested" Container for atomic, isolated access - - - - - - Starts a new "Nested" Container for atomic, isolated service location. Opens - - - - - - - Provides queryable access to the configured PluginType's and Instances of this Container - - - - - Default implementation of IInstanceFactory - - - - - Constructor to use when troubleshooting possible configuration issues. - - - - - - Constructor to create an Container - - PluginGraph containing the instance and type definitions - for the Container - - - - Creates or finds the named instance of T - - - - - - - - Creates a new instance of the requested type T using the supplied Instance. Mostly used internally - - - - - - - Gets the default instance of the pluginType using the explicitly configured arguments from the "args" - - - - - - - Gets the default instance of the pluginType using the explicitly configured arguments from the "args" - - - - - - - - Gets all configured instances of type T using explicitly configured arguments from the "args" - - - - - - - - Creates or finds the default instance of type T - - - - - - - Creates or resolves all registered instances of type T - - - - - - - Sets the default instance for all PluginType's to the designated Profile. - - - - - - Creates or finds the named instance of the pluginType - - - - - - - - Creates or finds the named instance of the pluginType. Returns null if the named instance is not known to the container. - - - - - - - - Creates or finds the default instance of the pluginType. Returns null if the pluginType is not known to the container. - - - - - - - Creates or finds the default instance of type T. Returns the default value of T if it is not known to the container. - - - - - - - The "BuildUp" method takes in an already constructed object - and uses Setter Injection to push in configured dependencies - of that object - - - - - - Creates or finds the named instance of type T. Returns the default value of T if the named instance is not known to the container. - - - - - - - Creates or finds the default instance of the pluginType - - - - - - - Creates a new instance of the requested type using the supplied Instance. Mostly used internally - - - - - - - - Creates or resolves all registered instances of the pluginType - - - - - - - Used to add additional configuration to a Container *after* the initialization. - - - - - - Returns a report detailing the complete configuration of all PluginTypes and Instances - - - - - - Starts a request for an instance or instances with explicitly configured arguments. Specifies that any dependency - of type T should be "arg" - - - - - - - - Starts a request for an instance or instances with explicitly configured arguments. Specifies that any dependency - of type T should be "arg" - - - - - - - - Starts a request for an instance or instances with explicitly configured arguments. Specifies that any dependency or primitive argument - with the designated name should be the next value. - - - - - - - Use with caution! Does a full environment test of the configuration of this container. Will try to create every configured - instance and afterward calls any methods marked with the [ValidationMethod] attribute - - - - - Removes all configured instances of type T from the Container. Use with caution! - - - - - - Convenience method to request an object using an Open Generic - Type and its parameter Types - - - - - IFlattener flattener1 = container.ForGenericType(typeof (IFlattener<>)) - .WithParameters(typeof (Address)).GetInstanceAs<IFlattener>(); - - - - - - Starts a "Nested" Container for atomic, isolated access - - - - - - Starts a new "Nested" Container for atomic, isolated service location. Opens - - - - - - - Injects the given object into a Container as the default for the designated - PLUGINTYPE. Mostly used for temporarily setting up return values of the Container - to introduce mocks or stubs during automated testing scenarios - - - - - - - Injects the given object into a Container as the default for the designated - pluginType. Mostly used for temporarily setting up return values of the Container - to introduce mocks or stubs during automated testing scenarios - - - - - - - Sets the default instance for the PluginType - - - - - - - Provides queryable access to the configured PluginType's and Instances of this Container - - - - - GoF Memento representing an Object Instance - - - - - Retrieves the named property value as a string - - - - - - - Template method for implementation specific retrieval of the named property - - - - - - - Returns the named child InstanceMemento - - - - - - - Template method for implementation specific retrieval of the named property - - - - - - - This method is made public for testing. It is not necessary for normal usage. - - - - - - Used to create a templated InstanceMemento - - - - - - - The named type of the object instance represented by the InstanceMemento. Translates to a concrete - type - - - - - The named key of the object instance represented by the InstanceMemento - - - - - Gets the referred template name - - - - - - Template pattern property specifying whether the InstanceMemento is simply a reference - to another named instance. Useful for child objects. - - - - - Template pattern property specifying the instance key that the InstanceMemento refers to - - - - - Is the InstanceMemento a reference to the default instance of the plugin type? - - - - - A TypeInterceptor that always applies to all Instances of a given Plugin Type - - - - - Abstract class that is the supertype of all storage and retrieval mechanisms of - InstanceMemento instances - - - - - Retrieves the named InstanceMemento - - The instanceKey of the requested InstanceMemento - - - - - Retrieves an array of all InstanceMemento's stored by this MementoSource - - - - - - Template pattern method. Determines if the MementoSource contains a definition for the - requested instanceKey. - - - - - - - Template pattern method. Retrieves an InstanceMemento for the instanceKey - - - - - - - The type of MementoSource - - - - - String description of the MementoSource. Used in the StructureMap-Client UI. - - - - - An in-memory implementation of InstanceMemento. - - - - - Creates an instance of MemoryInstanceMemento that represents a reference to another - instance. - - The referenced instance key to another instance - - - - - Creates a MemoryInstanceMemento that represents a reference to the default instance - of a plugin type. - - - - - - Constructs a MemoryInstanceMemento without properties - - The concrete key of the plugin type - The identifying instance key - - - - Constructs a MemoryInstanceMemento with properties - - The concrete key of the plugin type - The identifying instance key - NameValueCollection of instance properties - - - - Sets the value of the named property - - - - - - - Deletes a named property from the DefaultInstanceMemento - - - - - - Links a child InstanceMemento as a named property - - - - - - - Links an array of InstanceMemento's to a named array property - - - - - - - See InstanceMemento - - - - - See InstanceMemento - - - - - See InstanceMemento - - - - - See InstanceMemento - - - - - See InstanceMemento - - - - - The main static Facade for the StructureMap container - - - - - Restarts ObjectFactory and blows away all Singleton's and cached instances. Use with caution. - - - - - Injects the given object into a Container as the default for the designated - pluginType. Mostly used for temporarily setting up return values of the Container - to introduce mocks or stubs during automated testing scenarios - - - - - - - Injects the given object into a Container as the default for the designated - PLUGINTYPE. Mostly used for temporarily setting up return values of the Container - to introduce mocks or stubs during automated testing scenarios - - - - - - - Returns a report detailing the complete configuration of all PluginTypes and Instances - - - - - - Use with caution! Does a full environment test of the configuration of this container. Will try to create every configured - instance and afterward calls any methods marked with the [ValidationMethod] attribute - - - - - Creates or finds the default instance of the pluginType - - - - - - - Creates or finds the default instance of type T - - - - - - - Creates a new instance of the requested type using the supplied Instance. Mostly used internally - - - - - - - - Creates a new instance of the requested type T using the supplied Instance. Mostly used internally - - - - - - - Creates or finds the named instance of the pluginType - - - - - - - - Creates or finds the named instance of T - - - - - - - - Creates or resolves all registered instances of the pluginType - - - - - - - Creates or resolves all registered instances of type T - - - - - - - Starts a request for an instance or instances with explicitly configured arguments. Specifies that any dependency - of type T should be "arg" - - - - - - - - Starts a request for an instance or instances with explicitly configured arguments. Specifies that any dependency or primitive argument - with the designated name should be the next value. - - - - - - - Starts a request for an instance or instances with explicitly configured arguments. Specifies that any dependency - of type T should be "arg" - - - - - - - - Removes all configured instances of type T from the Container. Use with caution! - - - - - - Creates or finds the named instance of the pluginType. Returns null if the named instance is not known to the container. - - - - - - - - Creates or finds the default instance of the pluginType. Returns null if the pluginType is not known to the container. - - - - - - - Creates or finds the default instance of type T. Returns the default value of T if it is not known to the container. - - - - - - - Creates or finds the named instance of type T. Returns the default value of T if the named instance is not known to the container. - - - - - - - - The "BuildUp" method takes in an already constructed object - and uses Setter Injection to push in configured dependencies - of that object - - - - - - Convenience method to request an object using an Open Generic - Type and its parameter Types - - - - - IFlattener flattener1 = container.ForGenericType(typeof (IFlattener<>)) - .WithParameters(typeof (Address)).GetInstanceAs<IFlattener>(); - - - - - - Used to add additional configuration to a Container *after* the initialization. - - - - - - Provides queryable access to the configured PluginType's and Instances of the inner Container - - - - - Sets the default instance for all PluginType's to the designated Profile. - - - - - Reads configuration XML documents and builds the structures necessary to initialize - the Container/IInstanceFactory/InstanceBuilder/ObjectInstanceActivator objects - - - - - Reads the configuration information and returns the PluginGraph definition of - plugin families and plugin's - - - - - - Generic implementation of an XmlMementoSource - - - - - Base class for all MementoSource classes that store InstanceMemento's as - node-normalized Xml - - - - - Implementation of MementoSource that stores and retrieves an XmlInstanceMemento per file in a named directory. - DirectoryXmlMementoSource is meant to simplify complicated object graph configurations by isolating each instance to a separate - editable file. - - - - - Stores an Xml InstanceMemento per file in a directory - - A ";" delimited list of directories to look for mementos. DirectoryXmlMementoSource - will use the FIRST directory it finds - The file extension of the InstanceMemento files without a dot. Typically "xml" - NodeNormalized or AttributeNormalized - - - - Implementation of MementoSource that stores and retrieves an XmlInstanceMemento per Embedded Resource file - in a named namespace. EmbeddedFolderXmlMementoSource is meant to simplify complicated object graph configurations - by isolating each instance to a separate - editable file. - - NodeNormalized or AttributeNormalized - The name of the Assembly with the embedded resources - The root namespace of all of the mementos. - The file extension of the memento files - "xml" - - - - An in-memory MementoSource - - - - - Retrieves Xml InstanceMemento's from an xml file stored as an embedded resource in an assembly. - - Designates the nodes that are memento nodes - NodeNormalized or AttributeNormalized - The name of the Assembly the file is embedded into - The path to the embedded resource within the file - - - - Default Constructor - - MementoSource that contains the Memento Templates - MementoSource that contains instances consisting of Template valuee - - - - Stores Attribute-normalized InstanceMemento's in an external file - - - - - Implementation of XmlMementoSource that reads InstanceMemento's from an external file. - Useful to break the StructureMap.config file into smaller pieces. - - - - - Default constructor - - Path to the xml file that contains the instance configuration - XPath expression to the parent node that contains the InstanceMemento nodes. - If empty, it defaults to the top node - The name of the nodes that are InstanceMemento nodes. Useful to store - different types of instances in the same file - - - - An implementation of InstanceMemento that stores properties as Xml attributes - Limited functionality - - - - - Implementation of InstanceMemento that stores information in a node-normalized - Xml format. - - - - - specify what type you'd like the service returned as - - - - - - - Specify the open generic type that should have a single generic parameter - - - - - - - Used as the argument in the Container.Configure() method to describe - configuration directives and specify the sources of configuration for - a Container - - - - - Creates and adds a Registry object of type T. - - The Registry Type - - - - Imports all the configuration from a Registry object - - - - - - Imports configuration from an Xml file. The fileName - must point to an Xml file with valid StructureMap - configuration - - - - - - Imports configuration directly from an XmlNode. This - method was intended for scenarios like Xml being embedded - into an assembly. The node must be a 'StructureMap' node - - - - - - If true, directs StructureMap to look for configuration in the App.config. - The default value is false. - - - - - Expression Builder to define an Instance - - - - - - Register a previously built Instance. This provides a "catch all" - method to attach custom Instance objects. Synonym for Instance() - - - - - - Inject this object directly. Synonym to Object() - - - - - - - Gives you full access to all the different ways to specify an "Instance" - - - - - An Expression Builder to define Instances of a PluginType. - This is mostly used for configuring open generic types - - - - - Shortcut to register a Concrete Type as an instance. This method supports - method chaining to allow you to add constructor and setter arguments for - the concrete type - - - - - - - Shortcut to simply use the Instance with the given name - - - - - - - An Expression Builder that is used throughout the Registry DSL to - add and define Instances - - - - - - Register a previously built Instance. This provides a "catch all" - method to attach custom Instance objects. Synonym for IsThis() - - - - - - Inject this object directly. Synonym to IsThis() - - - - - - - Build the Instance with the constructor function and setter arguments. Starts - the definition of a SmartInstance - - - - - - - Build the Instance with the constructor function and setter arguments. Starts - the definition of a SmartInstance - - - - - - - Build the Instance with the constructor function and setter arguments. Use this - method for open generic types, and favor the generic version of OfConcreteType - for all other types - - - - - - - Build the Instance with the constructor function and setter arguments. Use this - method for open generic types, and favor the generic version of OfConcreteType - for all other types - - - - - - - Create an Instance that builds an object by calling a Lambda or - an anonymous delegate with no arguments - - - - - - - Create an Instance that builds an object by calling a Lambda or - an anonymous delegate with the IContext representing - the current object graph. - - - - - - - Use the Instance of this PluginType with the specified name. This is - generally only used while configuring child dependencies within a deep - object graph - - - - - - - Use the default Instance of this PluginType. This is - generally only used while configuring child dependencies within a deep - object graph - - - - - - Creates an Instance that stores this object of type T, - and returns a cloned copy of the template. - - - - - - - Caches template as a serialized byte stream. Uses deserialization - to create copies when the Instance is built. - - - - - - - Creates an Instance that will load an ASCX user control from the url - - - - - - - Creates an Instance according to conditional rules - - - - - - - Used as an expression builder to specify setter injection policies - - - - - Directs StructureMap to treat all public setters of type T as - mandatory properties - - - - - - Directs StructureMap to tread all public setters with - a PropertyType that matches the predicate as a - mandatory setter - - - - - - Directs StructureMap to treat all public setters that match the - rule as mandatory properties - - - - - - Directs StructureMap to treat all public setters with a property - type in the specified namespace as mandatory properties - - - - - - Directs StructureMap to treat all public setters with a property - type in the specified namespace as mandatory properties - - - - - - Directs StructureMap to treat all public setters where to property name - matches the specified rule as a mandatory property - - - - - - Base class for creating an object instance from an InstanceMemento. SubClasses are - emitted for each concrete Plugin with constructor parameters. - - - - - Simply query to see if there are any implementations registered - - - - - - Ejects any instances of this instance from the current container - and permanently removes the instance from the container configuration - - - - - - Eject all instances of this PluginType from the current container, - but leaves the lifecycle behavior - - - - - The "instance" that will be used when Container.GetInstance(PluginType) is called. - See InstanceRef for more information - - - - - The build "policy" for this PluginType. Used by the WhatDoIHave() diagnostics methods - - - - - All of the InstanceRef's registered - for this PluginType - - - - - Simply query to see if there are any implementations registered - - - - - - The "instance" that will be used when Container.GetInstance(PluginType) is called. - See InstanceRef for more information - - - - - The build "policy" for this PluginType. Used by the WhatDoIHave() diagnostics methods - - - - - All of the InstanceRef's registered - for this PluginType - - - - - Simply query to see if there are any implementations registered - - - - - - The "instance" that will be used when Container.GetInstance(PluginType) is called. - See InstanceRef for more information - - - - - The build "policy" for this PluginType. Used by the WhatDoIHave() diagnostics methods - - - - - All of the InstanceRef's registered - for this PluginType - - - - - Models the state of a Container or ObjectFactory. Can be used to query for the - existence of types registered with StructureMap - - - - - Can StructureMap fulfill a request to ObjectFactory.GetInstance(pluginType) from the - current configuration. This does not include concrete classes that could be auto-configured - upon demand - - - - - - - Can StructureMap fulfill a request to ObjectFactory.GetInstance<T>() from the - current configuration. This does not include concrete classes that could be auto-configured - upon demand - - - - - - - Queryable access to all of the InstanceRef for a given PluginType - - - - - - - Queryable access to all of the InstanceRef for a given PluginType - - - - - - Does the current container have existing configuration for the "pluginType" - - - - - - - Does the current container have existing configuration for the type T - - - - - - Find the concrete type for the default Instance of T. - In other words, when I call Container.GetInstance(Type), - what do I get? May be indeterminate - - - - - - - Find the concrete type for the default Instance of pluginType. - In other words, when I call Container.GetInstance(Type), - what do I get? May be indeterminate - - - - - - Retrieves the configuration for the given type - - - - - - - Retrieves the configuration for the given type - - - - - - - Eject all objects, configuration, and Plugin Types matching this filter - - - - - - Eject all objects and configuration for any Plugin Type that matches this filter - - - - - - Eject all objects and Instance configuration for this PluginType - - - - - - Get each and every configured instance that could possibly - be cast to T - - - - - - - Access to all the Plugin Type registrations - - - - - Makes sure that every request for this object returns a unique object - - - - - Simply query to see if there are any implementations registered - - - - - - The "instance" that will be used when Container.GetInstance(PluginType) is called. - See InstanceRef for more information - - - - - The build "policy" for this PluginType. Used by the WhatDoIHave() diagnostics methods - - - - - All of the InstanceRef's registered - for this PluginType - - - - - The actual concrete type of this Instance. Not every type of IInstance - can determine the ConcreteType - - - - - Ejects and removes all objects and the configuration for the named instance from the - container - - - - - - - Ejects and removes all objects and configuration for the instances that match the filter - - - - - - - Determines if the pluggedType can be upcast to the pluginType - - - - - - - - Determines if the PluggedType is a valid Plugin into the - PluginType - - - - - - - - Imports configuration from an Xml file. The fileName - must point to an Xml file with valid StructureMap - configuration - - - - - - Imports configuration directly from an XmlNode. This - method was intended for scenarios like Xml being embedded - into an assembly. The node must be a 'StructureMap' node - - - - - - Creates and adds a Registry object of type T. - - The Registry Type - - - - Imports all the configuration from a Registry object - - - - - - If true, makes the existence of the StructureMap.config mandatory. - The default is false. - - - - - If true, the StructureMap.config file will be ignored even if it exists. - The default is false. - - - - - If true, directs StructureMap to look for configuration in the App.config. - The default value is false. - - - - - Designate the Default Profile. This will be applied as soon as the - Container is initialized. - - - - - Retrieves the configuration for the given type - - - - - - - Retrieves the configuration for the given type - - - - - - - Eject all objects, configuration, and Plugin Types matching this filter - - - - - - Eject all objects and configuration for any Plugin Type that matches this filter - - - - - - Eject all objects and Instance configuration for this PluginType - - - - - - Get each and every configured instance that could possibly - be cast to T - - - - - - - The requested PluginType of the Instance being create - - - - - The Name of the Instance being created - - - - - The actual ConcreteType being created. This will not always - be available - - - - - Models the current place in an object graph during the construction of - an instance. Provides contextual information that can be used - to alter the desired construction of child objects - - - - - The requested PluginType of the Instance being create - - - - - The Name of the Instance being created - - - - - The actual ConcreteType being created. This will not always - be available - - - - - Provides metadata about the object graph being constructed. More or less a stack trace of the GetInstance() pipeline - that can be used for "contextual" object construction - - - - - The top level of the object graph. Describes the original requested instance - - - - - The current BuildFrame - - - - - The immediate parent BuildFrame - - - - - Defines the value of a primitive argument to a constructur argument - - - - - Sets the value of the constructor argument - - - - - - - Sets the value of the constructor argument to the key/value in the - AppSettings - - The key in appSettings for the value to use. - - - - - Sets the value of the constructor argument to the key/value in the - AppSettings when it exists. Otherwise uses the provided default value. - - The key in appSettings for the value to use. - The value to use if an entry for does not exist in the appSettings section. - - - - - Instance that builds objects with by calling constructor functions and using setter properties - - The concrete type constructed by SmartInstance - - - - Sets the name of this Instance - - - - - - - Sets the name of this Instance - - - - - - - Register an Action to perform on the object created by this Instance - before it is returned to the caller - - - - - - - Register an Action to perform on the object created by this Instance - before it is returned to the caller - - - - - - - Register a Func to potentially enrich or substitute for the object - created by this Instance before it is returned to the caller - - - - - - - Register a Func to potentially enrich or substitute for the object - created by this Instance before it is returned to the caller - - - - - - - Register a Func to potentially enrich or substitute for the object - created by this Instance before it is returned to the caller - - - - - - - Register a Func to potentially enrich or substitute for the object - created by this Instance before it is returned to the caller - - - - - - - Register an InstanceInterceptor with this Instance - - - - - - - Define a primitive constructor argument - - - - - - - Set simple setter properties - - - - - - - Define a primitive setter property by specifying the property name with - an expression - - - - - - - Define a primitive setter property by specifying the property name - - - - - - - Inline definition of a constructor dependency. Select the constructor argument by type. Do not - use this method if there is more than one constructor arguments of the same type - - - - - - - Inline definition of a constructor dependency. Select the constructor argument by type. Do not - use this method if there is more than one constructor arguments of the same type - - - - - - - Inline definition of a constructor dependency. Select the constructor argument by type and constructor name. - Use this method if there is more than one constructor arguments of the same type - - - - - - - - Inline definition of a constructor dependency. Select the constructor argument by type and constructor name. - Use this method if there is more than one constructor arguments of the same type - - - - - - - - Inline definition of a setter dependency. The property name is specified with an Expression - - - - - - - - Inline definition of a setter dependency. The property name is specified with an Expression - - - - - - - - Inline definition of a setter dependency. Only use this method if there - is only a single property of the SETTERTYPE - - - - - - - Inline definition of a setter dependency. Only use this method if there - is only a single property of the SETTERTYPE - - - - - - - Inline definition of a dependency on an Array of the CHILD type. I.e. CHILD[]. - This method can be used for either constructor arguments or setter properties - - - - - - - Inline definition of a dependency on an Array of the CHILD type and the specified setter property or constructor argument name. I.e. CHILD[]. - This method can be used for either constructor arguments or setter properties - - - - - - - - Inline definition of a dependency on an Array of the CHILD type. I.e. CHILD[]. - This method can be used for either constructor arguments or setter properties - - - - - - - Inline definition of a dependency on an Array of the CHILD type and the specified setter property or constructor argument name. I.e. CHILD[]. - This method can be used for either constructor arguments or setter properties - - - - - - - - Expression Builder to help define multiple Instances for an Array dependency - - - - - - Nested Closure that allows you to add an unlimited number of child Instances - - - - - - - Specify an array of Instance objects directly for an Array dependency - - - - - - - Expression Builder that helps to define child dependencies inline - - - - - - Sets the value of the constructor argument to the key/value in the - AppSettings - - The key in appSettings for the value to use. - - - - - Sets the value of the constructor argument to the key/value in the - AppSettings when it exists. Otherwise uses the provided default value. - - The key in appSettings for the value to use. - The value to use if an entry for does not exist in the appSettings section. - - - - - Nested Closure to define a child dependency inline - - - - - - - Shortcut to set an inline dependency to an Instance - - - - - - - Shortcut to set an inline dependency to a designated object - - - - - - - Shortcut to set an inline dependency to a designated object - - - - - - - Set an Inline dependency to the Default Instance of the Property type - Used mostly to force an optional Setter property to be filled by - StructureMap - - - - - - Shortcut method to define a child dependency inline - - - - - - - Shortcut method to define a child dependency inline and configure - the child dependency - - - - - - - Provides virtual methods that can be used by subclasses to parse an expression tree. - - - This class actually already exists in the System.Core assembly...as an internal class. - I can only speculate as to why it is internal, but it is obviously much too dangerous - for anyone outside of Microsoft to be using... - - - - diff --git a/lib/Symbiote.StructureMap/Symbiote.Core.dll b/lib/Symbiote.StructureMap/Symbiote.Core.dll deleted file mode 100644 index 425b69a..0000000 Binary files a/lib/Symbiote.StructureMap/Symbiote.Core.dll and /dev/null differ diff --git a/lib/Symbiote.StructureMap/Symbiote.Core.pdb b/lib/Symbiote.StructureMap/Symbiote.Core.pdb deleted file mode 100644 index 9e4470a..0000000 Binary files a/lib/Symbiote.StructureMap/Symbiote.Core.pdb and /dev/null differ diff --git a/lib/Symbiote.StructureMap/Symbiote.StructureMap.dll b/lib/Symbiote.StructureMap/Symbiote.StructureMap.dll deleted file mode 100644 index 629200f..0000000 Binary files a/lib/Symbiote.StructureMap/Symbiote.StructureMap.dll and /dev/null differ diff --git a/lib/Symbiote.StructureMap/Symbiote.StructureMap.pdb b/lib/Symbiote.StructureMap/Symbiote.StructureMap.pdb deleted file mode 100644 index dc0a355..0000000 Binary files a/lib/Symbiote.StructureMap/Symbiote.StructureMap.pdb and /dev/null differ diff --git a/src/CouchDBIndexService/CouchDBIndexService.csproj b/src/CouchDBIndexService/CouchDBIndexService.csproj deleted file mode 100644 index abba428..0000000 --- a/src/CouchDBIndexService/CouchDBIndexService.csproj +++ /dev/null @@ -1,115 +0,0 @@ - - - - Debug - AnyCPU - 8.0.30703 - 2.0 - {681B03FD-66ED-48D8-8C14-EC49452CDBDC} - Exe - Properties - CouchDBIndexService - CouchDBIndexService - v4.0 - 512 - - - true - full - false - ..\..\bin\CouchDbIndexService\ - DEBUG;TRACE - prompt - 4 - - - pdbonly - true - bin\Release\ - TRACE - prompt - 4 - - - - - - - False - ..\..\lib\Symbiote.Log4Net\log4net.dll - - - False - ..\..\lib\Symbiote.Lucene\Lucene.Net.dll - - - False - ..\..\lib\Symbiote.Daemon\Magnum.dll - - - False - ..\..\lib\Symbiote.Core\Microsoft.Practices.ServiceLocation.dll - - - False - ..\..\lib\Symbiote.Core\Newtonsoft.Json.dll - - - ..\..\lib\Symbiote.StructureMap\StructureMap.dll - - - False - ..\..\lib\Symbiote.Core\Symbiote.Core.dll - - - False - ..\..\lib\Symbiote.Daemon\Symbiote.Daemon.dll - - - False - ..\..\lib\Symbiote.JsonRpc.Host\Symbiote.JsonRpc.Host.dll - - - ..\..\lib\Symbiote.Log4Net\Symbiote.Log4Net.dll - - - False - ..\..\lib\Symbiote.Lucene\Symbiote.Lucene.dll - - - ..\..\lib\Symbiote.StructureMap\Symbiote.StructureMap.dll - - - - - - - - - False - ..\..\lib\Symbiote.Daemon\Topshelf.dll - - - - - - - - - {EAC2B6B2-8F3C-49A8-88B0-DA6CC04C4935} - Relax.Lucene - - - {3A8D40A3-96F9-4878-902E-7CBC3A82AEDD} - Relax - - - - - \ No newline at end of file diff --git a/src/CouchDBIndexService/Program.cs b/src/CouchDBIndexService/Program.cs deleted file mode 100644 index 0fafcd1..0000000 --- a/src/CouchDBIndexService/Program.cs +++ /dev/null @@ -1,37 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using Relax; -using Relax.Lucene; -using Symbiote.Core; -using Symbiote.Daemon; -using Symbiote.Log4Net; -using Symbiote.Lucene; -using Symbiote.JsonRpc.Host; -using Symbiote.StructureMap; - -namespace CouchDBIndexService -{ - class Program - { - static void Main(string[] args) - { - Assimilate - .Core() - .Relax(x => x.UseDefaults().Preauthorize("admin", "p@ssw0rd")) - .Lucene(x => x.UseDefaults()) - .RelaxLuceneService(x => x.UseDefaults().IndexDatabase("relaxdemo")) - .JsonRpcHost(x => x.UseDefaults().HostService()) - .Dependencies(x => x.For().Use()) - .Daemon(x => x - .Name("Relax.Lucene") - .DisplayName("Relax Lucene Service") - .Description("A Lucene indexing and query service for CouchDB") - .Arguments(args) - ) - .AddConsoleLogger(x => x.Info().MessageLayout(p => p.TimeStamp().Message())) - .RunDaemon(); - } - } -} diff --git a/src/CouchDBIndexService/Properties/AssemblyInfo.cs b/src/CouchDBIndexService/Properties/AssemblyInfo.cs deleted file mode 100644 index c976510..0000000 --- a/src/CouchDBIndexService/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,36 +0,0 @@ -using System.Reflection; -using System.Runtime.CompilerServices; -using System.Runtime.InteropServices; - -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyTitle("CouchDBIndexService")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("Microsoft")] -[assembly: AssemblyProduct("CouchDBIndexService")] -[assembly: AssemblyCopyright("Copyright © Microsoft 2010")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] - -// Setting ComVisible to false makes the types in this assembly not visible -// to COM components. If you need to access a type in this assembly from -// COM, set the ComVisible attribute to true on that type. -[assembly: ComVisible(false)] - -// The following GUID is for the ID of the typelib if this project is exposed to COM -[assembly: Guid("d8cec351-e25d-4e3c-90d3-9b44ed264fa8")] - -// Version information for an assembly consists of the following four values: -// -// Major Version -// Minor Version -// Build Number -// Revision -// -// You can specify all the values or you can default the Build and Revision Numbers -// by using the '*' as shown below: -// [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.0.0.0")] -[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/src/Relax.Lucene.SearchProvider/ExpressionTreeProcessor.cs b/src/Relax.Lucene.SearchProvider/ExpressionTreeProcessor.cs deleted file mode 100644 index e75e5a4..0000000 --- a/src/Relax.Lucene.SearchProvider/ExpressionTreeProcessor.cs +++ /dev/null @@ -1,338 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Linq.Expressions; -using System.Text; -using Symbiote.Core; -using Symbiote.Core.Extensions; - -namespace Relax.Impl -{ - public class ExpressionTreeProcessor - { - #region "Don't look at this, it'll break your eyes" - protected static Dictionary> processors = - new Dictionary>() - { - {ExpressionType.Add, ProcessAddition}, - {ExpressionType.AddAssign, DoNothing}, - {ExpressionType.AddAssignChecked, DoNothing}, - {ExpressionType.AddChecked, ProcessAddition}, - {ExpressionType.And, ProcessAnd}, - {ExpressionType.AndAlso, ProcessAnd}, - {ExpressionType.AndAssign, DoNothing}, - {ExpressionType.ArrayIndex, DoNothing}, - {ExpressionType.Assign, DoNothing}, - {ExpressionType.Block, DoNothing}, - {ExpressionType.Call, ProcessCall}, - {ExpressionType.Coalesce, DoNothing}, - {ExpressionType.Conditional, DoNothing}, - {ExpressionType.Constant, ProcessConstant}, - {ExpressionType.Convert, DoNothing}, - {ExpressionType.ConvertChecked, DoNothing}, - {ExpressionType.DebugInfo, DoNothing}, - {ExpressionType.Decrement, DoNothing}, - {ExpressionType.Default, DoNothing}, - {ExpressionType.Divide, ProcessDivision}, - {ExpressionType.DivideAssign, DoNothing}, - {ExpressionType.Dynamic, DoNothing}, - {ExpressionType.Equal, ProcessEquals}, - {ExpressionType.ExclusiveOr, DoNothing}, - {ExpressionType.ExclusiveOrAssign, DoNothing}, - {ExpressionType.Extension, DoNothing}, - {ExpressionType.Goto, DoNothing}, - {ExpressionType.GreaterThan, ProcessGreaterThan}, - {ExpressionType.GreaterThanOrEqual, ProcessGreaterThanEqualTo}, - {ExpressionType.Increment, DoNothing}, - {ExpressionType.Index, DoNothing}, - {ExpressionType.Invoke, DoNothing}, - {ExpressionType.IsFalse, DoNothing}, - {ExpressionType.IsTrue, DoNothing}, - {ExpressionType.Label, DoNothing}, - {ExpressionType.Lambda, ProcessLambda}, - {ExpressionType.LeftShift, DoNothing}, - {ExpressionType.LeftShiftAssign, DoNothing}, - {ExpressionType.LessThan, ProcessLessThan}, - {ExpressionType.LessThanOrEqual, ProcessLessThanEqualTo}, - {ExpressionType.ListInit, DoNothing}, - {ExpressionType.Loop, DoNothing}, - {ExpressionType.MemberAccess, ProcessMemberAccess}, - {ExpressionType.MemberInit, DoNothing}, - {ExpressionType.Modulo, DoNothing}, - {ExpressionType.ModuloAssign, DoNothing}, - {ExpressionType.Multiply, ProcessMultiplication}, - {ExpressionType.MultiplyAssign, DoNothing}, - {ExpressionType.MultiplyAssignChecked, DoNothing}, - {ExpressionType.MultiplyChecked, ProcessMultiplication}, - {ExpressionType.Negate, DoNothing}, - {ExpressionType.NegateChecked, DoNothing}, - {ExpressionType.New, DoNothing}, - {ExpressionType.NewArrayBounds, DoNothing}, - {ExpressionType.NewArrayInit, DoNothing}, - {ExpressionType.Not, DoNothing}, - {ExpressionType.NotEqual, DoNothing}, - {ExpressionType.OnesComplement, DoNothing}, - {ExpressionType.Or, ProcessOr}, - {ExpressionType.OrAssign, DoNothing}, - {ExpressionType.OrElse, ProcessOr}, - {ExpressionType.Parameter, ProcessParameter}, - {ExpressionType.PostDecrementAssign, DoNothing}, - {ExpressionType.PostIncrementAssign, DoNothing}, - {ExpressionType.Power, DoNothing}, - {ExpressionType.PowerAssign, DoNothing}, - {ExpressionType.PreDecrementAssign, DoNothing}, - {ExpressionType.PreIncrementAssign, DoNothing}, - {ExpressionType.Quote, DoNothing}, - {ExpressionType.RightShift, DoNothing}, - {ExpressionType.RightShiftAssign, DoNothing}, - {ExpressionType.RuntimeVariables, DoNothing}, - {ExpressionType.Subtract, ProcessSubtraction}, - {ExpressionType.SubtractAssign, DoNothing}, - {ExpressionType.SubtractAssignChecked, DoNothing}, - {ExpressionType.SubtractChecked, ProcessSubtraction}, - {ExpressionType.Switch, DoNothing}, - {ExpressionType.Throw, DoNothing}, - {ExpressionType.Try, DoNothing}, - {ExpressionType.TypeAs, DoNothing}, - {ExpressionType.TypeEqual, DoNothing}, - {ExpressionType.TypeIs, DoNothing}, - {ExpressionType.UnaryPlus, DoNothing}, - {ExpressionType.Unbox, DoNothing}, - }; - - #endregion - - public static string TranslateExpression(Expression expression) - { - var builder = new DelimitedBuilder(""); - Process(expression, "", builder); - return builder.ToString(); - } - - public static void Process(Expression expr, string prefix, DelimitedBuilder builder) - { - processors[expr.NodeType](expr, prefix, builder); - } - - private static void ProcessMemberAccess(Expression expr, string prefix, DelimitedBuilder builder) - { - var symbols = new[] { "{", "TO ", ":", "[", @"\+", @"\-", @"\\", @"\*" }; - var memberExpr = expr as MemberExpression; - var temp = builder.ToString(); - var last = new string(temp.Skip(temp.Length - 3).Take(3).ToArray()); - if (ConstantExpected(builder)) - { - var memberValue = Expression>.Lambda(expr).Compile().DynamicInvoke(); - builder.Append(HandleFormatting(memberValue)); - } - else - { - var memberName = GetMemberName(memberExpr); - var value = string.IsNullOrEmpty(prefix) - ? memberName - : "{0}.{1}".AsFormat(prefix, memberName); - builder.Append(value); - } - } - - private static bool ConstantExpected(DelimitedBuilder builder) - { - var symbols = new[] { "{", "TO ", ":", "[", @"\+", @"\-", @"\\", @"\*" }; - var temp = builder.ToString(); - var last = new string(temp.Skip(temp.Length - 3).Take(3).ToArray()); - return symbols.Any(x => last.EndsWith(x)); - } - - private static string GetMemberName(MemberExpression expr) - { - if (expr.Expression is MemberExpression) - { - return "{0}.{1}".AsFormat( - GetMemberName(expr.Expression as MemberExpression), - expr.Member.Name); - } - else if (expr.Expression is MethodCallExpression) - { - var methodCallExpression = expr.Expression as MethodCallExpression; - return "{0}.{1}".AsFormat( - GetMemberName(methodCallExpression.Object as MemberExpression), - expr.Member.Name); - } - else - { - return expr.Member.Name; - } - } - - private static void ProcessLambda(Expression expr, string prefix, DelimitedBuilder builder) - { - var lambda = expr as LambdaExpression; - - Process(lambda.Body, prefix, builder); - } - - private static void ProcessParameter(Expression expr, string prefix, DelimitedBuilder builder) - { - var parameterExpr = expr as ParameterExpression; - - if (parameterExpr.Name.Length > 1) - { - var paramValue = Expression>.Lambda(parameterExpr).Compile().DynamicInvoke(); - builder.Append(HandleFormatting(paramValue)); - } - } - - private static void ProcessAddition(Expression expr, string prefix, DelimitedBuilder builder) - { - ProcessSimpleBinaryExpression(expr, prefix, builder, @"\+"); - } - - private static void ProcessAnd(Expression expr, string prefix, DelimitedBuilder builder) - { - ProcessSimpleBinaryExpression(expr, prefix, builder, " AND "); - } - - private static void ProcessOr(Expression expr, string prefix, DelimitedBuilder builder) - { - ProcessSimpleBinaryExpression(expr, prefix, builder, " OR "); - } - - private static void ProcessGreaterThan(Expression expr, string prefix, DelimitedBuilder builder) - { - var binaryExpr = expr as BinaryExpression; - Process(binaryExpr.Left, prefix, builder); - builder.Append(":{"); - Process(binaryExpr.Right, prefix, builder); - builder.Append(" TO *}"); - } - - private static void ProcessGreaterThanEqualTo(Expression expr, string prefix, DelimitedBuilder builder) - { - var binaryExpr = expr as BinaryExpression; - Process(binaryExpr.Left, prefix, builder); - builder.Append(":["); - Process(binaryExpr.Right, prefix, builder); - builder.Append(" TO *]"); - } - - private static void ProcessLessThan(Expression expr, string prefix, DelimitedBuilder builder) - { - var binaryExpr = expr as BinaryExpression; - Process(binaryExpr.Left, prefix, builder); - builder.Append(":{* TO "); - Process(binaryExpr.Right, prefix, builder); - builder.Append("}"); - } - - private static void ProcessLessThanEqualTo(Expression expr, string prefix, DelimitedBuilder builder) - { - var binaryExpr = expr as BinaryExpression; - Process(binaryExpr.Left, prefix, builder); - builder.Append(":[* TO "); - Process(binaryExpr.Right, prefix, builder); - builder.Append("]"); - } - - private static void ProcessEquals(Expression expr, string prefix, DelimitedBuilder builder) - { - ProcessSimpleBinaryExpression(expr, prefix, builder, ":"); - } - - private static void ProcessDivision(Expression expr, string prefix, DelimitedBuilder builder) - { - ProcessSimpleBinaryExpression(expr, prefix, builder, @"\\"); - } - - private static void ProcessMultiplication(Expression expr, string prefix, DelimitedBuilder builder) - { - ProcessSimpleBinaryExpression(expr, prefix, builder, @"\*"); - } - - private static void ProcessSubtraction(Expression expr, string prefix, DelimitedBuilder builder) - { - ProcessSimpleBinaryExpression(expr, prefix, builder, @"\-"); - } - - private static void ProcessCall(Expression expr, string prefix, DelimitedBuilder builder) - { - var call = expr as MethodCallExpression; - var name = call.Method.Name; - - if (ConstantExpected(builder)) - { - var constValue = Expression>.Lambda(expr).Compile().DynamicInvoke(); - builder.Append(HandleFormatting(constValue)); - } - else - { - switch (name) - { - case "StartsWith": - Process(call.Object, prefix, builder); - builder.Append(":"); - call.Arguments.ForEach(x => Process(x, prefix, builder)); - builder.Append("*"); - break; - case "EndsWith": - Process(call.Object, prefix, builder); - builder.Append(":"); - builder.Append("*"); - call.Arguments.ForEach(x => Process(x, prefix, builder)); - break; - case "Contains": - Process(call.Object, prefix, builder); - builder.Append(":"); - builder.Append("*"); - call.Arguments.ForEach(x => Process(x, prefix, builder)); - builder.Append("*"); - break; - case "Any": - var memberName = GetMemberName(call.Arguments.First() as MemberExpression); - var newPrefix = string.IsNullOrEmpty(prefix) ? - memberName : - "{0}.{1}".AsFormat(prefix, memberName); - call.Arguments.Skip(1).ForEach(x => - { - Process(x, newPrefix, builder); - }); - break; - default: - call.Arguments.ForEach(x => Process(x, prefix, builder)); - break; - } - } - } - - private static void ProcessConstant(Expression expr, string prefix, DelimitedBuilder builder) - { - var constantExpr = expr as ConstantExpression; - builder.Append(HandleFormatting(constantExpr.Value)); - } - - private static void ProcessSimpleBinaryExpression(Expression expr, string prefix, DelimitedBuilder builder, string token) - { - var binaryExpr = expr as BinaryExpression; - Process(binaryExpr.Left, prefix, builder); - builder.Append(token); - Process(binaryExpr.Right, prefix, builder); - } - - private static string HandleFormatting(object value) - { - if (value is DateTime) - { - return ((DateTime)value).ToShortDateString(); - } - else - { - return value.ToString(); - } - } - - private static void DoNothing(Expression expr, string prefix, DelimitedBuilder builder) - { - var nodeType = expr.NodeType; - builder.AppendFormat("No handler for node type {0}", nodeType.ToString()); - } - } -} diff --git a/src/Relax.Lucene.SearchProvider/Properties/AssemblyInfo.cs b/src/Relax.Lucene.SearchProvider/Properties/AssemblyInfo.cs deleted file mode 100644 index 43eb40f..0000000 --- a/src/Relax.Lucene.SearchProvider/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,36 +0,0 @@ -using System.Reflection; -using System.Runtime.CompilerServices; -using System.Runtime.InteropServices; - -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyTitle("Relax.Lucene.SearchProvider")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("Microsoft")] -[assembly: AssemblyProduct("Relax.Lucene.SearchProvider")] -[assembly: AssemblyCopyright("Copyright © Microsoft 2010")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] - -// Setting ComVisible to false makes the types in this assembly not visible -// to COM components. If you need to access a type in this assembly from -// COM, set the ComVisible attribute to true on that type. -[assembly: ComVisible(false)] - -// The following GUID is for the ID of the typelib if this project is exposed to COM -[assembly: Guid("b1049921-c596-47e7-a536-ccd3757a1d00")] - -// Version information for an assembly consists of the following four values: -// -// Major Version -// Minor Version -// Build Number -// Revision -// -// You can specify all the values or you can default the Build and Revision Numbers -// by using the '*' as shown below: -// [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.0.0.0")] -[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/src/Relax.Lucene.SearchProvider/Relax.Lucene.SearchProvider.csproj b/src/Relax.Lucene.SearchProvider/Relax.Lucene.SearchProvider.csproj deleted file mode 100644 index 352cd70..0000000 --- a/src/Relax.Lucene.SearchProvider/Relax.Lucene.SearchProvider.csproj +++ /dev/null @@ -1,74 +0,0 @@ - - - - Debug - AnyCPU - 8.0.30703 - 2.0 - {5F1B1763-0BC1-4363-A287-9FE4123BBFC2} - Library - Properties - Relax.Lucene.SearchProvider - Relax.Lucene.SearchProvider - v4.0 - 512 - - - true - full - false - ..\..\bin\Relax.Lucene.SearchProvider\ - DEBUG;TRACE - prompt - 4 - - - pdbonly - true - bin\Release\ - TRACE - prompt - 4 - - - - ..\..\lib\Symbiote.JsonRpc.Client\Microsoft.Practices.ServiceLocation.dll - - - ..\..\lib\Symbiote.JsonRpc.Client\Newtonsoft.Json.dll - - - ..\..\lib\Symbiote.JsonRpc.Client\Symbiote.Core.dll - - - ..\..\lib\Symbiote.JsonRpc.Client\Symbiote.JsonRpc.Client.dll - - - - - - - - - - - - - - - - - - {3A8D40A3-96F9-4878-902E-7CBC3A82AEDD} - Relax - - - - - \ No newline at end of file diff --git a/src/Relax.Lucene.SearchProvider/RelaxLuceneSearchAssimilation.cs b/src/Relax.Lucene.SearchProvider/RelaxLuceneSearchAssimilation.cs deleted file mode 100644 index a829a2f..0000000 --- a/src/Relax.Lucene.SearchProvider/RelaxLuceneSearchAssimilation.cs +++ /dev/null @@ -1,17 +0,0 @@ -using System; -using Relax.Impl; -using Symbiote.Core; -using Symbiote.JsonRpc.Client; - -namespace Relax.Lucene.SearchProvider -{ - public static class RelaxLuceneSearchAssimilation - { - public static IAssimilate RelaxLuceneSearchProvider(this IAssimilate assimilate, string searchServerUri, TimeSpan timeout) - { - return assimilate - .JsonRpcClient(x => x.Server(searchServerUri).Timeout((int)timeout.TotalMilliseconds)) - .Dependencies(x => x.For().Use()); - } - } -} \ No newline at end of file diff --git a/src/Relax.Lucene.SearchProvider/RelaxLuceneSearchProvider.cs b/src/Relax.Lucene.SearchProvider/RelaxLuceneSearchProvider.cs deleted file mode 100644 index f3c89a9..0000000 --- a/src/Relax.Lucene.SearchProvider/RelaxLuceneSearchProvider.cs +++ /dev/null @@ -1,30 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Linq.Expressions; -using System.Text; -using Relax.Config; -using Relax.Impl; -using Symbiote.JsonRpc.Client; - -namespace Relax.Lucene.SearchProvider -{ - public class RelaxLuceneSearchProvider : IDocumentSearchProvider - { - protected IRemoteProxy remoteProxy { get; set; } - protected ICouchConfiguration couchConfiguration { get; set; } - - public object[] GetDocumentIdsForQuery(Expression> criteria) - { - var databaseName = couchConfiguration.GetDatabaseNameForType(); - var luceneQuery = ExpressionTreeProcessor.TranslateExpression(criteria); - return remoteProxy.Call(x => x.GetDocumentIdsForQuery(databaseName, luceneQuery)); - } - - public RelaxLuceneSearchProvider(ICouchConfiguration configuration, IRemoteProxy remoteProxy) - { - this.remoteProxy = remoteProxy; - this.couchConfiguration = configuration; - } - } -} diff --git a/src/Relax.Lucene/IRelaxLuceneConfiguration.cs b/src/Relax.Lucene/IRelaxLuceneConfiguration.cs deleted file mode 100644 index e2eca7e..0000000 --- a/src/Relax.Lucene/IRelaxLuceneConfiguration.cs +++ /dev/null @@ -1,9 +0,0 @@ -using System.Collections.Generic; - -namespace Relax.Lucene -{ - public interface IRelaxLuceneConfiguration - { - HashSet Databases { get; set; } - } -} \ No newline at end of file diff --git a/src/Relax.Lucene/JsonVisitor.cs b/src/Relax.Lucene/JsonVisitor.cs deleted file mode 100644 index 63f6ae7..0000000 --- a/src/Relax.Lucene/JsonVisitor.cs +++ /dev/null @@ -1,88 +0,0 @@ -using System; -using System.Collections.Concurrent; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using Newtonsoft.Json.Linq; -using Symbiote.Core.Extensions; -using Symbiote.Lucene; - -namespace Relax.Lucene -{ - public class JsonVisitor - : IVisit - { - protected Dictionary> typeProcessor { get; set; } - protected ConcurrentBag>> observers { get; set; } - - public JsonVisitor() - { - typeProcessor = new Dictionary> { - {typeof(JObject),ProcessObject}, - {typeof(JProperty),ProcessProperty}, - {typeof(JArray),ProcessArray}, - {typeof(JValue),ProcessValue} - }; - - observers = new ConcurrentBag>>(); - } - - protected void Process(JToken jObject, string prefix) - { - typeProcessor[jObject.GetType()](jObject, prefix); - } - - public void Accept(string root) - { - var obj = JObject.Parse(root); - Process(obj, ""); - observers - .ForEach(x => x.OnCompleted()); - } - - protected void ProcessValue(JToken token, string prefix) - { - var jValue = token as JValue; - observers - .ForEach(x => x.OnNext(Tuple.Create(prefix, jValue.Value.ToString()))); - } - - public IDisposable Subscribe(IObserver> observer) - { - var disposable = observer as IDisposable; - observers.Add(observer); - return disposable; - } - - protected void ProcessArray(JToken token, string prefix) - { - var array = token as JArray; - if (array.Children().Count() == 0) - return; - - observers - .ForEach(x => x.OnNext(Tuple.Create(prefix + ".Count", array.Count.ToString()))); - - array - .Children() - .ForEach(x => Process(x, prefix)); - } - - protected void ProcessProperty(JToken token, string prefix) - { - var property = token as JProperty; - var name = string.IsNullOrEmpty(prefix) ? property.Name : "{0}.{1}".AsFormat(prefix, property.Name); - Process(property.Value, name); - } - - protected void ProcessObject(JToken token, string prefix) - { - var jObject = token as JObject; - - if (jObject.HasValues) - jObject - .Children() - .ForEach(x => Process(x, prefix)); - } - } -} diff --git a/src/Relax.Lucene/Program.cs b/src/Relax.Lucene/Program.cs deleted file mode 100644 index 7c6957f..0000000 --- a/src/Relax.Lucene/Program.cs +++ /dev/null @@ -1,34 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using Symbiote.Core; -using Symbiote.Lucene; -using Symbiote.Log4Net; -using Symbiote.Daemon; -using Symbiote.Restfully; - -namespace Relax.Lucene -{ - class Program - { - static void Main(string[] args) - { - Assimilate - .Core() - .Relax(x => x.UseDefaults().Preauthorize("admin","p@ssw0rd")) - .Lucene(x => x.UseDefaults()) - .RelaxLuceneService(x => x.UseDefaults().IndexDatabase("post")) - .HttpServiceHost(x => x.UseDefaults().HostService()) - .Dependencies(x => x.For().Use()) - .Daemon(x => x - .Name("Relax.Lucene") - .DisplayName("Relax Lucene Service") - .Description("A Lucene indexing and query service for CouchDB") - .Arguments(args) - ) - .AddConsoleLogger(x => x.Info().MessageLayout(p => p.TimeStamp().Message())) - .RunDaemon(); - } - } -} diff --git a/src/Relax.Lucene/Properties/AssemblyInfo.cs b/src/Relax.Lucene/Properties/AssemblyInfo.cs deleted file mode 100644 index 42a72e1..0000000 --- a/src/Relax.Lucene/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,36 +0,0 @@ -using System.Reflection; -using System.Runtime.CompilerServices; -using System.Runtime.InteropServices; - -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyTitle("Relax.Lucene")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("Microsoft")] -[assembly: AssemblyProduct("Relax.Lucene")] -[assembly: AssemblyCopyright("Copyright © Microsoft 2010")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] - -// Setting ComVisible to false makes the types in this assembly not visible -// to COM components. If you need to access a type in this assembly from -// COM, set the ComVisible attribute to true on that type. -[assembly: ComVisible(false)] - -// The following GUID is for the ID of the typelib if this project is exposed to COM -[assembly: Guid("d72bf11c-dc1d-4055-8039-85cb664daa9c")] - -// Version information for an assembly consists of the following four values: -// -// Major Version -// Minor Version -// Build Number -// Revision -// -// You can specify all the values or you can default the Build and Revision Numbers -// by using the '*' as shown below: -// [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.0.0.0")] -[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/src/Relax.Lucene/Relax.Lucene.csproj b/src/Relax.Lucene/Relax.Lucene.csproj deleted file mode 100644 index 0e860ce..0000000 --- a/src/Relax.Lucene/Relax.Lucene.csproj +++ /dev/null @@ -1,103 +0,0 @@ - - - - Debug - AnyCPU - 8.0.30703 - 2.0 - {EAC2B6B2-8F3C-49A8-88B0-DA6CC04C4935} - Library - Properties - Relax.Lucene - Relax.Lucene - v4.0 - 512 - - - true - full - false - ..\..\bin\Relax.Lucene\ - DEBUG;TRACE - prompt - 4 - - - pdbonly - true - bin\Release\ - TRACE - prompt - 4 - - - - - - - False - ..\..\lib\Symbiote.Lucene\Lucene.Net.dll - - - False - ..\..\lib\Symbiote.Daemon\Magnum.dll - - - False - ..\..\lib\Symbiote.Core\Microsoft.Practices.ServiceLocation.dll - - - False - ..\..\lib\Symbiote.Core\Newtonsoft.Json.dll - - - False - ..\..\lib\Symbiote.Core\Symbiote.Core.dll - - - False - ..\..\lib\Symbiote.Daemon\Symbiote.Daemon.dll - - - ..\..\lib\Symbiote.JsonRpc.Host\Symbiote.JsonRpc.Host.dll - - - False - ..\..\lib\Symbiote.Lucene\Symbiote.Lucene.dll - - - - - - - - - False - ..\..\lib\Symbiote.Daemon\Topshelf.dll - - - - - - - - - - - - - - - {3A8D40A3-96F9-4878-902E-7CBC3A82AEDD} - Relax - - - - - \ No newline at end of file diff --git a/src/Relax.Lucene/RelaxIndexingService.cs b/src/Relax.Lucene/RelaxIndexingService.cs deleted file mode 100644 index 3f71be6..0000000 --- a/src/Relax.Lucene/RelaxIndexingService.cs +++ /dev/null @@ -1,78 +0,0 @@ -using System; -using System.Collections.Concurrent; -using System.Linq; -using System.Text; -using Symbiote.Core.Extensions; -using Symbiote.Daemon; -using Symbiote.JsonRpc.Host; -using Symbiote.Lucene; - - -namespace Relax.Lucene -{ - public class RelaxIndexingService - : IDaemon - { - protected IRelaxLuceneConfiguration configuration { get; set; } - protected ILuceneServiceFactory luceneServiceFactory { get; set; } - protected IDocumentRepository repository { get; set; } - protected IJsonRpcHost server { get; set; } - protected object _lock = new object(); - public bool firstRunComplete { get;set; } - - public void Start() - { - server.Start(); - configuration - .Databases - .ForEach(x => repository.HandleUpdates(x, 0, OnChange, null)); - } - - public void Stop() - { - server.Stop(); - configuration - .Databases - .ForEach(x => repository.StopChangeStreaming(x)); - } - - protected void OnChange(string database, ChangeRecord record) - { - if(!firstRunComplete) - { - lock(_lock) - { - IndexDocument(record, database); - firstRunComplete = true; - } - } - else - { - IndexDocument(record, database); - } - } - - protected void IndexDocument(ChangeRecord record, string database) - { - "Indexing document id '{0}', sequence {1}" - .ToInfo(record.Id, record.Sequence); - - var indexer = luceneServiceFactory.GetIndexingObserverForIndex(database); - var visitor = new JsonVisitor(); - visitor.Subscribe(indexer); - visitor.Accept(record.Document); - } - - public RelaxIndexingService( - IRelaxLuceneConfiguration configuration, - IDocumentRepository respository, - ILuceneServiceFactory serviceFactory, - IJsonRpcHost server) - { - this.configuration = configuration; - this.repository = respository; - this.luceneServiceFactory = serviceFactory; - this.server = server; - } - } -} diff --git a/src/Relax.Lucene/RelaxLuceneAssimilation.cs b/src/Relax.Lucene/RelaxLuceneAssimilation.cs deleted file mode 100644 index bc8baa6..0000000 --- a/src/Relax.Lucene/RelaxLuceneAssimilation.cs +++ /dev/null @@ -1,27 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using Symbiote.Core; - -namespace Relax.Lucene -{ - public static class RelaxLuceneAssimilation - { - public static IAssimilate RelaxLuceneService(this IAssimilate assimilate, Action configure) - { - var configurator = new RelaxLuceneConfigurator(); - configure(configurator); - var configuration = configurator.GetConfiguration(); - - assimilate - .Dependencies(x => - { - x.For().Use(configuration); - - }); - - return assimilate; - } - } -} diff --git a/src/Relax.Lucene/RelaxLuceneConfiguration.cs b/src/Relax.Lucene/RelaxLuceneConfiguration.cs deleted file mode 100644 index 3e61dcc..0000000 --- a/src/Relax.Lucene/RelaxLuceneConfiguration.cs +++ /dev/null @@ -1,14 +0,0 @@ -using System.Collections.Generic; - -namespace Relax.Lucene -{ - public class RelaxLuceneConfiguration : IRelaxLuceneConfiguration - { - public HashSet Databases { get; set; } - - public RelaxLuceneConfiguration() - { - Databases = new HashSet(); - } - } -} \ No newline at end of file diff --git a/src/Relax.Lucene/RelaxLuceneConfigurator.cs b/src/Relax.Lucene/RelaxLuceneConfigurator.cs deleted file mode 100644 index db27eea..0000000 --- a/src/Relax.Lucene/RelaxLuceneConfigurator.cs +++ /dev/null @@ -1,28 +0,0 @@ -namespace Relax.Lucene -{ - public class RelaxLuceneConfigurator - { - protected IRelaxLuceneConfiguration configuration { get; set; } - - public RelaxLuceneConfigurator IndexDatabase(string database) - { - configuration.Databases.Add(database); - return this; - } - - public RelaxLuceneConfigurator UseDefaults() - { - return this; - } - - public IRelaxLuceneConfiguration GetConfiguration() - { - return configuration; - } - - public RelaxLuceneConfigurator() - { - configuration = new RelaxLuceneConfiguration(); - } - } -} \ No newline at end of file diff --git a/src/Relax.Lucene/RelaxQueryService.cs b/src/Relax.Lucene/RelaxQueryService.cs deleted file mode 100644 index 6cc40dc..0000000 --- a/src/Relax.Lucene/RelaxQueryService.cs +++ /dev/null @@ -1,31 +0,0 @@ -using System; -using System.Linq; -using Symbiote.Lucene; - -namespace Relax.Lucene -{ - public class RelaxQueryService : IRelaxQueryService - { - protected IRelaxLuceneConfiguration configuration { get; set; } - protected ILuceneServiceFactory luceneServiceFactory { get; set; } - protected IDocumentRepository repository { get; set; } - - public string[] GetDocumentIdsForQuery(string database, string luceneQuery) - { - var searchProvider = luceneServiceFactory.GetSearchProviderForIndex(database); - var documents = searchProvider.GetDocumentsForQuery(luceneQuery).ToList(); - var ids = documents.Select(x => x.Item2.Get("_id").ToString()); - return ids.ToArray(); - } - - public RelaxQueryService( - IRelaxLuceneConfiguration configuration, - IDocumentRepository respository, - ILuceneServiceFactory serviceFactory) - { - this.configuration = configuration; - this.repository = respository; - this.luceneServiceFactory = serviceFactory; - } - } -} \ No newline at end of file diff --git a/src/Relax.sln b/src/Relax.sln deleted file mode 100644 index 9939601..0000000 --- a/src/Relax.sln +++ /dev/null @@ -1,126 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 11.00 -# Visual Studio 2010 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Relax", "Relax\Relax.csproj", "{3A8D40A3-96F9-4878-902E-7CBC3A82AEDD}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Relax.Tests", "..\tests\Relax.Tests.csproj", "{6F1DB555-D2FF-4E2C-8F20-4A012D6F4581}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RelaxDemo", "..\demo\RelaxDemo\RelaxDemo.csproj", "{B1BB0BE4-77B7-45D4-A973-C6BAEE76A709}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Relax.Lucene", "Relax.Lucene\Relax.Lucene.csproj", "{EAC2B6B2-8F3C-49A8-88B0-DA6CC04C4935}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Relax.Lucene.Tests", "..\tests\Relax.Lucene.Tests\Relax.Lucene.Tests.csproj", "{FF6CE562-6D4A-466B-8D17-8AA2B2330CB7}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Relax.Overflow", "..\demo\Relax.Overflow\Relax.Overflow.csproj", "{03875D45-98AB-4C98-B569-A8A9EE16252D}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CouchDBIndexService", "CouchDBIndexService\CouchDBIndexService.csproj", "{681B03FD-66ED-48D8-8C14-EC49452CDBDC}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Relax.Lucene.SearchProvider", "Relax.Lucene.SearchProvider\Relax.Lucene.SearchProvider.csproj", "{5F1B1763-0BC1-4363-A287-9FE4123BBFC2}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Demo", "Demo", "{29F7781E-9069-46D6-A55D-096A9BF411BD}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Tests", "Tests", "{6FF6BDDE-AA0B-4F71-AE50-2F64970BDFD5}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Any CPU = Debug|Any CPU - Debug|Mixed Platforms = Debug|Mixed Platforms - Debug|x86 = Debug|x86 - Release|Any CPU = Release|Any CPU - Release|Mixed Platforms = Release|Mixed Platforms - Release|x86 = Release|x86 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {3A8D40A3-96F9-4878-902E-7CBC3A82AEDD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {3A8D40A3-96F9-4878-902E-7CBC3A82AEDD}.Debug|Any CPU.Build.0 = Debug|Any CPU - {3A8D40A3-96F9-4878-902E-7CBC3A82AEDD}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {3A8D40A3-96F9-4878-902E-7CBC3A82AEDD}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {3A8D40A3-96F9-4878-902E-7CBC3A82AEDD}.Debug|x86.ActiveCfg = Debug|Any CPU - {3A8D40A3-96F9-4878-902E-7CBC3A82AEDD}.Release|Any CPU.ActiveCfg = Release|Any CPU - {3A8D40A3-96F9-4878-902E-7CBC3A82AEDD}.Release|Any CPU.Build.0 = Release|Any CPU - {3A8D40A3-96F9-4878-902E-7CBC3A82AEDD}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {3A8D40A3-96F9-4878-902E-7CBC3A82AEDD}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {3A8D40A3-96F9-4878-902E-7CBC3A82AEDD}.Release|x86.ActiveCfg = Release|Any CPU - {6F1DB555-D2FF-4E2C-8F20-4A012D6F4581}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {6F1DB555-D2FF-4E2C-8F20-4A012D6F4581}.Debug|Any CPU.Build.0 = Debug|Any CPU - {6F1DB555-D2FF-4E2C-8F20-4A012D6F4581}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {6F1DB555-D2FF-4E2C-8F20-4A012D6F4581}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {6F1DB555-D2FF-4E2C-8F20-4A012D6F4581}.Debug|x86.ActiveCfg = Debug|Any CPU - {6F1DB555-D2FF-4E2C-8F20-4A012D6F4581}.Release|Any CPU.ActiveCfg = Release|Any CPU - {6F1DB555-D2FF-4E2C-8F20-4A012D6F4581}.Release|Any CPU.Build.0 = Release|Any CPU - {6F1DB555-D2FF-4E2C-8F20-4A012D6F4581}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {6F1DB555-D2FF-4E2C-8F20-4A012D6F4581}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {6F1DB555-D2FF-4E2C-8F20-4A012D6F4581}.Release|x86.ActiveCfg = Release|Any CPU - {B1BB0BE4-77B7-45D4-A973-C6BAEE76A709}.Debug|Any CPU.ActiveCfg = Debug|x86 - {B1BB0BE4-77B7-45D4-A973-C6BAEE76A709}.Debug|Any CPU.Build.0 = Debug|x86 - {B1BB0BE4-77B7-45D4-A973-C6BAEE76A709}.Debug|Mixed Platforms.ActiveCfg = Debug|x86 - {B1BB0BE4-77B7-45D4-A973-C6BAEE76A709}.Debug|Mixed Platforms.Build.0 = Debug|x86 - {B1BB0BE4-77B7-45D4-A973-C6BAEE76A709}.Debug|x86.ActiveCfg = Debug|x86 - {B1BB0BE4-77B7-45D4-A973-C6BAEE76A709}.Debug|x86.Build.0 = Debug|x86 - {B1BB0BE4-77B7-45D4-A973-C6BAEE76A709}.Release|Any CPU.ActiveCfg = Release|x86 - {B1BB0BE4-77B7-45D4-A973-C6BAEE76A709}.Release|Mixed Platforms.ActiveCfg = Release|x86 - {B1BB0BE4-77B7-45D4-A973-C6BAEE76A709}.Release|Mixed Platforms.Build.0 = Release|x86 - {B1BB0BE4-77B7-45D4-A973-C6BAEE76A709}.Release|x86.ActiveCfg = Release|x86 - {B1BB0BE4-77B7-45D4-A973-C6BAEE76A709}.Release|x86.Build.0 = Release|x86 - {EAC2B6B2-8F3C-49A8-88B0-DA6CC04C4935}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {EAC2B6B2-8F3C-49A8-88B0-DA6CC04C4935}.Debug|Any CPU.Build.0 = Debug|Any CPU - {EAC2B6B2-8F3C-49A8-88B0-DA6CC04C4935}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {EAC2B6B2-8F3C-49A8-88B0-DA6CC04C4935}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {EAC2B6B2-8F3C-49A8-88B0-DA6CC04C4935}.Debug|x86.ActiveCfg = Debug|Any CPU - {EAC2B6B2-8F3C-49A8-88B0-DA6CC04C4935}.Release|Any CPU.ActiveCfg = Release|Any CPU - {EAC2B6B2-8F3C-49A8-88B0-DA6CC04C4935}.Release|Any CPU.Build.0 = Release|Any CPU - {EAC2B6B2-8F3C-49A8-88B0-DA6CC04C4935}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {EAC2B6B2-8F3C-49A8-88B0-DA6CC04C4935}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {EAC2B6B2-8F3C-49A8-88B0-DA6CC04C4935}.Release|x86.ActiveCfg = Release|Any CPU - {FF6CE562-6D4A-466B-8D17-8AA2B2330CB7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {FF6CE562-6D4A-466B-8D17-8AA2B2330CB7}.Debug|Any CPU.Build.0 = Debug|Any CPU - {FF6CE562-6D4A-466B-8D17-8AA2B2330CB7}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {FF6CE562-6D4A-466B-8D17-8AA2B2330CB7}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {FF6CE562-6D4A-466B-8D17-8AA2B2330CB7}.Debug|x86.ActiveCfg = Debug|Any CPU - {FF6CE562-6D4A-466B-8D17-8AA2B2330CB7}.Release|Any CPU.ActiveCfg = Release|Any CPU - {FF6CE562-6D4A-466B-8D17-8AA2B2330CB7}.Release|Any CPU.Build.0 = Release|Any CPU - {FF6CE562-6D4A-466B-8D17-8AA2B2330CB7}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {FF6CE562-6D4A-466B-8D17-8AA2B2330CB7}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {FF6CE562-6D4A-466B-8D17-8AA2B2330CB7}.Release|x86.ActiveCfg = Release|Any CPU - {03875D45-98AB-4C98-B569-A8A9EE16252D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {03875D45-98AB-4C98-B569-A8A9EE16252D}.Debug|Any CPU.Build.0 = Debug|Any CPU - {03875D45-98AB-4C98-B569-A8A9EE16252D}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {03875D45-98AB-4C98-B569-A8A9EE16252D}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {03875D45-98AB-4C98-B569-A8A9EE16252D}.Debug|x86.ActiveCfg = Debug|Any CPU - {03875D45-98AB-4C98-B569-A8A9EE16252D}.Release|Any CPU.ActiveCfg = Release|Any CPU - {03875D45-98AB-4C98-B569-A8A9EE16252D}.Release|Any CPU.Build.0 = Release|Any CPU - {03875D45-98AB-4C98-B569-A8A9EE16252D}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {03875D45-98AB-4C98-B569-A8A9EE16252D}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {03875D45-98AB-4C98-B569-A8A9EE16252D}.Release|x86.ActiveCfg = Release|Any CPU - {681B03FD-66ED-48D8-8C14-EC49452CDBDC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {681B03FD-66ED-48D8-8C14-EC49452CDBDC}.Debug|Any CPU.Build.0 = Debug|Any CPU - {681B03FD-66ED-48D8-8C14-EC49452CDBDC}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {681B03FD-66ED-48D8-8C14-EC49452CDBDC}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {681B03FD-66ED-48D8-8C14-EC49452CDBDC}.Debug|x86.ActiveCfg = Debug|Any CPU - {681B03FD-66ED-48D8-8C14-EC49452CDBDC}.Release|Any CPU.ActiveCfg = Release|Any CPU - {681B03FD-66ED-48D8-8C14-EC49452CDBDC}.Release|Any CPU.Build.0 = Release|Any CPU - {681B03FD-66ED-48D8-8C14-EC49452CDBDC}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {681B03FD-66ED-48D8-8C14-EC49452CDBDC}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {681B03FD-66ED-48D8-8C14-EC49452CDBDC}.Release|x86.ActiveCfg = Release|Any CPU - {5F1B1763-0BC1-4363-A287-9FE4123BBFC2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {5F1B1763-0BC1-4363-A287-9FE4123BBFC2}.Debug|Any CPU.Build.0 = Debug|Any CPU - {5F1B1763-0BC1-4363-A287-9FE4123BBFC2}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {5F1B1763-0BC1-4363-A287-9FE4123BBFC2}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {5F1B1763-0BC1-4363-A287-9FE4123BBFC2}.Debug|x86.ActiveCfg = Debug|Any CPU - {5F1B1763-0BC1-4363-A287-9FE4123BBFC2}.Release|Any CPU.ActiveCfg = Release|Any CPU - {5F1B1763-0BC1-4363-A287-9FE4123BBFC2}.Release|Any CPU.Build.0 = Release|Any CPU - {5F1B1763-0BC1-4363-A287-9FE4123BBFC2}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {5F1B1763-0BC1-4363-A287-9FE4123BBFC2}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {5F1B1763-0BC1-4363-A287-9FE4123BBFC2}.Release|x86.ActiveCfg = Release|Any CPU - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection - GlobalSection(NestedProjects) = preSolution - {681B03FD-66ED-48D8-8C14-EC49452CDBDC} = {29F7781E-9069-46D6-A55D-096A9BF411BD} - {03875D45-98AB-4C98-B569-A8A9EE16252D} = {29F7781E-9069-46D6-A55D-096A9BF411BD} - {B1BB0BE4-77B7-45D4-A973-C6BAEE76A709} = {29F7781E-9069-46D6-A55D-096A9BF411BD} - {6F1DB555-D2FF-4E2C-8F20-4A012D6F4581} = {6FF6BDDE-AA0B-4F71-AE50-2F64970BDFD5} - {FF6CE562-6D4A-466B-8D17-8AA2B2330CB7} = {6FF6BDDE-AA0B-4F71-AE50-2F64970BDFD5} - EndGlobalSection -EndGlobal diff --git a/src/Relax/ApplicationServices/CouchMembershipDocument.cs b/src/Relax/ApplicationServices/CouchMembershipDocument.cs deleted file mode 100644 index d9370dc..0000000 --- a/src/Relax/ApplicationServices/CouchMembershipDocument.cs +++ /dev/null @@ -1,18 +0,0 @@ -using System.Web.Security; - -namespace Relax.ApplicationServices -{ - public class CouchMembershipDocument : CouchDocument - { - public MembershipUser User { get; set; } - - public CouchMembershipDocument() - { - } - - public CouchMembershipDocument(MembershipUser user) - { - User = user; - } - } -} \ No newline at end of file diff --git a/src/Relax/ApplicationServices/CouchMembershipProvider.cs b/src/Relax/ApplicationServices/CouchMembershipProvider.cs deleted file mode 100644 index 1ecb47c..0000000 --- a/src/Relax/ApplicationServices/CouchMembershipProvider.cs +++ /dev/null @@ -1,180 +0,0 @@ -using System; -using System.Linq; -using System.Text; -using System.Web.Security; -using Relax.Impl; -using Relax.Impl.Model; - -namespace Relax.ApplicationServices -{ - public class CouchMembershipProvider : MembershipProvider - { - protected ICouchServer couch { get; set;} - - protected DesignDocument usersDesignDoc; - - public override MembershipUser CreateUser(string username, string password, string email, string passwordQuestion, string passwordAnswer, bool isApproved, object providerUserKey, out MembershipCreateStatus status) - { - MembershipUser user = null; - try - { - var now = DateTime.Now; - user = new MembershipUser( - "CouchMembershipProvider", - username, - providerUserKey, - email, - passwordQuestion, - "", - isApproved, - false, - now, - now, - now, - now, - now); - - var document = new CouchMembershipDocument(user); - couch.Repository.Save(document); - status = MembershipCreateStatus.Success; - } - catch (Exception ex) - { - Console.WriteLine(ex); - status = MembershipCreateStatus.ProviderError; - } - return user; - } - - public override bool ChangePasswordQuestionAndAnswer(string username, string password, string newPasswordQuestion, string newPasswordAnswer) - { - throw new NotImplementedException(); - } - - public override string GetPassword(string username, string answer) - { - throw new NotImplementedException(); - } - - public override bool ChangePassword(string username, string oldPassword, string newPassword) - { - throw new NotImplementedException(); - } - - public override string ResetPassword(string username, string answer) - { - throw new NotImplementedException(); - } - - public override void UpdateUser(MembershipUser user) - { - throw new NotImplementedException(); - } - - public override bool ValidateUser(string username, string password) - { - throw new NotImplementedException(); - } - - public override bool UnlockUser(string userName) - { - throw new NotImplementedException(); - } - - public override MembershipUser GetUser(object providerUserKey, bool userIsOnline) - { - throw new NotImplementedException(); - } - - public override MembershipUser GetUser(string username, bool userIsOnline) - { - throw new NotImplementedException(); - } - - public override string GetUserNameByEmail(string email) - { - throw new NotImplementedException(); - } - - public override bool DeleteUser(string username, bool deleteAllRelatedData) - { - throw new NotImplementedException(); - } - - public override MembershipUserCollection GetAllUsers(int pageIndex, int pageSize, out int totalRecords) - { - throw new NotImplementedException(); - } - - public override int GetNumberOfUsersOnline() - { - throw new NotImplementedException(); - } - - public override MembershipUserCollection FindUsersByName(string usernameToMatch, int pageIndex, int pageSize, out int totalRecords) - { - throw new NotImplementedException(); - } - - public override MembershipUserCollection FindUsersByEmail(string emailToMatch, int pageIndex, int pageSize, out int totalRecords) - { - throw new NotImplementedException(); - } - - public override bool EnablePasswordRetrieval - { - get { throw new NotImplementedException(); } - } - - public override bool EnablePasswordReset - { - get { throw new NotImplementedException(); } - } - - public override bool RequiresQuestionAndAnswer - { - get { throw new NotImplementedException(); } - } - - public override string ApplicationName - { - get { throw new NotImplementedException(); } - set { throw new NotImplementedException(); } - } - - public override int MaxInvalidPasswordAttempts - { - get { throw new NotImplementedException(); } - } - - public override int PasswordAttemptWindow - { - get { throw new NotImplementedException(); } - } - - public override bool RequiresUniqueEmail - { - get { throw new NotImplementedException(); } - } - - public override MembershipPasswordFormat PasswordFormat - { - get { throw new NotImplementedException(); } - } - - public override int MinRequiredPasswordLength - { - get { throw new NotImplementedException(); } - } - - public override int MinRequiredNonAlphanumericCharacters - { - get { throw new NotImplementedException(); } - } - - public override string PasswordStrengthRegularExpression - { - get { throw new NotImplementedException(); } - } - } -} diff --git a/src/Relax/ApplicationServices/UserViews.cs b/src/Relax/ApplicationServices/UserViews.cs deleted file mode 100644 index 31eacb0..0000000 --- a/src/Relax/ApplicationServices/UserViews.cs +++ /dev/null @@ -1,22 +0,0 @@ -using System.Collections.Generic; -using Relax.Impl; -using Relax.Impl.Model; - -namespace Relax.ApplicationServices -{ - public class UserViews : DesignDocument - { - public UserViews() - { - DocumentId = @"design/users"; - - Views = new Dictionary() - { - {"by_name_and_password", new DesignView() - { - Map = @"function(doc) { }" - }}, - }; - } - } -} \ No newline at end of file diff --git a/src/Relax/BaseCouchDbController.cs b/src/Relax/BaseCouchDbController.cs deleted file mode 100644 index 3cadb4e..0000000 --- a/src/Relax/BaseCouchDbController.cs +++ /dev/null @@ -1,130 +0,0 @@ -using System; -using System.Collections.Concurrent; -using System.Net; -using Symbiote.Core.Extensions; - -namespace Symbiote.Relax.Impl -{ - public abstract class BaseCouchDbController - { - protected ICouchConfiguration _configuration; - protected ICouchCommandFactory _commandFactory; - protected ConcurrentDictionary _databaseExists = new ConcurrentDictionary(); - - protected virtual CouchUri BaseURI() - where TModel : class, IHandleJsonDocumentId, IHandleJsonDocumentRevision - { - var database = _configuration.GetDatabaseNameForType(); - var baseURI = _configuration.Preauthorize ? - CouchUri.Build( - _configuration.User, - _configuration.Password, - _configuration.Protocol, - _configuration.Server, - _configuration.Port) - : CouchUri.Build( - _configuration.Protocol, - _configuration.Server, - _configuration.Port, - database); - EnsureDatabaseExists(database, baseURI); - return baseURI; - } - - protected virtual CouchUri BaseURI() - { - var baseURI = _configuration.Preauthorize ? - CouchUri.Build( - _configuration.User, - _configuration.Password, - _configuration.Protocol, - _configuration.Server, - _configuration.Port) - : CouchUri.Build( - _configuration.Protocol, - _configuration.Server, - _configuration.Port); - return baseURI; - } - - protected virtual void EnsureDatabaseExists(string database, CouchUri baseURI) - where TModel : class, IHandleJsonDocumentId, IHandleJsonDocumentRevision - { - var dbCreated = false; - var shouldCheckCouch = false; - try - { - var command = _commandFactory.GetCommand(); - shouldCheckCouch = !_databaseExists.TryGetValue(database, out dbCreated); - if (shouldCheckCouch && !dbCreated) - { - command.Put(baseURI); - _databaseExists[database] = true; - } - } - catch (WebException webEx) - { - if (webEx.Message.Contains("(412) Precondition Failed")) - { - _databaseExists[database] = true; - } - else - { - "An exception occurred while trying to check for the existence of database {0} at uri {1}. \r\n\t {2}" - .ToError(database, baseURI.ToString(), webEx); - throw; - } - - } - catch (Exception ex) - { - "An exception occurred while trying to check for the existence of database {0} at uri {1}. \r\n\t {2}" - .ToError(database, baseURI.ToString(), ex); - throw; - } - } - - public virtual void CreateDatabase() - where TModel : class, IHandleJsonDocumentId, IHandleJsonDocumentRevision - { - string database = ""; - var uri = BaseURI(); - try - { - database = _configuration.GetDatabaseNameForType(); - var command = _commandFactory.GetCommand(); - command.Put(uri); - _databaseExists[database] = true; - } - catch (Exception ex) - { - "An exception occurred trying to create the database {0} at uri {1}. \r\n\t {2}" - .ToError(database, uri.ToString(), ex); - throw; - } - } - - public virtual bool DatabaseExists() - where TModel : class, IHandleJsonDocumentId, IHandleJsonDocumentRevision - { - var uri = BaseURI(); - var database = ""; - var exists = false; - try - { - database = _configuration.GetDatabaseNameForType(); - var command = _commandFactory.GetCommand(); - var response = command.Get(uri); - exists = !string.IsNullOrEmpty(response) && !response.StartsWith("{\"error\""); - _databaseExists[database] = exists; - return exists; - } - catch (Exception ex) - { - "An exception occurred checking for the existence of database {0} at {1}. \r\n\t {2}" - .ToError(database, uri.ToString(), ex); - throw; - } - } - } -} \ No newline at end of file diff --git a/src/Relax/BaseDocumentRepository.cs b/src/Relax/BaseDocumentRepository.cs deleted file mode 100644 index 0cadf26..0000000 --- a/src/Relax/BaseDocumentRepository.cs +++ /dev/null @@ -1,448 +0,0 @@ -using System; -using System.Collections.Concurrent; -using System.Collections.Generic; -using System.Linq; -using System.Threading; -using Newtonsoft.Json; -using Newtonsoft.Json.Linq; -using StructureMap; -using Symbiote.Core.Extensions; - -namespace Symbiote.Relax.Impl -{ - public abstract class BaseDocumentRepository - : BaseCouchDbController, IDocumentRepository - { - protected ConcurrentDictionary _continuousUpdateCommands = - new ConcurrentDictionary(); - - public void DeleteAttachment(TModel model, string attachmentName) - where TModel : class, IHandleJsonDocumentId, IHandleJsonDocumentRevision, IHaveAttachments - { - var uri = BaseURI() - .Id(model.GetIdAsJson()) - .Attachment(attachmentName) - .Revision(model.GetRevAsJson()); - - try - { - var command = _commandFactory.GetCommand(); - var updatedJson = command.Delete(uri); - var updated = updatedJson.FromJson(); - model.UpdateRevFromJson(updated.Revision.ToJson(_configuration.ExcludeTypeSpecification)); - model.RemoveAttachment(attachmentName); - } - catch (Exception ex) - { - "An exception occurred trying to delete attachment {0} from document of type {1} with id {2} and rev {3} at {4}. \r\n\t {5}" - .ToError( - attachmentName, - typeof(TModel).FullName, - model.GetIdAsJson(), - model.GetRevAsJson(), - uri.ToString(), - ex); - throw; - } - } - - public virtual void DeleteDocument(object id) - where TModel : class, IHandleJsonDocumentId, IHandleJsonDocumentRevision - { - var doc = Get(id); - - if(doc != null) - { - var uri = BaseURI(); - try - { - var command = _commandFactory.GetCommand(); - uri = uri.IdAndRev(doc.GetIdAsJson(), doc.GetRevAsJson()); - command.Delete(uri); - } - catch (Exception ex) - { - "An exception occurred trying to delete a document of type {0} with id {1} at {2}. \r\n\t {3}" - .ToError(typeof(TModel).FullName, id.ToString(), uri.ToString(), ex); - throw; - } - } - } - - public virtual void DeleteDocument(object id, object rev) - where TModel : class, IHandleJsonDocumentId, IHandleJsonDocumentRevision - { - var uri = BaseURI(); - try - { - var command = _commandFactory.GetCommand(); - uri = uri.IdAndRev(id, rev); - command.Delete(uri); - } - catch (Exception ex) - { - "An exception occurred trying to delete a document of type {0} with id {1} at {2}. \r\n\t {3}" - .ToError(typeof(TModel).FullName, id.ToString(), uri.ToString(), ex); - throw; - } - } - - public IList FromView(string designDocument, string viewName, Action query) where TModel : class, IHandleJsonDocumentId, IHandleJsonDocumentRevision - { - var uri = BaseURI() - .Design(designDocument) - .View(viewName); - try - { - var viewQuery = new ViewQuery(uri); - query(viewQuery); - uri.IncludeDocuments(); - var command = _commandFactory.GetCommand(); - var json = command.Get(uri); - json = FilterOutDesignDocuments(json); - var view = (json.FromJson>()); - return view.GetList().ToList(); - } - catch (Exception ex) - { - "An exception occurred trying to retrieve a documents of type {0} from design document {1} and view {2} at {3}. \r\n\t {4}" - .ToError( - typeof(TModel).FullName, - designDocument, - viewName, - uri.ToString(), - ex); - - if (_configuration.Throw404Exceptions) - throw; - - return new List(); - } - } - - public virtual TModel Get(object id, object revision) - where TModel : class, IHandleJsonDocumentId, IHandleJsonDocumentRevision - { - var uri = BaseURI().IdAndRev(id, revision); - - try - { - TModel model = default(TModel); - var command = _commandFactory.GetCommand(); - var json = command.Get(uri); - model = json.FromJson(); - return model; - } - catch (Exception ex) - { - "An exception occurred trying to retrieve a document of type {0} with id {1} and rev {2} at {3}. \r\n\t {4}" - .ToError( - typeof(TModel).FullName, - id.ToString(), - revision.ToString(), - uri.ToString(), - ex); - - if(_configuration.Throw404Exceptions) - throw; - - return default(TModel); - } - } - - public virtual TModel Get(object id) - where TModel : class, IHandleJsonDocumentId, IHandleJsonDocumentRevision - { - var uri = BaseURI().Id(id); - - try - { - TModel model = default(TModel); - var command = _commandFactory.GetCommand(); - var json = command.Get(uri); - model = json.FromJson(); - return model; - } - catch (Exception ex) - { - "An exception occurred trying to retrieve a document of type {0} with id {1} at {2}. \r\n\t {3}" - .ToError( - typeof(TModel).FullName, - id.ToString(), - uri.ToString(), - ex); - - if (_configuration.Throw404Exceptions) - throw; - - return default(TModel); - } - } - - public virtual IList GetAll() - where TModel : class, IHandleJsonDocumentId, IHandleJsonDocumentRevision - { - var uri = BaseURI() - .ListAll() - .IncludeDocuments(); - - try - { - var command = _commandFactory.GetCommand(); - var json = command.Get(uri); - json = FilterOutDesignDocuments(json); - List list = new List(); - var view = (json.FromJson>()); - list = view.GetList().ToList(); - return list; - } - catch (Exception ex) - { - "An exception occurred trying to retrieve all documents of type {0} at {1}. \r\n\t {2}" - .ToError( - typeof(TModel).FullName, - uri.ToString(), - ex); - - if (_configuration.Throw404Exceptions) - throw; - - return new List(); - } - } - - public virtual IList GetAll(int pageSize, int pageNumber) - where TModel : class, IHandleJsonDocumentId, IHandleJsonDocumentRevision - { - var uri = BaseURI() - .ListAll() - .IncludeDocuments() - .Skip((pageNumber - 1)*pageSize) - .Limit(pageSize); - - try - { - var command = _commandFactory.GetCommand(); - var json = command.Get(uri); - json = FilterOutDesignDocuments(json); - List list = new List(); - var view = (json.FromJson>()); - list = view.GetList().ToList(); - return list; - } - catch (Exception ex) - { - "An exception occurred trying to retrieve all documents of type {0} at {1}. \r\n\t {2}" - .ToError( - typeof(TModel).FullName, - uri.ToString(), - ex); - - if (_configuration.Throw404Exceptions) - throw; - - return new List(); - } - } - - public virtual IList GetAllByKeys(object[] ids) - where TModel : class, IHandleJsonDocumentId, IHandleJsonDocumentRevision - { - var uri = BaseURI() - .ListAll() - .IncludeDocuments(); - - try - { - var keys = new KeyList() {keys = ids}; - var jsonKeyList = keys.ToJson(_configuration.ExcludeTypeSpecification); - var command = _commandFactory.GetCommand(); - var json = command.Post(uri, jsonKeyList); - List list = new List(); - var view = (json.FromJson>()); - list = view.GetList().ToList(); - return list; - } - catch (Exception ex) - { - "An exception occurred trying to retrieve a list of documents of type {0} by keys at {1}. \r\n\t {2}" - .ToError( - typeof(TModel).FullName, - uri.ToString(), - ex); - - if (_configuration.Throw404Exceptions) - throw; - - return new List(); - } - } - - public Tuple GetAttachment(object id, string attachmentName) - where TModel : class, IHandleJsonDocumentId, IHandleJsonDocumentRevision, IHaveAttachments - { - var uri = BaseURI() - .Id(id) - .Attachment(attachmentName); - - try - { - var command = _commandFactory.GetCommand(); - return command.GetAttachment(uri); - } - catch (Exception ex) - { - "An exception occurred trying to retrieve an attachment {0} from a document of type {1} with id {2} at {3}. \r\n\t {4}" - .ToError( - attachmentName, - typeof(TModel).FullName, - id.ToString(), - uri.ToString(), - ex); - - throw; - } - } - - public virtual void Save(TModel model) - where TModel : class, IHandleJsonDocumentId, IHandleJsonDocumentRevision - { - var uri = BaseURI() - .Id(model.GetIdAsJson()); - - try - { - var body = model.ToJson(_configuration.ExcludeTypeSpecification); - var command = _commandFactory.GetCommand(); - var updatedJSON = command.Put(uri, body); - var updated = updatedJSON.FromJson(); - model.UpdateRevFromJson(updated.Revision.ToJson(_configuration.ExcludeTypeSpecification)); - } - catch (Exception ex) - { - "An exception occurred trying to save a document of type {0} at {1}. \r\n\t {2}" - .ToError( - typeof(TModel).FullName, - uri.ToString(), - ex); - throw; - } - } - - public virtual void SaveAll(IEnumerable list) - where TModel : class, IHandleJsonDocumentId, IHandleJsonDocumentRevision - { - var uri = BaseURI().BulkInsert(); - - try - { - var documentList = new BulkPersist(true, false, list); - var command = _commandFactory.GetCommand(); - var body = documentList.ToJson(_configuration.ExcludeTypeSpecification); - var updatedJson = command.Post(uri, body); - var updated = updatedJson.FromJson(); - list - .ToList() - .ForEach(x => - { - var update = updated.FirstOrDefault(y => y.Id.ToJson() == x.GetIdAsJson()); - if (update != null) - x.UpdateRevFromJson(update.Revision); - }); - } - catch (Exception ex) - { - "An exception occurred trying to save a document of type {0} at {1}. \r\n\t {2}" - .ToError( - typeof(TModel).FullName, - uri.ToString(), - ex); - throw; - } - } - - public void SaveAttachment(TModel model, string attachmentName, string contentType, byte[] content) - where TModel : class, IHandleJsonDocumentId, IHandleJsonDocumentRevision, IHaveAttachments - { - var uri = BaseURI() - .Id(model.GetIdAsJson()) - .Attachment(attachmentName) - .Revision(model.GetRevAsJson()); - - try - { - var command = _commandFactory.GetCommand(); - var updatedJson = command.SaveAttachment(uri, contentType, content); - var updated = updatedJson.FromJson(); - model.UpdateRevFromJson(updated.Revision.ToJson(_configuration.ExcludeTypeSpecification)); - model.AddAttachment(attachmentName, contentType, content.Length); - } - catch (Exception ex) - { - "An exception occurred trying to save an attachment {0} to a document of type {1} with id {2} and rev {3} at {4}. \r\n\t {5}" - .ToError( - attachmentName, - typeof(TModel).FullName, - model.GetIdAsJson(), - model.GetRevAsJson(), - uri.ToString(), - ex); - - throw; - } - } - - public virtual void HandleUpdates(int since, Action onUpdate, AsyncCallback updatesInterrupted) - where TModel : class, IHandleJsonDocumentId, IHandleJsonDocumentRevision - { - var command = _commandFactory.GetCommand(); - Action> proxy = command.GetContinuousResponse; - proxy.BeginInvoke(BaseURI(), since, onUpdate, updatesInterrupted, null); - _continuousUpdateCommands[typeof(TModel)] = command; - } - - public virtual void StopChangeStreaming() - where TModel : class, IHandleJsonDocumentId, IHandleJsonDocumentRevision - { - ICouchCommand command; - var key = typeof (TModel); - if(_continuousUpdateCommands.TryGetValue(key, out command)) - { - command.StopContinousResponse(); - _continuousUpdateCommands.TryRemove(key, out command); - } - } - - protected virtual string FilterOutDesignDocuments(string json) - { - var jsonDoc = JObject.Parse(json); - jsonDoc["rows"] - .Children() - .Where(x => x["doc"]["_id"].ToString().StartsWith(@"""_design")) - .ForEach(x => x.Remove()); - return jsonDoc.ToString(); - } - - protected BaseDocumentRepository(ICouchConfiguration configuration, ICouchCommandFactory commandFactory) - { - _configuration = configuration; - _commandFactory = commandFactory; - } - - protected BaseDocumentRepository(string configurationName) - { - _configuration = ObjectFactory.GetNamedInstance(configurationName); - _commandFactory = ObjectFactory.GetInstance(); - } - - public void Dispose() - { - - } - } - - public class KeyList - { - public object[] keys { get; set; } - } -} \ No newline at end of file diff --git a/src/Relax/BulkPersist.cs b/src/Relax/BulkPersist.cs deleted file mode 100644 index 2a3c0e7..0000000 --- a/src/Relax/BulkPersist.cs +++ /dev/null @@ -1,31 +0,0 @@ -using System.Collections.Generic; -using System.Linq; -using Newtonsoft.Json; - -namespace Symbiote.Relax.Impl -{ - public class BulkPersist - where TModel : class - { - [JsonProperty(PropertyName = "all_or_nothing")] - public bool AllOrNothing { get; set; } - - [JsonProperty(PropertyName = "non_atomic")] - public bool NonAtomic { get; set; } - - [JsonProperty(PropertyName = "docs")] - public TModel[] Documents { get; set; } - - public BulkPersist(IEnumerable docs) - { - Documents = docs.ToArray(); - } - - public BulkPersist(bool allOrNothing, bool nonAtomic, IEnumerable docs) - { - AllOrNothing = allOrNothing; - NonAtomic = nonAtomic; - Documents = docs.ToArray(); - } - } -} \ No newline at end of file diff --git a/src/Relax/BulkResponse.cs b/src/Relax/BulkResponse.cs deleted file mode 100644 index da125fc..0000000 --- a/src/Relax/BulkResponse.cs +++ /dev/null @@ -1,13 +0,0 @@ -using Newtonsoft.Json; - -namespace Symbiote.Relax.Impl -{ - public class BulkResponse - { - [JsonProperty(PropertyName = "ok")] - public bool Success { get; set; } - - [JsonProperty(PropertyName = "new_revs")] - public NewRevision[] Revisions { get; set; } - } -} \ No newline at end of file diff --git a/src/Relax/CacheKeyBuilder.cs b/src/Relax/CacheKeyBuilder.cs deleted file mode 100644 index ce1605d..0000000 --- a/src/Relax/CacheKeyBuilder.cs +++ /dev/null @@ -1,31 +0,0 @@ -using Symbiote.Core.Extensions; - -namespace Symbiote.Relax.Impl -{ - public class CacheKeyBuilder : ICacheKeyBuilder - { - public string GetKey(object id) - { - return "{0}_{1}" - .AsFormat(typeof(TModel).FullName, id); - } - - public string GetKey(object id, object rev) - { - return "{0}_{1}_{2}" - .AsFormat(typeof(TModel).FullName, id, rev); - } - - public string GetListKey() - { - return "{0}_list" - .AsFormat(typeof(TModel).FullName); - } - - public string GetListKey(int page, int size) - { - return "{0}_{1}_{2}" - .AsFormat(typeof(TModel).FullName, page, size); - } - } -} \ No newline at end of file diff --git a/src/Relax/CachedDocumentRepository.cs b/src/Relax/CachedDocumentRepository.cs deleted file mode 100644 index 230f3a5..0000000 --- a/src/Relax/CachedDocumentRepository.cs +++ /dev/null @@ -1,71 +0,0 @@ -using System.Collections.Generic; -using StructureMap; - -namespace Symbiote.Relax.Impl -{ - public class CachedDocumentRepository - : BaseDocumentRepository - { - protected ICouchCacheProvider _cache; - protected IDocumentRepository _repository; - protected ICacheKeyBuilder _builder; - - public CachedDocumentRepository(ICouchConfiguration configuration, ICouchCommandFactory commandFactory, ICouchCacheProvider cacheProvider) - : base(configuration, commandFactory) - { - _cache = cacheProvider; - } - - public CachedDocumentRepository(string configurationName, ICouchCacheProvider cacheProvider) - : base(configurationName) - { - _cache = cacheProvider; - } - - //public override void DeleteDatabase() - //{ - // _cache.DeleteAll(); - // base.DeleteDatabase(); - //} - - public override void DeleteDocument(object id, object rev) - { - _cache.Delete(id, rev, base.DeleteDocument); - } - - public override void DeleteDocument(object id) - { - _cache.Delete(id, base.DeleteDocument); - } - - public override TModel Get(object id, object revision) - { - return _cache.Get(id, revision, base.Get); - } - - public override TModel Get(object id) - { - return _cache.Get(id, base.Get); - } - - public override IList GetAll() - { - return _cache.GetAll(base.GetAll); - } - - public override IList GetAll(int pageSize, int pageNumber) - { - return _cache.GetAll(pageNumber, pageSize, base.GetAll); - } - - public override void Save(TModel model) - { - _cache.Save(model, base.Save); - } - - public override void SaveAll(IEnumerable list) - { - _cache.Save(list, base.SaveAll); - } - } -} \ No newline at end of file diff --git a/src/Relax/ChangeRecord.cs b/src/Relax/ChangeRecord.cs index c18814a..a1bf10b 100644 --- a/src/Relax/ChangeRecord.cs +++ b/src/Relax/ChangeRecord.cs @@ -1,15 +1,31 @@ -using Newtonsoft.Json; +// /* +// Copyright 2008-2011 Alex Robson +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// */ +using Newtonsoft.Json; namespace Relax { public class ChangeRecord { - [JsonProperty(PropertyName = "id")] + [JsonProperty( PropertyName = "id" )] public string Id { get; set; } - [JsonProperty(PropertyName = "seq")] + + [JsonProperty( PropertyName = "seq" )] public string Sequence { get; set; } + [JsonIgnore] public string Document { get; set; } } - -} +} \ No newline at end of file diff --git a/src/Relax/Config/CouchConfiguration.cs b/src/Relax/Config/CouchConfiguration.cs index c9d5327..418ee85 100644 --- a/src/Relax/Config/CouchConfiguration.cs +++ b/src/Relax/Config/CouchConfiguration.cs @@ -1,49 +1,69 @@ +// /* +// Copyright 2008-2011 Alex Robson +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// */ using System; using System.Collections.Generic; -using Relax.Impl.Serialization; namespace Relax.Config { public class CouchConfiguration : ICouchConfiguration { protected Dictionary _databaseForType = new Dictionary(); + public IResolveDatabaseNames DatabaseResolver { get; set; } public string GetDatabaseNameForType() { string dbname = null; - if(DatabaseResolver != null) + if ( DatabaseResolver != null ) { dbname = DatabaseResolver.GetDatabaseNameFor(); } - if(dbname == null) + if ( dbname == null ) { - var type = typeof(T); - _databaseForType.TryGetValue(type, out dbname); + var type = typeof( T ); + _databaseForType.TryGetValue( type, out dbname ); } - return (string.IsNullOrEmpty(dbname) ? DefaultDatabaseName : dbname).ToLower(); + return (string.IsNullOrEmpty( dbname ) ? DefaultDatabaseName : dbname).ToLower(); } - - public void SetDatabaseNameForType(string databaseName) + + public void SetDatabaseNameForType( string databaseName ) { - _databaseForType[typeof (T)] = databaseName.ToLower(); + _databaseForType[typeof( T )] = databaseName.ToLower(); } - public IResolveDatabaseNames DatabaseResolver { get; set; } + + protected bool cache { get; set; } + + public bool Cache { + get { return cache; } + set { + cache = value; + } } + public DateTime CacheExpiration { get; set; } + public TimeSpan CacheLimit { get; set; } + public string CouchQueryServiceUrl { get; set; } public string DefaultDatabaseName { get; set; } - public bool BreakDownDocumentGraphs { get; set; } - public string Protocol { get; set; } - public string Server { get; set; } + public bool IncludeTypeSpecification { get; set; } + public int MetadataCacheLimit { get; set; } + public string Password { get; set; } public int Port { get; set; } public bool Preauthorize { get; set; } - public string User { get; set; } - public string Password { get; set; } - public int TimeOut { get; set; } - public DocumentConventions Conventions { get; set; } - public bool Cache { get; set; } - public DateTime CacheExpiration { get; set; } - public TimeSpan CacheLimit { get; set; } + public string Protocol { get; set; } + public string Server { get; set; } public bool Throw404Exceptions { get; set; } - public bool IncludeTypeSpecification { get; set; } - public string RelaxQueryServiceUrl { get; set; } + public int TimeOut { get; set; } + public string User { get; set; } public CouchConfiguration() { @@ -52,12 +72,12 @@ public CouchConfiguration() Port = 5984; Preauthorize = false; TimeOut = 6000; + MetadataCacheLimit = 5000; IncludeTypeSpecification = true; - RelaxQueryServiceUrl = @"http://localhost:8420/"; - Conventions = new DocumentConventions(); - DefaultDatabaseName = + CouchQueryServiceUrl = @"http://localhost:8420/"; + DefaultDatabaseName = (System.Reflection.Assembly.GetEntryAssembly() ?? - System.Reflection.Assembly.GetExecutingAssembly()).GetName().Name.Replace(".", ""); + System.Reflection.Assembly.GetExecutingAssembly()).GetName().Name.Replace( ".", "" ); } } } \ No newline at end of file diff --git a/src/Relax/Config/CouchConfigurationException.cs b/src/Relax/Config/CouchConfigurationException.cs new file mode 100644 index 0000000..aab3ee7 --- /dev/null +++ b/src/Relax/Config/CouchConfigurationException.cs @@ -0,0 +1,26 @@ +// /* +// Copyright 2008-2011 Alex Robson +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// */ +using System; + +namespace Relax.Config +{ + public class CouchConfigurationException : Exception + { + public CouchConfigurationException( string message ) : base( message ) + { + } + } +} \ No newline at end of file diff --git a/src/Relax/Config/CouchConfigurator.cs b/src/Relax/Config/CouchConfigurator.cs index 228bbbe..c2c9c3c 100644 --- a/src/Relax/Config/CouchConfigurator.cs +++ b/src/Relax/Config/CouchConfigurator.cs @@ -1,123 +1,126 @@ -using System; -using Microsoft.Practices.ServiceLocation; +// /* +// Copyright 2008-2011 Alex Robson +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// */ +using System; +using Symbiote.Core; namespace Relax.Config { public class CouchConfigurator { - private CouchConfiguration _config = new CouchConfiguration(); + public CouchConfiguration Configuration { get; internal set; } - public CouchConfigurator BreakDocumentGraphsIntoSeperateDocuments() - { - _config.BreakDownDocumentGraphs = true; - return this; - } - public CouchConfigurator Cache() { - _config.Cache = true; - _config.CacheExpiration = DateTime.MaxValue; + Configuration.Cache = true; + Configuration.CacheExpiration = DateTime.MaxValue; return this; } - public CouchConfigurator Cache(DateTime expiration) + public CouchConfigurator Cache( DateTime expiration ) { - _config.Cache = true; - _config.CacheExpiration = expiration; + Configuration.Cache = true; + Configuration.CacheExpiration = expiration; return this; } - public CouchConfigurator Cache(TimeSpan timeLimit) + public CouchConfigurator Cache( TimeSpan timeLimit ) { - _config.Cache = true; - _config.CacheLimit = timeLimit; + Configuration.Cache = true; + Configuration.CacheLimit = timeLimit; return this; } public CouchConfigurator ExcludeTypeSpecificationFromJson() { - _config.IncludeTypeSpecification = false; + Configuration.IncludeTypeSpecification = false; return this; } public CouchConfigurator FailedGetShouldThrowException() { - _config.Throw404Exceptions = true; + Configuration.Throw404Exceptions = true; return this; } public CouchConfigurator Https() { - _config.Protocol = "https"; + Configuration.Protocol = "https"; return this; } - public CouchConfigurator Port(int port) + public CouchConfigurator LimitMetadataCachingTo( int itemCount ) { - _config.Port = port; + Configuration.MetadataCacheLimit = itemCount; return this; } - public CouchConfigurator Preauthorize(string username, string password) + public CouchConfigurator Port( int port ) { - _config.Preauthorize = true; - _config.User = username; - _config.Password = password; + Configuration.Port = port; return this; } - public CouchConfigurator RelaxQueryServiceUrl(string url) + public CouchConfigurator Preauthorize( string username, string password ) { - _config.RelaxQueryServiceUrl = url; + Configuration.Preauthorize = true; + Configuration.User = username; + Configuration.Password = password; return this; } - public CouchConfigurator Server(string server) + public CouchConfigurator CouchQueryServiceUrl( string url ) { - _config.Server = server; + Configuration.CouchQueryServiceUrl = url; return this; } - public CouchConfigurator TimeOut(int timeOut) + public CouchConfigurator Server( string server ) { - _config.TimeOut = timeOut; + Configuration.Server = server; return this; } - public CouchConfigurator UseDefaults() + public CouchConfigurator TimeOut( int timeOut ) { + Configuration.TimeOut = timeOut; return this; } - public CouchConfigurator DefaultDatabase(string databaseName) + public CouchConfigurator DefaultDatabase( string databaseName ) { - _config.DefaultDatabaseName = databaseName; + Configuration.DefaultDatabaseName = databaseName; return this; } - public CouchConfigurator AssignDatabaseToType(string databaseName) + public CouchConfigurator AssignDatabaseToType( string databaseName ) { - _config.SetDatabaseNameForType(databaseName); + Configuration.SetDatabaseNameForType( databaseName ); return this; } public CouchConfigurator UseDatabaseTypeResolver() where T : IResolveDatabaseNames { - _config.DatabaseResolver = ServiceLocator.Current.GetInstance(); - return this; - } - - public CouchConfigurator WithConventions(string idProperty, string revisionProperty) - { - _config.Conventions.IdPropertyName = idProperty; - _config.Conventions.RevisionPropertyName = revisionProperty; + Configuration.DatabaseResolver = Assimilate.GetInstanceOf(); return this; } - public ICouchConfiguration GetConfiguration() + public CouchConfigurator() { - return _config; + Configuration = new CouchConfiguration(); } } -} +} \ No newline at end of file diff --git a/src/Relax/Config/CouchDependencies.cs b/src/Relax/Config/CouchDependencies.cs new file mode 100644 index 0000000..d30eb15 --- /dev/null +++ b/src/Relax/Config/CouchDependencies.cs @@ -0,0 +1,49 @@ +using System; +using Relax.Impl; +using Relax.Impl.Cache; +using Relax.Impl.Http; +using Relax.Impl.Repository; +using Relax.Impl.Serialization; +using Symbiote.Core; +using Symbiote.Core.Cache; +using Symbiote.Core.DI; + +namespace Relax.Config +{ + public class CouchDependencies : IDefineStandardDependencies + { + public Action DefineDependencies() + { + var configurator = new CouchConfigurator(); + var configuration = configurator.Configuration; + return container => + { + container.For().Use( configuration ); + container.For().Use(); + container.For().Use(); + container.For().Use(); + container.For().Use(); + container.For().Use().AsSingleton(); + container.For().Use().AsSingleton(); + container.For().Use(); + container.For().Use(). + AsSingleton(); + + if ( configuration.Cache ) + { + if (!Assimilate.Assimilation.DependencyAdapter.HasPluginFor() ) + { + throw new CouchConfigurationException( + "You must have an implementation of ICacheProvider configured to use caching in Couch. Consider referencing Symbiote.Eidetic and adding the .Eidetic() call before this in your assimilation to utilize memcached or memcachedb as the cache provider for Couch." + ); + } + container.For().Use(); + } + else + { + container.For().Use(); + } + }; + } + } +} \ No newline at end of file diff --git a/src/Relax/Config/ICouchConfiguration.cs b/src/Relax/Config/ICouchConfiguration.cs index a43c7b6..6731ea8 100644 --- a/src/Relax/Config/ICouchConfiguration.cs +++ b/src/Relax/Config/ICouchConfiguration.cs @@ -1,27 +1,40 @@ +// /* +// Copyright 2008-2011 Alex Robson +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// */ using System; -using Relax.Impl.Serialization; namespace Relax.Config { public interface ICouchConfiguration { + bool Cache { get; set; } + DateTime CacheExpiration { get; set; } + TimeSpan CacheLimit { get; set; } + string CouchQueryServiceUrl { get; set; } + string DefaultDatabaseName { get; set; } + bool IncludeTypeSpecification { get; set; } + int MetadataCacheLimit { get; set; } + string Password { get; set; } int Port { get; set; } bool Preauthorize { get; set; } - bool BreakDownDocumentGraphs { get; set; } - string DefaultDatabaseName { get; set; } - int TimeOut { get; set; } string Protocol { get; set; } string Server { get; set; } + bool Throw404Exceptions { get; set; } + int TimeOut { get; set; } string User { get; set; } - string Password { get; set; } - bool Cache { get; set; } - DateTime CacheExpiration { get; set; } - TimeSpan CacheLimit { get; set; } - DocumentConventions Conventions { get; set; } string GetDatabaseNameForType(); - bool Throw404Exceptions { get; set; } - bool IncludeTypeSpecification { get; set; } - string RelaxQueryServiceUrl { get; set; } - void SetDatabaseNameForType(string databaseName); + void SetDatabaseNameForType( string databaseName ); } } \ No newline at end of file diff --git a/src/Relax/CouchAssimilation.cs b/src/Relax/CouchAssimilation.cs new file mode 100644 index 0000000..4f0df6d --- /dev/null +++ b/src/Relax/CouchAssimilation.cs @@ -0,0 +1,33 @@ +// /* +// Copyright 2008-2011 Alex Robson +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// */ +using System; +using Relax.Config; +using Symbiote.Core; + +namespace Relax +{ + public static class CouchAssimilation + { + public static IAssimilate Couch( this IAssimilate assimilate, Action configure ) + { + var config = new CouchConfigurator(); + configure( config ); + var configuration = config.Configuration; + CouchInit.Configure( configuration ); + return assimilate; + } + } +} \ No newline at end of file diff --git a/src/Relax/CouchCommand.cs b/src/Relax/CouchCommand.cs deleted file mode 100644 index 450657d..0000000 --- a/src/Relax/CouchCommand.cs +++ /dev/null @@ -1,162 +0,0 @@ -using System; -using System.IO; -using System.Net; -using System.Text; -using Symbiote.Core.Extensions; - -namespace Symbiote.Relax.Impl -{ - public class CouchCommand : ICouchCommand - { - protected ICouchConfiguration _configuration; - protected bool _pollForChanges = false; - - public virtual string GetResponse(CouchUri uri, string method, string body) - { - var request = WebRequest.Create(uri.ToString()); - request.Method = method; - request.Timeout = _configuration.TimeOut; - //request.PreAuthenticate = _configuration.Preauthorize; - - if (!string.IsNullOrEmpty(body)) - { - var bytes = UTF8Encoding.UTF8.GetBytes(body); - request.ContentType = "application/json; charset=utf-8"; - request.ContentLength = bytes.Length; - - var writer = request.GetRequestStream(); - writer.Write(bytes, 0, bytes.Length); - writer.Close(); - } - - var result = ""; - var response = request.GetResponse(); - - using (var reader = new StreamReader(response.GetResponseStream())) - { - result = reader.ReadToEnd(); - response.Close(); - } - - return result; - } - - public virtual void GetContinuousResponse(CouchUri uri, int since, Action callback) - { - var baseUri = uri.Clone() as CouchUri; - uri = uri.Changes(Feed.Continuous, since); - var request = WebRequest.Create(uri.ToString()); - request.Method = "GET"; - request.Timeout = int.MaxValue; - request.PreAuthenticate = _configuration.Preauthorize; - var result = ""; - _pollForChanges = true; - - try - { - var response = request.GetResponse(); - - using (var reader = new StreamReader(response.GetResponseStream())) - { - while (_pollForChanges) - { - result = reader.ReadLine(); - if (!string.IsNullOrEmpty(result)) - { - var changeUri = baseUri.Clone() as CouchUri; - var change = result.FromJson(); - change.Document = GetResponse(changeUri.Id(change.Id), "GET", ""); - callback.BeginInvoke(change, null, null); - } - } - } - } - catch (Exception ex) - { - "An exception occurred while receiving the change stream from {0}. \r\n\t {1}" - .ToError(uri.ToString(), ex); - throw; - } - finally - { - callback = null; - } - } - - public virtual Tuple GetAttachment(CouchUri uri) - { - var request = WebRequest.Create(uri.ToString()); - request.Method = "GET"; - request.Timeout = _configuration.TimeOut; - - var response = request.GetResponse(); - int bytesRead = 0; - var memoryStream = new MemoryStream(); - - using(var stream = response.GetResponseStream()) - { - stream.CopyTo(memoryStream); - } - memoryStream.Position = 0; - var result = - Tuple.Create( - response.ContentType, - memoryStream.ToArray() - ); - - response.Close(); - - return result; - } - - public virtual string SaveAttachment(CouchUri uri, string type, byte[] content) - { - using(var client = new WebClient()) - { - client.Headers.Add("Content-Type", type); - var bytes = client.UploadData(uri.ToString(), "PUT", content); - return UTF8Encoding.UTF8.GetString(bytes); - } - } - - public virtual void StopContinousResponse() - { - _pollForChanges = false; - } - - public virtual string Post(CouchUri uri) - { - return GetResponse(uri, "POST", ""); - } - - public virtual string Post(CouchUri uri, string body) - { - return GetResponse(uri, "POST", body); - } - - public virtual string Put(CouchUri uri) - { - return GetResponse(uri, "PUT", ""); - } - - public virtual string Put(CouchUri uri, string body) - { - return GetResponse(uri, "PUT", body); - } - - public virtual string Get(CouchUri uri) - { - return GetResponse(uri, "GET", ""); - } - - public virtual string Delete(CouchUri uri) - { - return GetResponse(uri, "DELETE", ""); - } - - public CouchCommand(ICouchConfiguration configuration) - { - _configuration = configuration; - } - } -} \ No newline at end of file diff --git a/src/Relax/CouchCommandFactory.cs b/src/Relax/CouchCommandFactory.cs deleted file mode 100644 index 900e388..0000000 --- a/src/Relax/CouchCommandFactory.cs +++ /dev/null @@ -1,16 +0,0 @@ -using StructureMap; - -namespace Symbiote.Relax.Impl -{ - public class CouchCommandFactory : ICouchCommandFactory - { - public ICouchCommand GetCommand() - { - return ObjectFactory.GetInstance(); - } - - public CouchCommandFactory() - { - } - } -} \ No newline at end of file diff --git a/src/Relax/CouchConfiguration.cs b/src/Relax/CouchConfiguration.cs deleted file mode 100644 index 684d71f..0000000 --- a/src/Relax/CouchConfiguration.cs +++ /dev/null @@ -1,46 +0,0 @@ -using System; -using System.Collections.Generic; - -namespace Symbiote.Relax.Impl -{ - public class CouchConfiguration : ICouchConfiguration - { - protected Dictionary _databaseForType = new Dictionary(); - - public string GetDatabaseNameForType() - { - var type = typeof (T); - var dbname = ""; - _databaseForType.TryGetValue(type, out dbname); - dbname = dbname ?? type.Name.ToLower(); - return dbname; - } - - public void SetDatabaseNameForType(string databaseName) - { - _databaseForType[typeof (T)] = databaseName.ToLower(); - } - - public string Protocol { get; set; } - public string Server { get; set; } - public int Port { get; set; } - public bool Preauthorize { get; set; } - public string User { get; set; } - public string Password { get; set; } - public int TimeOut { get; set; } - public bool Cache { get; set; } - public DateTime CacheExpiration { get; set; } - public TimeSpan CacheLimit { get; set; } - public bool Throw404Exceptions { get; set; } - public bool ExcludeTypeSpecification { get; set; } - - public CouchConfiguration() - { - Protocol = "http"; - Server = "localhost"; - Port = 5984; - Preauthorize = false; - TimeOut = 6000; - } - } -} \ No newline at end of file diff --git a/src/Relax/CouchDbServer.cs b/src/Relax/CouchDbServer.cs deleted file mode 100644 index 1a9ae5c..0000000 --- a/src/Relax/CouchDbServer.cs +++ /dev/null @@ -1,180 +0,0 @@ -using System; -using System.Collections.Generic; -using Symbiote.Core.Extensions; - -namespace Symbiote.Relax.Impl -{ - public class CouchDbServer - : BaseCouchDbController, ICouchServer - { - protected IDocumentRepository _repository; - - public void CleanViews() - where TModel : class, IHandleJsonDocumentId, IHandleJsonDocumentRevision - { - try - { - var uri = BaseURI().CleanupViews(); - var command = _commandFactory.GetCommand(); - command.Post(uri); - } - catch (Exception) - { - - throw; - } - } - - public void CompactDatabase() - where TModel : class, IHandleJsonDocumentId, IHandleJsonDocumentRevision - { - try - { - var uri = BaseURI().Compact(); - var command = _commandFactory.GetCommand(); - command.Post(uri); - } - catch (Exception) - { - - throw; - } - } - - public void CompactView(string testview) - where TModel : class, IHandleJsonDocumentId, IHandleJsonDocumentRevision - { - try - { - var uri = BaseURI().CompactView(testview); - var command = _commandFactory.GetCommand(); - command.Post(uri); - } - catch (Exception) - { - - throw; - } - } - - public void CopyDatabase(CouchUri targetUri) - where TModel : class, IHandleJsonDocumentId, IHandleJsonDocumentRevision - { - try - { - var serverUri = BaseURI().Replicate(); - var sourceUri = BaseURI(); - var request = ReplicationCommand.Once(sourceUri, targetUri); - var command = _commandFactory.GetCommand(); - command.Post(serverUri, request.ToJson(false)); - } - catch (Exception ex) - { - - throw; - } - } - - public void CopyDatabase(CouchUri sourceUri, CouchUri targetUri) - { - try - { - var serverUri = BaseURI().Replicate(); - var request = ReplicationCommand.Once(sourceUri, targetUri); - var command = _commandFactory.GetCommand(); - command.Post(serverUri, request.ToJson(false)); - } - catch (Exception ex) - { - - throw; - } - } - - public IList DatabaseList - { - get - { - var uri = CouchUri.Build( - _configuration.Protocol, - _configuration.Server, - _configuration.Port, - "_all_dbs"); - var command = _commandFactory.GetCommand(); - var json = command.Get(uri); - return new List(json.FromJson()); - } - } - - public virtual void DeleteDatabase() - where TModel : class, IHandleJsonDocumentId, IHandleJsonDocumentRevision - { - var database = ""; - var uri = BaseURI(); - try - { - database = _configuration.GetDatabaseNameForType(); - var command = _commandFactory.GetCommand(); - command.Delete(uri); - _databaseExists[database] = false; - } - catch (Exception ex) - { - "An exception occurred trying to delete the database {0} at {1}. \r\n\t {2}" - .ToError(database, uri.ToString(), ex); - throw; - } - } - - public void Replicate(CouchUri targetUri) where TModel : class, IHandleJsonDocumentId, IHandleJsonDocumentRevision - { - try - { - var serverUri = BaseURI().Replicate(); - var sourceUri = BaseURI(); - var request = ReplicationCommand.Continuous(sourceUri, targetUri); - var command = _commandFactory.GetCommand(); - command.Post(serverUri, request.ToJson(false)); - } - catch (Exception ex) - { - - throw; - } - } - - public void Replicate(CouchUri sourceUri, CouchUri targetUri) - { - try - { - var serverUri = BaseURI().Replicate(); - var request = ReplicationCommand.Continuous(sourceUri, targetUri); - var command = _commandFactory.GetCommand(); - command.Post(serverUri, request.ToJson(false)); - } - catch (Exception ex) - { - - throw; - } - } - - - public CouchDbServer(ICouchConfiguration configuration, ICouchCommandFactory commandFactory, IDocumentRepository repository) - { - _configuration = configuration; - _commandFactory = commandFactory; - _repository = repository; - } - - public IDocumentRepository Repository - { - get { return _repository; } - } - - public void Dispose() - { - _repository.Dispose(); - } - } -} \ No newline at end of file diff --git a/src/Relax/CouchDocument.cs b/src/Relax/CouchDocument.cs index 6ffbdd8..07935be 100644 --- a/src/Relax/CouchDocument.cs +++ b/src/Relax/CouchDocument.cs @@ -1,54 +1,78 @@ +// /* +// Copyright 2008-2011 Alex Robson +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// */ using System; -using Newtonsoft.Json; -using Relax.Impl; using Relax.Impl.Model; -using Symbiote.Core.Extensions; +using Symbiote.Core; +using Symbiote.Core.Serialization; +using Newtonsoft.Json; namespace Relax { [Serializable] - [JsonObject(MemberSerialization.OptOut)] + [JsonObject( MemberSerialization.OptOut )] public abstract class CouchDocument : BaseDocument, ICouchDocument { [JsonIgnore] protected virtual string _docId { get; set; } - [JsonProperty(PropertyName = "_id")] + [JsonProperty( PropertyName = "_id" )] public virtual string DocumentId { - get - { + get + { _docId = _docId ?? Guid.NewGuid().ToString(); return _docId; } - set - { - _docId = value; - } + set { _docId = value; } } - [JsonProperty(PropertyName = "_rev")] + [JsonProperty( PropertyName = "_rev" )] public virtual string DocumentRevision { get; set; } public virtual string GetDocumentIdAsJson() { - return DocumentId.ToString(); + return DocumentId; } public virtual object GetDocumentId() { return DocumentId; } - - public virtual void UpdateKeyFromJson(string jsonKey) + + public virtual void UpdateRevFromJson( string jsonRev ) + { + DocumentRevision = jsonRev; + } + + public virtual void UpdateKeyFromJson( string jsonKey ) { DocumentId = jsonKey.FromJson(); } + } - public virtual void UpdateRevFromJson(string jsonRev) + public class DocumentKeyAccessor : IKeyAccessor + { + public string GetId( CouchDocument actor ) { - DocumentRevision = jsonRev; + return actor.GetDocumentIdAsJson(); } + public void SetId( CouchDocument actor, TKey key ) + { + actor.UpdateKeyFromJson( key.ToString() ); + } } } \ No newline at end of file diff --git a/src/Relax/CouchInit.cs b/src/Relax/CouchInit.cs new file mode 100644 index 0000000..09bc82d --- /dev/null +++ b/src/Relax/CouchInit.cs @@ -0,0 +1,59 @@ +// /* +// Copyright 2008-2011 Alex Robson +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// */ +using System; +using Relax.Config; +using Relax.Impl.Repository; +using Symbiote.Core; +using Symbiote.Core.Cache; + +namespace Relax +{ + public class CouchInit + { + public static void Configure( Action configure ) + { + Assimilate.Initialize(); + var config = new CouchConfigurator(); + configure( config ); + Configure( config.Configuration ); + } + + + public static void Configure( ICouchConfiguration configuration ) + { + Assimilate.Dependencies( c => + { + if ( configuration.Cache ) + { + if ( + !Assimilate.Assimilation.DependencyAdapter.HasPluginFor + () ) + { + throw new CouchConfigurationException( + "You must have an implementation of ICacheProvider configured to use caching in Couch. Consider referencing Symbiote.Eidetic and adding the .Eidetic() call before this in your assimilation to utilize memcached or memcachedb as the cache provider for Couch." + ); + } + + c.For().Use(); + } + else + { + c.For().Use(); + } + } ); + } + } +} \ No newline at end of file diff --git a/src/Relax/CouchURI.cs b/src/Relax/CouchURI.cs deleted file mode 100644 index 719cce6..0000000 --- a/src/Relax/CouchURI.cs +++ /dev/null @@ -1,361 +0,0 @@ -using System; -using System.Text; -using Symbiote.Core.Extensions; - -namespace Symbiote.Relax.Impl -{ - public class CouchUri : ICloneable - { - private StringBuilder _builder = new StringBuilder(); - private bool _hasArguments = false; - - public static CouchUri Build(string prefix, string server, int port, string database) - { - return new CouchUri(prefix, server, port, database); - } - - public static CouchUri Build(string user, string password, string prefix, string server, int port, string database) - { - return new CouchUri(user, password, prefix, server, port, database); - } - - public static CouchUri Build(string prefix, string server, int port) - { - return new CouchUri(prefix, server, port); - } - - public static CouchUri Build(string user, string password, string prefix, string server, int port) - { - return new CouchUri(user, password, prefix, server, port); - } - - public CouchUri Attachment(string attachmentName) - { - _builder.AppendFormat("/{0}", attachmentName); - return this; - } - - public CouchUri BulkInsert() - { - _builder.Append("/_bulk_docs"); - return this; - } - - public CouchUri ByRange(TKey start, TKey end) - { - var startKey = start.ToJson(false); - var endKey = end.ToJson(false); - - _builder.AppendFormat("{0}startkey={1}&endkey={2}", - _hasArguments ? "&" : "?", - startKey, - endKey); - - if (!_hasArguments) - _hasArguments = true; - - return this; - } - - public CouchUri Changes(Feed feed, int since) - { - _builder.Append("/_changes"); - - if (feed != Feed.Simple) - { - _builder.AppendFormat("?feed={0}", - feed == Feed.Continuous - ? "continuous" - : "longpoll"); - } - _builder.AppendFormat("&since={0}", since); - _hasArguments = true; - return this; - } - - public CouchUri CleanupViews() - { - _builder.Append("/_view_cleanup"); - return this; - } - - public CouchUri Compact() - { - _builder.Append("/_compact"); - return this; - } - - public CouchUri CompactView(string designDocument) - { - _builder.Append("/_compact/{0}".AsFormat(designDocument)); - return this; - } - - public CouchUri Descending() - { - _builder.AppendFormat("{0}descending=true", - _hasArguments ? "&" : "?"); - - if (!_hasArguments) - _hasArguments = true; - - return this; - } - - public CouchUri Design(string designDocumentName) - { - _builder.AppendFormat("/_design/{0}", designDocumentName); - return this; - } - - public CouchUri Format(string format) - { - _builder.AppendFormat("{0}format={1}", - _hasArguments ? "&" : "?", format); - - if (!_hasArguments) - _hasArguments = true; - - return this; - } - - public CouchUri IncludeDocuments() - { - _builder.AppendFormat("{0}include_docs=true", _hasArguments - ? "&" - : "?"); - - if (!_hasArguments) - _hasArguments = true; - - return this; - } - - public CouchUri InclusiveEnd() - { - _builder.AppendFormat("{0}inclusive_end=true", - _hasArguments ? "&" : "?"); - - if (!_hasArguments) - _hasArguments = true; - - return this; - } - - public CouchUri Id(TKey key) - { - _builder.AppendFormat("/{0}", key.ToString().TrimStart('"').TrimEnd('"')); - - return this; - } - - public CouchUri IdAndRev(TKey key, TRev rev) - { - if (!_hasArguments) - _hasArguments = true; - - _builder.AppendFormat("/{0}?rev={1}", - key.ToString().TrimStart('"').TrimEnd('"'), - rev.ToString().TrimStart('"').TrimEnd('"')); - return this; - } - - public CouchUri Key(TKey key) - { - var json = key.ToJson(false); - _builder.AppendFormat("{0}key={1}", - _hasArguments ? "&" : "?", - json); - - if (!_hasArguments) - _hasArguments = true; - - return this; - } - - public CouchUri KeyAndRev(TKey key, TRev rev) - { - var json = key.ToJson(false); - _builder.AppendFormat("{0}key={1}&rev={2}", - _hasArguments ? "&" : "?", - json, - rev); - - if (!_hasArguments) - _hasArguments = true; - - return this; - } - - public CouchUri Group() - { - return Group(1); - } - - public CouchUri Group(int groupLevel) - { - _builder.AppendFormat("{0}group=true&group_level={1}", - _hasArguments ? "&" : "?", groupLevel); - - if (!_hasArguments) - _hasArguments = true; - - return this; - } - - public CouchUri Limit(int limit) - { - _builder.AppendFormat("{0}limit={1}", - _hasArguments ? "&" : "?", limit); - - if (!_hasArguments) - _hasArguments = true; - - return this; - } - - public CouchUri List(string listName) - { - _builder.AppendFormat("/_list/{0}", listName); - return this; - } - - public CouchUri ListAll() - { - _builder.Append("/_all_docs"); - return this; - } - - public CouchUri NoReduce() - { - _builder.AppendFormat("{0}reduce=false", - _hasArguments ? "&" : "?"); - - if (!_hasArguments) - _hasArguments = true; - - return this; - } - - public CouchUri Replicate() - { - _builder.Append("/_replicate"); - return this; - } - - public CouchUri Revision(TRev revision) - { - _builder.AppendFormat("{0}rev={1}", - _hasArguments ? "&" : "?", revision.ToString().TrimStart('"').TrimEnd('"')); - if (!_hasArguments) - _hasArguments = true; - - return this; - } - - public CouchUri StartKey(TKey start) - { - var json = start.ToJson(false); - _builder.AppendFormat("{0}startkey={1}", - _hasArguments ? "&" : "?", - json); - - if (!_hasArguments) - _hasArguments = true; - - return this; - } - - public CouchUri EndKey(TKey end) - { - var json = end.ToJson(false); - _builder.AppendFormat("{0}endkey={1}", - _hasArguments ? "&" : "?", - json); - - if (!_hasArguments) - _hasArguments = true; - - return this; - } - - public CouchUri Skip(int number) - { - _builder.AppendFormat("{0}skip={1}", - _hasArguments ? "&" : "?", number); - - if (!_hasArguments) - _hasArguments = true; - - return this; - } - - public CouchUri StaleOk() - { - _builder.AppendFormat("{0}stale=ok", - _hasArguments ? "&" : "?"); - - if (!_hasArguments) - _hasArguments = true; - - return this; - } - - public CouchUri View(string viewName) - { - _builder.AppendFormat("/_view/{0}", viewName); - return this; - } - - public CouchUri(string prefix, string server, int port, string database) - { - _builder - .AppendFormat(@"{0}://{1}:{2}/{3}", prefix, server, port, database); - } - - public CouchUri(string prefix, string server, int port) - { - _builder - .AppendFormat(@"{0}://{1}:{2}", prefix, server, port); - } - - public CouchUri(string user, string password, string prefix, string server, int port) - { - _builder - .AppendFormat(@"{0}://{1}:{2}@{3}:{4}", - user, - password, - prefix, - server, - port); - } - - public CouchUri(string user, string password, string prefix, string server, int port, string database) - { - _builder - .AppendFormat(@"{0}://{1}:{2}@{3}:{4}/{5}", - user, - password, - prefix, - server, - port, - database); - } - - protected CouchUri(string content, bool hasArgs) - { - _builder.Append(content); - _hasArguments = hasArgs; - } - - public object Clone() - { - return new CouchUri(ToString(), _hasArguments); - } - - public override string ToString() - { - return _builder.ToString(); - } - } -} \ No newline at end of file diff --git a/src/Relax/DocumentRepository.cs b/src/Relax/DocumentRepository.cs deleted file mode 100644 index a1a5d40..0000000 --- a/src/Relax/DocumentRepository.cs +++ /dev/null @@ -1,21 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; - -namespace Symbiote.Relax.Impl -{ - public class DocumentRepository - : BaseDocumentRepository - { - public DocumentRepository(ICouchConfiguration configuration, ICouchCommandFactory commandFactory) - : base(configuration, commandFactory) - { - } - - public DocumentRepository(string configurationName) - : base(configurationName) - { - } - } -} diff --git a/src/Relax/EideticCacheProvider.cs b/src/Relax/EideticCacheProvider.cs deleted file mode 100644 index 8b45941..0000000 --- a/src/Relax/EideticCacheProvider.cs +++ /dev/null @@ -1,150 +0,0 @@ -using System; -using System.Collections.Concurrent; -using System.Collections.Generic; -using Symbiote.Core.Extensions; -using Symbiote.Eidetic; - -namespace Symbiote.Relax.Impl -{ - public class EideticCacheProvider : ICouchCacheProvider - { - protected IRemember _cache; - protected ICacheKeyBuilder _keyBuilder; - protected ConcurrentDictionary> _crossReferences - = new ConcurrentDictionary>(); - - public void AddCrossReference(string key, string cacheKey) - { - ConcurrentStack list = null; - if(!_crossReferences.TryGetValue(key, out list)) - { - list = new ConcurrentStack(); - _crossReferences[key] = list; - } - list.Push(cacheKey); - } - - public void InvalidateItem(string affectedKey) - where TModel : class, IHandleJsonDocumentId, IHandleJsonDocumentRevision - { - ConcurrentStack relatedKeys = null; - if(_crossReferences.TryGetValue(affectedKey, out relatedKeys)) - { - string key = null; - while(relatedKeys.TryPop(out key)) - { - _cache.Remove(key); - } - } - } - - public void Delete(object key, Action delete) - where TModel : class, IHandleJsonDocumentId, IHandleJsonDocumentRevision - { - var cacheKey = _keyBuilder.GetKey(key); - InvalidateItem(key.ToString()); - delete(key); - } - - public void Delete(object key, object rev, Action delete) - where TModel : class, IHandleJsonDocumentId, IHandleJsonDocumentRevision - { - var cacheKey = _keyBuilder.GetKey(key, rev); - InvalidateItem(key.ToString()); - delete(key, rev); - } - - public void DeleteAll() - where TModel : class, IHandleJsonDocumentId, IHandleJsonDocumentRevision - { - _crossReferences.Keys.ForEach(InvalidateItem); - } - - public TModel Get(object key, object rev, Func retrieve) - where TModel : class, IHandleJsonDocumentId, IHandleJsonDocumentRevision - { - var cacheKey = _keyBuilder.GetKey(key, rev); - var result = _cache.Get(cacheKey); - if(result == null) - { - result = retrieve(key, rev); - _cache.Store(StoreMode.Add, cacheKey, result); - AddCrossReference(result.GetIdAsJson(), cacheKey); - } - return result; - } - - public TModel Get(object key, Func retrieve) - where TModel : class, IHandleJsonDocumentId, IHandleJsonDocumentRevision - { - var cacheKey = _keyBuilder.GetKey(key); - var result = _cache.Get(cacheKey); - if (result == null) - { - result = retrieve(key); - _cache.Store(StoreMode.Add, cacheKey, result); - AddCrossReference(result.GetIdAsJson(), cacheKey); - } - return result; - } - - public IList GetAll(Func> retrieve) - where TModel : class, IHandleJsonDocumentId, IHandleJsonDocumentRevision - { - var cacheKey = _keyBuilder.GetListKey(); - var result = _cache.Get>(cacheKey); - if (result == null) - { - result = retrieve(); - _cache.Store(StoreMode.Add, cacheKey, result); - result.ForEach(x => AddCrossReference(x.GetIdAsJson(), cacheKey)); - } - return result; - } - - public IList GetAll(int pageSize, int pageNumber, Func> retrieve) - where TModel : class, IHandleJsonDocumentId, IHandleJsonDocumentRevision - { - var cacheKey = _keyBuilder.GetListKey(pageNumber, pageSize); - var result = _cache.Get>(cacheKey); - if (result == null) - { - result = retrieve(pageNumber, pageSize); - _cache.Store(StoreMode.Add, cacheKey, result); - result.ForEach(x => AddCrossReference(x.GetIdAsJson(), cacheKey)); - } - return result; - } - - public void Save(TModel model, Action save) - where TModel : class, IHandleJsonDocumentId, IHandleJsonDocumentRevision - { - InvalidateItem(model.GetIdAsJson()); - save(model); - CacheSavedModel(model); - } - - protected void CacheSavedModel(TModel model) - where TModel : class, IHandleJsonDocumentId, IHandleJsonDocumentRevision - { - var simpleKey = _keyBuilder.GetKey(model.GetIdAsJson()); - var revKey = _keyBuilder.GetKey(model.GetIdAsJson(), model.GetRevAsJson()); - _cache.Store(StoreMode.Add, simpleKey, model); - _cache.Store(StoreMode.Add, revKey, model); - } - - public void Save(IEnumerable list, Action> save) - where TModel : class, IHandleJsonDocumentId, IHandleJsonDocumentRevision - { - list.ForEach(x => InvalidateItem(x.GetIdAsJson())); - save(list); - list.ForEach(CacheSavedModel); - } - - public EideticCacheProvider(IRemember cache, ICacheKeyBuilder keyBuilder) - { - _cache = cache; - _keyBuilder = keyBuilder; - } - } -} \ No newline at end of file diff --git a/src/Relax/Feed.cs b/src/Relax/Feed.cs deleted file mode 100644 index 23eb08f..0000000 --- a/src/Relax/Feed.cs +++ /dev/null @@ -1,9 +0,0 @@ -namespace Symbiote.Relax.Impl -{ - public enum Feed - { - Continuous, - LongPolling, - Simple - } -} \ No newline at end of file diff --git a/src/Relax/ICacheKeyBuilder.cs b/src/Relax/ICacheKeyBuilder.cs deleted file mode 100644 index 0868085..0000000 --- a/src/Relax/ICacheKeyBuilder.cs +++ /dev/null @@ -1,10 +0,0 @@ -namespace Symbiote.Relax.Impl -{ - public interface ICacheKeyBuilder - { - string GetKey(object id); - string GetKey(object id, object rev); - string GetListKey(); - string GetListKey(int page, int size); - } -} \ No newline at end of file diff --git a/src/Relax/ICouchCacheProvider.cs b/src/Relax/ICouchCacheProvider.cs deleted file mode 100644 index b7224f6..0000000 --- a/src/Relax/ICouchCacheProvider.cs +++ /dev/null @@ -1,40 +0,0 @@ -using System; -using System.Collections.Generic; - -namespace Symbiote.Relax.Impl -{ - public interface ICouchCacheProvider - { - void AddCrossReference(string key, string cacheKey); - - void InvalidateItem(string affectedKey) - where TModel : class, IHandleJsonDocumentId, IHandleJsonDocumentRevision; - - void Delete(object key, Action delete) - where TModel : class, IHandleJsonDocumentId, IHandleJsonDocumentRevision; - - void Delete(object key, object rev, Action delete) - where TModel : class, IHandleJsonDocumentId, IHandleJsonDocumentRevision; - - void DeleteAll() - where TModel : class, IHandleJsonDocumentId, IHandleJsonDocumentRevision; - - TModel Get(object key, object rev, Func retrieve) - where TModel : class, IHandleJsonDocumentId, IHandleJsonDocumentRevision; - - TModel Get(object key, Func retrieve) - where TModel : class, IHandleJsonDocumentId, IHandleJsonDocumentRevision; - - IList GetAll(Func> retrieve) - where TModel : class, IHandleJsonDocumentId, IHandleJsonDocumentRevision; - - IList GetAll(int pageNumber, int pageSize, Func> retrieve) - where TModel : class, IHandleJsonDocumentId, IHandleJsonDocumentRevision; - - void Save(TModel model, Action save) - where TModel : class, IHandleJsonDocumentId, IHandleJsonDocumentRevision; - - void Save(IEnumerable list, Action> save) - where TModel : class, IHandleJsonDocumentId, IHandleJsonDocumentRevision; - } -} \ No newline at end of file diff --git a/src/Relax/ICouchCommand.cs b/src/Relax/ICouchCommand.cs deleted file mode 100644 index 98da42f..0000000 --- a/src/Relax/ICouchCommand.cs +++ /dev/null @@ -1,19 +0,0 @@ -using System; - -namespace Symbiote.Relax.Impl -{ - public interface ICouchCommand - { - string GetResponse(CouchUri uri, string method, string body); - Tuple GetAttachment(CouchUri uri); - string SaveAttachment(CouchUri uri, string type, byte[] content); - void GetContinuousResponse(CouchUri uri, int since, Action callback); - void StopContinousResponse(); - string Post(CouchUri uri); - string Post(CouchUri uri, string body); - string Put(CouchUri uri); - string Put(CouchUri uri, string body); - string Get(CouchUri uri); - string Delete(CouchUri uri); - } -} \ No newline at end of file diff --git a/src/Relax/ICouchCommandFactory.cs b/src/Relax/ICouchCommandFactory.cs deleted file mode 100644 index d092c8e..0000000 --- a/src/Relax/ICouchCommandFactory.cs +++ /dev/null @@ -1,12 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; - -namespace Symbiote.Relax.Impl -{ - public interface ICouchCommandFactory - { - ICouchCommand GetCommand(); - } -} diff --git a/src/Relax/ICouchConfiguration.cs b/src/Relax/ICouchConfiguration.cs deleted file mode 100644 index c89c2ac..0000000 --- a/src/Relax/ICouchConfiguration.cs +++ /dev/null @@ -1,22 +0,0 @@ -using System; - -namespace Symbiote.Relax.Impl -{ - public interface ICouchConfiguration - { - int Port { get; set; } - bool Preauthorize { get; set; } - int TimeOut { get; set; } - string Protocol { get; set; } - string Server { get; set; } - string User { get; set; } - string Password { get; set; } - bool Cache { get; set; } - DateTime CacheExpiration { get; set; } - TimeSpan CacheLimit { get; set; } - string GetDatabaseNameForType(); - bool Throw404Exceptions { get; set; } - bool ExcludeTypeSpecification { get; set; } - void SetDatabaseNameForType(string databaseName); - } -} \ No newline at end of file diff --git a/src/Relax/ICouchDocument.cs b/src/Relax/ICouchDocument.cs index a423ad6..65104a1 100644 --- a/src/Relax/ICouchDocument.cs +++ b/src/Relax/ICouchDocument.cs @@ -1,5 +1,19 @@ +// /* +// Copyright 2008-2011 Alex Robson +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// */ using System.Collections.Generic; -using Relax.Impl; using Relax.Impl.Model; namespace Relax diff --git a/src/Relax/ICouchServer.cs b/src/Relax/ICouchServer.cs index c57d6e4..d6ef9b0 100644 --- a/src/Relax/ICouchServer.cs +++ b/src/Relax/ICouchServer.cs @@ -1,6 +1,20 @@ -using System; +// /* +// Copyright 2008-2011 Alex Robson +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// */ +using System; using System.Collections.Generic; -using Relax.Impl; using Relax.Impl.Http; namespace Relax @@ -8,18 +22,17 @@ namespace Relax public interface ICouchServer : IDisposable { + IList DatabaseList { get; } + IDocumentRepository Repository { get; } void CleanViews(); void CreateDatabase(); void CompactDatabase(); - void CompactView(string testview); - void CopyDatabase(CouchUri targetUri); - void CopyDatabase(CouchUri sourceUri, CouchUri targetUri); + void CompactView( string testview ); + void CopyDatabase( CouchUri targetUri ); + void CopyDatabase( CouchUri sourceUri, CouchUri targetUri ); bool DatabaseExists(); - IList DatabaseList { get; } void DeleteDatabase(); - void Replicate(CouchUri targetUri); - void Replicate(CouchUri sourceUri, CouchUri targetUri); - - IDocumentRepository Repository { get; } + void Replicate( CouchUri targetUri ); + void Replicate( CouchUri sourceUri, CouchUri targetUri ); } } \ No newline at end of file diff --git a/src/Relax/IDocumentRepository.cs b/src/Relax/IDocumentRepository.cs index 8cdddc4..9ab7b90 100644 --- a/src/Relax/IDocumentRepository.cs +++ b/src/Relax/IDocumentRepository.cs @@ -1,7 +1,21 @@ +// /* +// Copyright 2008-2011 Alex Robson +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// */ using System; using System.Collections.Generic; using System.Linq.Expressions; -using Relax.Impl; using Relax.Impl.Commands; using Relax.Impl.Model; @@ -9,44 +23,47 @@ namespace Relax { public interface IDocumentRepository : IDisposable { - void DeleteDocument(object id); + bool DeleteDocument( object id ); - void DeleteDocument(object id, string rev); + bool DeleteDocument( object id, string rev ); - void DeleteAttachment(TModel model, string attachmentName) + bool DeleteAttachment( TModel model, string attachmentName ) where TModel : IHaveAttachments; - IList FromView(string designDocument, string viewName, Action query); + IList FromView( string designDocument, string viewName, Action query ); - TModel Get(object id, string revision); + TModel Get( object id, string revision ); - TModel Get(object id); + TModel Get( object id ); IList GetAll(); - IList GetAll(int pageSize, int pageNumber); + IList GetAll( int pageSize, int pageNumber ); - IList GetAllByKeys(object[] ids); + IList GetAllByKeys( object[] ids ); - IList GetAllBetweenKeys(object startingWith, object endingWith); + IList GetAllBetweenKeys( object startingWith, object endingWith ); - Tuple GetAttachment(object id, string attachmentName) + Tuple GetAttachment( object id, string attachmentName ) where TModel : IHaveAttachments; - IList GetAllByCriteria(Expression> criteria); + IList GetAllByCriteria( Expression> criteria ); - void Save(TModel model); + bool Save( object id, TModel model ); - void SaveAll(IEnumerable list); + bool Save( TModel model ); - void SaveAttachment(TModel model, string attachmentName, string contentType, byte[] content) + bool SaveAll( IEnumerable list ); + + bool SaveAttachment( TModel model, string attachmentName, string contentType, byte[] content ) where TModel : IHaveAttachments; - void HandleUpdates(int since, Action onUpdate, AsyncCallback updatesInterrupted); + void HandleUpdates( int since, Action onUpdate, AsyncCallback updatesInterrupted ); - void HandleUpdates(string database, int since, Action onUpdate, AsyncCallback updatesInterrupted); + void HandleUpdates( string database, int since, Action onUpdate, + AsyncCallback updatesInterrupted ); - void StopChangeStreaming(string database); + void StopChangeStreaming( string database ); void StopChangeStreaming(); } diff --git a/src/Relax/IResolveDatabaseNames.cs b/src/Relax/IResolveDatabaseNames.cs index 3280a39..dfce454 100644 --- a/src/Relax/IResolveDatabaseNames.cs +++ b/src/Relax/IResolveDatabaseNames.cs @@ -1,4 +1,19 @@ -namespace Relax +// /* +// Copyright 2008-2011 Alex Robson +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// */ +namespace Relax { public interface IResolveDatabaseNames { diff --git a/src/Relax/Impl/Cache/CacheKeyBuilder.cs b/src/Relax/Impl/Cache/CacheKeyBuilder.cs index 2a87556..873bf09 100644 --- a/src/Relax/Impl/Cache/CacheKeyBuilder.cs +++ b/src/Relax/Impl/Cache/CacheKeyBuilder.cs @@ -1,50 +1,65 @@ -using System; +// /* +// Copyright 2008-2011 Alex Robson +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// */ using Symbiote.Core.Extensions; +using Symbiote.Core.Serialization; namespace Relax.Impl.Cache { public class CacheKeyBuilder : ICacheKeyBuilder { - public string GetKey(object id) + public string GetKey( object id ) { return "{0}_{1}" - .AsFormat(typeof(TModel).FullName, GetIdAsValidString(id)); + .AsFormat( typeof( TModel ).FullName, GetIdAsValidString( id ) ); } - public string GetKey(object id, string rev) + public string GetKey( object id, string rev ) { return "{0}_{1}_{2}" - .AsFormat(typeof(TModel).FullName, GetIdAsValidString(id), rev); + .AsFormat( typeof( TModel ).FullName, GetIdAsValidString( id ), rev ); } - public string GetRangeKey(object startKey, object endKey) + public string GetRangeKey( object startKey, object endKey ) { return "{0}_{1}_{2}" - .AsFormat(typeof(TModel).FullName, GetIdAsValidString(startKey), GetIdAsValidString(endKey)); + .AsFormat( typeof( TModel ).FullName, GetIdAsValidString( startKey ), GetIdAsValidString( endKey ) ); } public string GetListKey() { return "{0}_list" - .AsFormat(typeof(TModel).FullName); + .AsFormat( typeof( TModel ).FullName ); } - public string GetListKey(int page, int size) + public string GetListKey( int page, int size ) { return "{0}_{1}_{2}" - .AsFormat(typeof(TModel).FullName, page, size); + .AsFormat( typeof( TModel ).FullName, page, size ); } - public string GetIdAsValidString(object id) + public string GetIdAsValidString( object id ) { var type = id.GetType(); - if( - type.FullName.StartsWith("System") && - (type.GetInterface("IEnumerable") == null || type.Equals(typeof(string)))) + if ( + type.FullName.StartsWith( "System" ) && + (type.GetInterface( "IEnumerable" ) == null || type.Equals( typeof( string ) )) ) { return id.ToString(); } - return id.ToJson(false); + return id.ToJson( false ); } } } \ No newline at end of file diff --git a/src/Relax/Impl/Cache/CouchCacheProvider.cs b/src/Relax/Impl/Cache/CouchCacheProvider.cs index 8d7289e..7274217 100644 --- a/src/Relax/Impl/Cache/CouchCacheProvider.cs +++ b/src/Relax/Impl/Cache/CouchCacheProvider.cs @@ -1,163 +1,181 @@ -using System; -using System.Collections.Concurrent; +// /* +// Copyright 2008-2011 Alex Robson +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// */ +using System; using System.Collections.Generic; -using Relax.Impl.Model; using Symbiote.Core.Cache; using Symbiote.Core.Extensions; -using Relax.Impl.Commands; namespace Relax.Impl.Cache { public class CouchCacheProvider : ICouchCacheProvider { + protected IKeyAssociationManager _associationManager; protected ICacheProvider _cache; protected ICacheKeyBuilder _keyBuilder; - protected IKeyAssociationManager _associationManager; - public void AddCrossReference(string key, string cacheKey) + public void AddCrossReference( string key, string cacheKey ) { - _associationManager.AddKeyAssociation(key, cacheKey); + _associationManager.AddKeyAssociation( key, cacheKey ); } - public virtual void InvalidateItem(string affectedKey) + public virtual void InvalidateItem( string affectedKey ) { _associationManager - .GetAssociations(affectedKey) - .ForEach(x => _cache.Remove(x)); + .GetAssociations( affectedKey ) + .ForEach( x => _cache.Remove( x ) ); } - public virtual void Delete(object key, Action delete) + public virtual bool Delete( object key, Func delete ) { - var cacheKey = _keyBuilder.GetKey(key); - InvalidateItem(cacheKey); - delete(key); + var cacheKey = _keyBuilder.GetKey( key ); + InvalidateItem( cacheKey ); + return delete( key ); } - public virtual void Delete(object key, string rev, Action delete) + public virtual bool Delete( object key, string rev, Func delete ) { - var cacheKey = _keyBuilder.GetKey(key, rev); - InvalidateItem(cacheKey); - delete(key, rev); + var cacheKey = _keyBuilder.GetKey( key, rev ); + InvalidateItem( cacheKey ); + return delete( key, rev ); } - - public virtual TModel Get(object key, string rev, Func retrieve) + + public virtual TModel Get( object key, string rev, Func retrieve ) { - var cacheKey = _keyBuilder.GetKey(key, rev); - var result = _cache.Get(cacheKey); - if (result == null) + var cacheKey = _keyBuilder.GetKey( key, rev ); + var result = _cache.Get( cacheKey ); + if ( result == null ) { - result = retrieve(key, rev); - _cache.Store(cacheKey, result); + result = retrieve( key, rev ); + _cache.Store( cacheKey, result ); } return result; } - public virtual TModel Get(object key, Func retrieve) + public virtual TModel Get( object key, Func retrieve ) { - var cacheKey = _keyBuilder.GetKey(key); - var result = _cache.Get(cacheKey); - if (result == null) + var cacheKey = _keyBuilder.GetKey( key ); + var result = _cache.Get( cacheKey ); + if ( result == null ) { - result = retrieve(key); - _cache.Store(cacheKey, result); + result = retrieve( key ); + _cache.Store( cacheKey, result ); } return result; } - public virtual IList GetAll(Func> retrieve) + public virtual IList GetAll( Func> retrieve ) { var listCacheKey = _keyBuilder.GetListKey(); - var result = _cache.Get>(listCacheKey); - if (result == null) + var result = _cache.Get>( listCacheKey ); + if ( result == null ) { result = retrieve(); - _cache.Store(listCacheKey, result); - result.ForEach(x => - { - var cacheKey = _keyBuilder.GetKey(x.GetDocumentId()); - var cacheRevKey = _keyBuilder.GetKey(x.GetDocumentId(), - x.GetDocumentRevision()); - AddCrossReference(cacheKey, listCacheKey); - AddCrossReference(cacheRevKey, listCacheKey); - }); + _cache.Store( listCacheKey, result ); + result.ForEach( x => + { + var cacheKey = _keyBuilder.GetKey( x.GetDocumentId() ); + var cacheRevKey = _keyBuilder.GetKey( x.GetDocumentId(), + x.GetDocumentRevision() ); + AddCrossReference( cacheKey, listCacheKey ); + AddCrossReference( cacheRevKey, listCacheKey ); + } ); } return result; } - public virtual IList GetAllPaged(int pageSize, int pageNumber, Func> retrieve) + public virtual IList GetAllPaged( int pageSize, int pageNumber, + Func> retrieve ) { - var listCacheKey = _keyBuilder.GetListKey(pageNumber, pageSize); - var result = _cache.Get>(listCacheKey); - if (result == null) + var listCacheKey = _keyBuilder.GetListKey( pageNumber, pageSize ); + var result = _cache.Get>( listCacheKey ); + if ( result == null ) { - result = retrieve(pageSize, pageNumber); - _cache.Store(listCacheKey, result); - result.ForEach(x => - { - var cacheKey = _keyBuilder.GetKey(x.GetDocumentId()); - var cacheRevKey = _keyBuilder.GetKey(x.GetDocumentId(), - x.GetDocumentRevision()); - AddCrossReference(cacheKey, listCacheKey); - AddCrossReference(cacheRevKey, listCacheKey); - }); + result = retrieve( pageSize, pageNumber ); + _cache.Store( listCacheKey, result ); + result.ForEach( x => + { + var cacheKey = _keyBuilder.GetKey( x.GetDocumentId() ); + var cacheRevKey = _keyBuilder.GetKey( x.GetDocumentId(), + x.GetDocumentRevision() ); + AddCrossReference( cacheKey, listCacheKey ); + AddCrossReference( cacheRevKey, listCacheKey ); + } ); } return result; } - public IList GetAllInRange(object startingWith, object endingWith, Func> retrieve) + public IList GetAllInRange( object startingWith, object endingWith, + Func> retrieve ) { - var listCacheKey = _keyBuilder.GetRangeKey(startingWith, endingWith); - var result = _cache.Get>(listCacheKey); - if(result == null) + var listCacheKey = _keyBuilder.GetRangeKey( startingWith, endingWith ); + var result = _cache.Get>( listCacheKey ); + if ( result == null ) { - result = retrieve(startingWith, endingWith); - _cache.Store(listCacheKey, result); - result.ForEach(x => - { - var cacheKey = _keyBuilder.GetKey(x.GetDocumentId()); - var cacheRevKey = _keyBuilder.GetKey(x.GetDocumentId(), - x.GetDocumentRevision()); - AddCrossReference(cacheKey, listCacheKey); - AddCrossReference(cacheRevKey, listCacheKey); - }); + result = retrieve( startingWith, endingWith ); + _cache.Store( listCacheKey, result ); + result.ForEach( x => + { + var cacheKey = _keyBuilder.GetKey( x.GetDocumentId() ); + var cacheRevKey = _keyBuilder.GetKey( x.GetDocumentId(), + x.GetDocumentRevision() ); + AddCrossReference( cacheKey, listCacheKey ); + AddCrossReference( cacheRevKey, listCacheKey ); + } ); } return result; } - public virtual void Save(TModel model, Action save) + public virtual bool Save( TModel model, Func save ) { - var cacheKey = _keyBuilder.GetKey(model.GetDocumentId()); - var cacheRevKey = _keyBuilder.GetKey(model.GetDocumentId(), model.GetDocumentRevision()); - InvalidateItem(cacheKey); - InvalidateItem(cacheRevKey); - save(model); - CacheSavedModel(model, cacheKey, cacheRevKey); + var cacheKey = _keyBuilder.GetKey( model.GetDocumentId() ); + var cacheRevKey = _keyBuilder.GetKey( model.GetDocumentId(), model.GetDocumentRevision() ); + InvalidateItem( cacheKey ); + InvalidateItem( cacheRevKey ); + var success = save( model ); + CacheSavedModel( model, cacheKey, cacheRevKey ); + return success; } - protected virtual void CacheSavedModel(TModel model, string cacheKey, string cacheRevKey) + public virtual bool SaveAll( IEnumerable list, Func, bool> save ) { - _cache.Store(cacheKey, model); - _cache.Store(cacheRevKey, model); + var success = save( list ); + list.ForEach( x => + { + var cacheKey = _keyBuilder.GetKey( x.GetDocumentId() ); + var cacheRevKey = _keyBuilder.GetKey( x.GetDocumentId(), + x.GetDocumentRevision() ); + InvalidateItem( cacheKey ); + InvalidateItem( cacheRevKey ); + CacheSavedModel( x, cacheKey, cacheRevKey ); + } ); + return success; } - public virtual void SaveAll(IEnumerable list, Action> save) + protected virtual void CacheSavedModel( TModel model, string cacheKey, string cacheRevKey ) { - save(list); - list.ForEach(x => - { - var cacheKey = _keyBuilder.GetKey(x.GetDocumentId()); - var cacheRevKey = _keyBuilder.GetKey(x.GetDocumentId(), x.GetDocumentRevision()); - InvalidateItem(cacheKey); - InvalidateItem(cacheRevKey); - CacheSavedModel(x, cacheKey, cacheRevKey); - }); + _cache.Store( cacheKey, model ); + _cache.Store( cacheRevKey, model ); } - public CouchCacheProvider(ICacheProvider cache, IKeyAssociationManager keyAssociationManager, ICacheKeyBuilder keyBuilder) + public CouchCacheProvider( ICacheProvider cache, IKeyAssociationManager keyAssociationManager, + ICacheKeyBuilder keyBuilder ) { _cache = cache; _keyBuilder = keyBuilder; _associationManager = keyAssociationManager; } } -} +} \ No newline at end of file diff --git a/src/Relax/Impl/Cache/DefaultKeyAssociationManager.cs b/src/Relax/Impl/Cache/DefaultKeyAssociationManager.cs index 15b2504..a088db5 100644 --- a/src/Relax/Impl/Cache/DefaultKeyAssociationManager.cs +++ b/src/Relax/Impl/Cache/DefaultKeyAssociationManager.cs @@ -1,4 +1,18 @@ -using System; +// /* +// Copyright 2008-2011 Alex Robson +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// */ using System.Collections.Concurrent; using System.Collections.Generic; @@ -7,21 +21,16 @@ namespace Relax.Impl.Cache public class DefaultKeyAssociationManager : IKeyAssociationManager { protected ConcurrentDictionary> KeyAssociations { get; set; } - - public DefaultKeyAssociationManager() - { - KeyAssociations = new ConcurrentDictionary>(); - } - public void AddKeyAssociation(string key, string cacheKey) + public void AddKeyAssociation( string key, string cacheKey ) { ConcurrentStack associations = null; - if (!KeyAssociations.TryGetValue(key, out associations)) + if ( !KeyAssociations.TryGetValue( key, out associations ) ) { associations = new ConcurrentStack(); KeyAssociations[key] = associations; } - associations.Push(cacheKey); + associations.Push( cacheKey ); } public IEnumerable GetAllKeys() @@ -29,18 +38,23 @@ public IEnumerable GetAllKeys() return KeyAssociations.Keys; } - public IEnumerable GetAssociations(string key) + public IEnumerable GetAssociations( string key ) { ConcurrentStack associations = null; - if (KeyAssociations.TryGetValue(key, out associations)) + if ( KeyAssociations.TryGetValue( key, out associations ) ) { string associatedKey = null; - while (associations.TryPop(out associatedKey)) + while ( associations.TryPop( out associatedKey ) ) { yield return associatedKey; } } yield break; } + + public DefaultKeyAssociationManager() + { + KeyAssociations = new ConcurrentDictionary>(); + } } } \ No newline at end of file diff --git a/src/Relax/Impl/Cache/ICacheKeyBuilder.cs b/src/Relax/Impl/Cache/ICacheKeyBuilder.cs index bab1d22..e22e482 100644 --- a/src/Relax/Impl/Cache/ICacheKeyBuilder.cs +++ b/src/Relax/Impl/Cache/ICacheKeyBuilder.cs @@ -1,11 +1,26 @@ -namespace Relax.Impl.Cache +// /* +// Copyright 2008-2011 Alex Robson +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// */ +namespace Relax.Impl.Cache { public interface ICacheKeyBuilder { - string GetKey(object id); - string GetKey(object id, string rev); - string GetRangeKey(object startKey, object endKey); + string GetKey( object id ); + string GetKey( object id, string rev ); + string GetRangeKey( object startKey, object endKey ); string GetListKey(); - string GetListKey(int page, int size); + string GetListKey( int page, int size ); } } \ No newline at end of file diff --git a/src/Relax/Impl/Cache/ICouchCacheProvider.cs b/src/Relax/Impl/Cache/ICouchCacheProvider.cs index cf5a5e6..084592d 100644 --- a/src/Relax/Impl/Cache/ICouchCacheProvider.cs +++ b/src/Relax/Impl/Cache/ICouchCacheProvider.cs @@ -1,31 +1,46 @@ -using System; +// /* +// Copyright 2008-2011 Alex Robson +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// */ +using System; using System.Collections.Generic; -using Relax.Impl.Model; namespace Relax.Impl.Cache { public interface ICouchCacheProvider { - void AddCrossReference(string key, string cacheKey); + void AddCrossReference( string key, string cacheKey ); - void InvalidateItem(string affectedKey); + void InvalidateItem( string affectedKey ); - void Delete(object key, Action delete); + bool Delete( object key, Func delete ); - void Delete(object key, string rev, Action delete); + bool Delete( object key, string rev, Func delete ); - TModel Get(object key, string rev, Func retrieve); + TModel Get( object key, string rev, Func retrieve ); - TModel Get(object key, Func retrieve); + TModel Get( object key, Func retrieve ); - IList GetAll(Func> retrieve); + IList GetAll( Func> retrieve ); - IList GetAllPaged(int pageSize, int pageNumber, Func> retrieve); + IList GetAllPaged( int pageSize, int pageNumber, Func> retrieve ); - IList GetAllInRange(object startingWith, object endingWith, Func> retrieve); + IList GetAllInRange( object startingWith, object endingWith, + Func> retrieve ); - void Save(TModel model, Action save); + bool Save( TModel model, Func save ); - void SaveAll(IEnumerable list, Action> save); + bool SaveAll( IEnumerable list, Func, bool> save ); } } \ No newline at end of file diff --git a/src/Relax/Impl/Cache/IKeyAssociationManager.cs b/src/Relax/Impl/Cache/IKeyAssociationManager.cs index 68cdd07..44d5ef6 100644 --- a/src/Relax/Impl/Cache/IKeyAssociationManager.cs +++ b/src/Relax/Impl/Cache/IKeyAssociationManager.cs @@ -1,11 +1,26 @@ -using System.Collections.Generic; +// /* +// Copyright 2008-2011 Alex Robson +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// */ +using System.Collections.Generic; namespace Relax.Impl.Cache { public interface IKeyAssociationManager { - void AddKeyAssociation(string key, string cacheKey); + void AddKeyAssociation( string key, string cacheKey ); IEnumerable GetAllKeys(); - IEnumerable GetAssociations(string key); + IEnumerable GetAssociations( string key ); } } \ No newline at end of file diff --git a/src/Relax/Impl/Commands/BaseCouchCommand.cs b/src/Relax/Impl/Commands/BaseCouchCommand.cs index f01b40b..4ee6827 100644 --- a/src/Relax/Impl/Commands/BaseCouchCommand.cs +++ b/src/Relax/Impl/Commands/BaseCouchCommand.cs @@ -1,6 +1,23 @@ -using System; +// /* +// Copyright 2008-2011 Alex Robson +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// */ +using System; using Relax.Config; using Relax.Impl.Http; +using Relax.Impl.Json; +using Relax.Impl.Serialization; using Symbiote.Core.Extensions; namespace Relax.Impl.Commands @@ -10,40 +27,41 @@ public class BaseCouchCommand public virtual CouchUri Uri { get; protected set; } protected virtual IHttpAction action { get; set; } protected ICouchConfiguration configuration { get; set; } + protected ISerializationProvider serializer { get; set; } public virtual CommandResult Get() { - return new CommandResult(action.Get(Uri)); + return new CommandResult( action.Get( Uri ) ); } public virtual CommandResult Delete() { - return new CommandResult(action.Delete(Uri)); + return new CommandResult( action.Delete( Uri ) ); } public virtual CommandResult Post() { - return new CommandResult(action.Post(Uri)); + return new CommandResult( action.Post( Uri ) ); } - public virtual CommandResult Post(string body) + public virtual CommandResult Post( string body ) { - return new CommandResult(action.Post(Uri, body)); + return new CommandResult( action.Post( Uri, body ) ); } - + public virtual CommandResult Put() { - return new CommandResult(action.Put(Uri)); + return new CommandResult( action.Put( Uri ) ); } - public virtual CommandResult Put(string body) + public virtual CommandResult Put( string body ) { - return new CommandResult(action.Put(Uri, body)); + return new CommandResult( action.Put( Uri, body ) ); } - - public virtual CouchUri CreateUri(string database) + + public virtual CouchUri CreateUri( string database ) { - Uri = configuration.NewUri(database); + Uri = configuration.NewUri( database ); return Uri; } @@ -59,16 +77,27 @@ public virtual CouchUri CreateUri() return Uri; } - public virtual RelaxException Exception(Exception ex, string format, params object[] args) + public virtual TModel Deserialize( string json ) + { + return serializer.Deserialize( json ); + } + + public virtual ViewResult DeserializeView( string json ) + { + return serializer.DeserializeList( json ); + } + + public virtual RelaxException Exception( Exception ex, string format, params object[] args ) { - format.ToError(args); - return new RelaxException(format.AsFormat(args), ex); + format.ToError( args ); + return new RelaxException( format.AsFormat( args ), ex ); } - protected BaseCouchCommand(IHttpAction action, ICouchConfiguration configuration) + protected BaseCouchCommand( IHttpAction action, ICouchConfiguration configuration, ISerializationProvider serializer ) { this.action = action; this.configuration = configuration; + this.serializer = serializer; } } } \ No newline at end of file diff --git a/src/Relax/Impl/Commands/BaseSaveDocumentCollection.cs b/src/Relax/Impl/Commands/BaseSaveDocumentCollection.cs index de1daaf..15ff377 100644 --- a/src/Relax/Impl/Commands/BaseSaveDocumentCollection.cs +++ b/src/Relax/Impl/Commands/BaseSaveDocumentCollection.cs @@ -1,38 +1,54 @@ -using System; +// /* +// Copyright 2008-2011 Alex Robson +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// */ +using System; using System.Collections.Generic; using System.Linq; -using Newtonsoft.Json.Linq; using Relax.Config; using Relax.Impl.Http; using Relax.Impl.Json; +using Relax.Impl.Serialization; using Symbiote.Core.Extensions; +using Newtonsoft.Json.Linq; namespace Relax.Impl.Commands { public abstract class BaseSaveDocumentCollection : BaseCouchCommand { - protected CommandResult SaveEnumerable(IEnumerable models) + protected CommandResult SaveEnumerable( IEnumerable models ) { try { - var list = new BulkPersist(true, false, models); + var list = new BulkPersist( true, false, models ); var body = list.ToString(); - var result = Post(body); - var updates = result.GetResultAs().ToDictionary(x => x.Id, x => x.Revision); + var result = Post( body ); + var updates = result.GetResultAs().ToDictionary( x => x.Id, x => x.Revision ); models - .ForEach(x => - { - var documentId = UtilityExtensions.GetDocumentIdAsJson(x); - string newRev = null; - if (updates.TryGetValue(documentId, out newRev)) - { - UtilityExtensions.SetDocumentRevision(x, newRev); - } - }); + .ForEach( x => + { + var documentId = x.GetDocumentIdAsJson(); + string newRev = null; + if ( updates.TryGetValue( documentId, out newRev ) ) + { + x.SetDocumentRevision( newRev ); + } + } ); return result; } - catch (Exception ex) + catch ( Exception ex ) { throw Exception( ex, @@ -43,15 +59,16 @@ protected CommandResult SaveEnumerable(IEnumerable models) } } - public virtual string ScrubBulkPersistOfTypeTokens(string body) + public virtual string ScrubBulkPersistOfTypeTokens( string body ) { - var jBlob = JObject.Parse(body); + var jBlob = JObject.Parse( body ); var docs = jBlob["docs"]["$values"]; - jBlob.Property("docs").Value = docs; + jBlob.Property( "docs" ).Value = docs; return jBlob.ToString(); } - protected BaseSaveDocumentCollection(IHttpAction action, ICouchConfiguration configuration) : base(action, configuration) + protected BaseSaveDocumentCollection( IHttpAction action, ICouchConfiguration configuration, ISerializationProvider serializer ) + : base( action, configuration, serializer ) { } } diff --git a/src/Relax/Impl/Commands/ChangeStreamCommand.cs b/src/Relax/Impl/Commands/ChangeStreamCommand.cs index a852323..cf286f2 100644 --- a/src/Relax/Impl/Commands/ChangeStreamCommand.cs +++ b/src/Relax/Impl/Commands/ChangeStreamCommand.cs @@ -1,30 +1,46 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; +// /* +// Copyright 2008-2011 Alex Robson +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// */ +using System; using Relax.Config; using Relax.Impl.Http; +using Relax.Impl.Serialization; namespace Relax.Impl.Commands { public class ChangeStreamCommand : BaseCouchCommand { - public IHttpAction BeginStreaming(int since, Action onUpdate, AsyncCallback streamInterrupted) + public IHttpAction BeginStreaming( int since, Action onUpdate, + AsyncCallback streamInterrupted ) { Action> proxy = action.GetContinuousResponse; - proxy.BeginInvoke(CreateUri(), since, onUpdate, streamInterrupted, null); + proxy.BeginInvoke( CreateUri(), since, onUpdate, streamInterrupted, null ); return action; } - public IHttpAction BeginStreaming(string database, int since, Action onUpdate, AsyncCallback streamInterrupted) + public IHttpAction BeginStreaming( string database, int since, Action onUpdate, + AsyncCallback streamInterrupted ) { Action> proxy = action.GetContinuousResponse; - proxy.BeginInvoke(CreateUri(database), since, onUpdate, streamInterrupted, null); + proxy.BeginInvoke( CreateUri( database ), since, onUpdate, streamInterrupted, null ); return action; } - public ChangeStreamCommand(IHttpAction action, ICouchConfiguration configuration) : base(action, configuration) + public ChangeStreamCommand( IHttpAction action, ICouchConfiguration configuration, ISerializationProvider serializer ) + : base( action, configuration, serializer ) { } } -} +} \ No newline at end of file diff --git a/src/Relax/Impl/Commands/CommandResult.cs b/src/Relax/Impl/Commands/CommandResult.cs index 15aff5b..e81a803 100644 --- a/src/Relax/Impl/Commands/CommandResult.cs +++ b/src/Relax/Impl/Commands/CommandResult.cs @@ -1,10 +1,23 @@ -using System; +// /* +// Copyright 2008-2011 Alex Robson +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// */ using System.IO; -using System.Linq; +using Relax.Impl.Json; +using Symbiote.Core.Serialization; using Newtonsoft.Json; using Newtonsoft.Json.Linq; -using Relax.Impl.Json; -using Symbiote.Core.Extensions; namespace Relax.Impl.Commands { @@ -16,9 +29,9 @@ public JToken JsonObject { get { - if(!string.IsNullOrEmpty(Json)) + if ( !string.IsNullOrEmpty( Json ) ) { - return JToken.ReadFrom(new JsonTextReader(new StringReader(Json))); + return JToken.ReadFrom( new JsonTextReader( new StringReader( Json ) ) ); } return new JObject(); } @@ -26,7 +39,7 @@ public JToken JsonObject public TResult GetResultAs() { - if (string.IsNullOrEmpty(Json)) + if ( string.IsNullOrEmpty( Json ) ) return default(TResult); return Json.FromJson(); @@ -35,10 +48,10 @@ public TResult GetResultAs() public void ApplyDesignDocumentFilter() { var filter = new DesignDocumentFilter(); - Json = filter.Filter(Json); + Json = filter.Filter( Json ); } - public CommandResult(string json) + public CommandResult( string json ) { Json = json; } diff --git a/src/Relax/Impl/Commands/CouchCommandFactory.cs b/src/Relax/Impl/Commands/CouchCommandFactory.cs index c9283cf..ab97357 100644 --- a/src/Relax/Impl/Commands/CouchCommandFactory.cs +++ b/src/Relax/Impl/Commands/CouchCommandFactory.cs @@ -1,16 +1,32 @@ -using System; -using Microsoft.Practices.ServiceLocation; +// /* +// Copyright 2008-2011 Alex Robson +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// */ using Relax.Config; +using Relax.Impl.Serialization; +using Symbiote.Core; namespace Relax.Impl.Commands { - public class CouchCommandFactory + public class CouchCommandFactory { protected ICouchConfiguration configuration { get; set; } + protected ISerializationProvider Serializer { get; set; } protected TCommand CreateCommand() { - return ServiceLocator.Current.GetInstance(); + return Assimilate.GetInstanceOf(); } public DeleteAttachmentCommand CreateDeleteAttachmentCommand() @@ -63,24 +79,19 @@ public GetFromViewCommand CreateGetFromViewCommand() return CreateCommand(); } - public RelaxQueryCommand CreateQueryCommand() + public CouchQueryCommand CreateQueryCommand() { - return CreateCommand(); + return CreateCommand(); } public ISaveDocument CreateSaveDocumentCommand() { - return configuration.BreakDownDocumentGraphs ? (ISaveDocument) - CreateSaveDocumentGraphCommand() - : CreateSaveDocumentOnlyCommand(); + return CreateSaveDocumentOnlyCommand(); } public ISaveDocuments CreateSaveDocumentsCommand() { - return configuration.BreakDownDocumentGraphs - ? (ISaveDocuments) - CreateSaveDocumentOnlyListCommand() - : CreateSaveDocumentGraphListCommand(); + return CreateSaveDocumentOnlyListCommand(); } public SaveDocumentCommand CreateSaveDocumentOnlyCommand() @@ -88,21 +99,11 @@ public SaveDocumentCommand CreateSaveDocumentOnlyCommand() return CreateCommand(); } - public SaveDocumentGraphCommand CreateSaveDocumentGraphCommand() - { - return CreateCommand(); - } - public SaveDocumentListCommand CreateSaveDocumentOnlyListCommand() { return CreateCommand(); } - public SaveDocumentGraphListCommand CreateSaveDocumentGraphListCommand() - { - return CreateCommand(); - } - public ServerCommand CreateServerCommand() { return CreateCommand(); @@ -113,9 +114,10 @@ public ChangeStreamCommand CreateStreamCommand() return CreateCommand(); } - public CouchCommandFactory(ICouchConfiguration configuration) + public CouchCommandFactory( ICouchConfiguration configuration, ISerializationProvider serializer ) { this.configuration = configuration; + this.Serializer = serializer; } } } \ No newline at end of file diff --git a/src/Relax/Impl/Commands/CouchQueryCommand.cs b/src/Relax/Impl/Commands/CouchQueryCommand.cs new file mode 100644 index 0000000..383b229 --- /dev/null +++ b/src/Relax/Impl/Commands/CouchQueryCommand.cs @@ -0,0 +1,44 @@ +// /* +// Copyright 2008-2011 Alex Robson +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// */ +using System; +using System.Linq.Expressions; +using Relax.Config; + +namespace Relax.Impl.Commands +{ + public class CouchQueryCommand + { + protected IDocumentSearchProvider searchProvider { get; set; } + + public object[] GetDocumentIdsForQuery( Expression> criteria ) + { + if ( searchProvider == null ) + { + throw new RelaxConfigurationException( + "No search provider has been configured for Couch. Please specify a search provider via the fluent configuration API." ); + } + else + { + return searchProvider.GetDocumentIdsForQuery( criteria ); + } + } + + public CouchQueryCommand( IDocumentSearchProvider searchProvider ) + { + this.searchProvider = searchProvider; + } + } +} \ No newline at end of file diff --git a/src/Relax/Impl/Commands/DeleteAttachmentCommand.cs b/src/Relax/Impl/Commands/DeleteAttachmentCommand.cs index 1355f3d..9648fcd 100644 --- a/src/Relax/Impl/Commands/DeleteAttachmentCommand.cs +++ b/src/Relax/Impl/Commands/DeleteAttachmentCommand.cs @@ -1,42 +1,58 @@ -using System; +// /* +// Copyright 2008-2011 Alex Robson +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// */ +using System; using Relax.Config; using Relax.Impl.Http; -using Relax.Impl.Json; using Relax.Impl.Model; +using Relax.Impl.Serialization; namespace Relax.Impl.Commands { public class DeleteAttachmentCommand : BaseCouchCommand { - public virtual CommandResult DeleteAttachment(TModel model, string attachmentName) + public virtual CommandResult DeleteAttachment( TModel model, string attachmentName ) where TModel : IHaveAttachments { try { CreateUri() - .Id(model.GetDocumentIdAsJson()) - .Attachment(attachmentName) - .Revision(model.GetDocumentRevision()); + .Id( model.GetDocumentIdAsJson() ) + .Attachment( attachmentName ) + .Revision( model.GetDocumentRevision() ); var result = Delete(); - model.SetDocumentRevision(result.JsonObject.Value("rev")); - model.RemoveAttachment(attachmentName); + model.SetDocumentRevision( result.JsonObject.Value( "rev" ) ); + model.RemoveAttachment( attachmentName ); return result; } - catch (Exception ex) + catch ( Exception ex ) { - throw Exception(ex, - "An exception occurred trying to delete attachment {0} from document of type {1} with id {2} and rev {3} at {4}. \r\n\t {5}", - attachmentName, - typeof(TModel).FullName, - model.GetDocumentIdAsJson(), - model.GetDocumentRevision(), - Uri.ToString(), - ex); + throw Exception( ex, + "An exception occurred trying to delete attachment {0} from document of type {1} with id {2} and rev {3} at {4}. \r\n\t {5}", + attachmentName, + typeof( TModel ).FullName, + model.GetDocumentIdAsJson(), + model.GetDocumentRevision(), + Uri.ToString(), + ex ); } } - public DeleteAttachmentCommand(IHttpAction action, ICouchConfiguration configuration) : base(action, configuration) + public DeleteAttachmentCommand( IHttpAction action, ICouchConfiguration configuration, ISerializationProvider serializer ) + : base( action, configuration, serializer ) { } } diff --git a/src/Relax/Impl/Commands/DeleteDocumentCommand.cs b/src/Relax/Impl/Commands/DeleteDocumentCommand.cs index a0aa97f..1502ad0 100644 --- a/src/Relax/Impl/Commands/DeleteDocumentCommand.cs +++ b/src/Relax/Impl/Commands/DeleteDocumentCommand.cs @@ -1,32 +1,48 @@ -using System; +// /* +// Copyright 2008-2011 Alex Robson +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// */ +using System; using Relax.Config; using Relax.Impl.Http; +using Relax.Impl.Serialization; namespace Relax.Impl.Commands { public class DeleteDocumentCommand : BaseCouchCommand { - public void DeleteDocument(object id, object rev) + public void DeleteDocument( object id, object rev ) { try { CreateUri() - .IdAndRev(id, rev); + .IdAndRev( id, rev ); - action.Delete(Uri); + action.Delete( Uri ); } - catch (Exception ex) + catch ( Exception ex ) { - throw Exception(ex, - "An exception occurred trying to delete a document of type {0} with id {1} at {2}. \r\n\t {3}", - typeof(TModel).FullName, - id, - Uri, - ex); + throw Exception( ex, + "An exception occurred trying to delete a document of type {0} with id {1} at {2}. \r\n\t {3}", + typeof( TModel ).FullName, + id, + Uri, + ex ); } } - public void DeleteDocument(TModel model) + public void DeleteDocument( TModel model ) { object id = null; object rev = null; @@ -36,24 +52,25 @@ public void DeleteDocument(TModel model) id = model.GetDocumentIdAsJson(); rev = model.GetDocumentRevision(); - DeleteDocument(id, rev); + DeleteDocument( id, rev ); } - catch(RelaxException rex) + catch ( RelaxException rex ) { throw; } - catch (Exception ex) + catch ( Exception ex ) { - throw Exception(ex, - "An exception occurred trying to delete a document of type {0} with id {1} at {2}. \r\n\t {3}", - typeof(TModel).FullName, - id, - Uri, - ex); + throw Exception( ex, + "An exception occurred trying to delete a document of type {0} with id {1} at {2}. \r\n\t {3}", + typeof( TModel ).FullName, + id, + Uri, + ex ); } } - public DeleteDocumentCommand(IHttpAction action, ICouchConfiguration configuration) : base(action, configuration) + public DeleteDocumentCommand( IHttpAction action, ICouchConfiguration configuration, ISerializationProvider serializer ) + : base( action, configuration, serializer ) { } } diff --git a/src/Relax/Impl/Commands/GetAllDocumentsCommand.cs b/src/Relax/Impl/Commands/GetAllDocumentsCommand.cs index b76bf3b..7be8dc6 100644 --- a/src/Relax/Impl/Commands/GetAllDocumentsCommand.cs +++ b/src/Relax/Impl/Commands/GetAllDocumentsCommand.cs @@ -1,6 +1,22 @@ -using System; +// /* +// Copyright 2008-2011 Alex Robson +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// */ +using System; using Relax.Config; using Relax.Impl.Http; +using Relax.Impl.Serialization; namespace Relax.Impl.Commands { @@ -18,24 +34,25 @@ public CommandResult GetDocuments() commandResult.ApplyDesignDocumentFilter(); return commandResult; } - catch (Exception ex) + catch ( Exception ex ) { var couchEx = Exception( ex, "An exception occurred trying to retrieve all documents of type {0} at {1}. \r\n\t {2}", - typeof(TModel).FullName, + typeof( TModel ).FullName, Uri.ToString(), ex ); - if (configuration.Throw404Exceptions) + if ( configuration.Throw404Exceptions ) throw couchEx; - return new CommandResult(""); + return new CommandResult( "" ); } } - public GetAllDocumentsCommand(IHttpAction action, ICouchConfiguration configuration) : base(action, configuration) + public GetAllDocumentsCommand( IHttpAction action, ICouchConfiguration configuration, ISerializationProvider serializer ) + : base( action, configuration, serializer ) { } } diff --git a/src/Relax/Impl/Commands/GetAttachmentCommand.cs b/src/Relax/Impl/Commands/GetAttachmentCommand.cs index 328ad64..3d81007 100644 --- a/src/Relax/Impl/Commands/GetAttachmentCommand.cs +++ b/src/Relax/Impl/Commands/GetAttachmentCommand.cs @@ -1,36 +1,53 @@ -using System; +// /* +// Copyright 2008-2011 Alex Robson +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// */ +using System; using Relax.Config; using Relax.Impl.Http; using Relax.Impl.Model; +using Relax.Impl.Serialization; namespace Relax.Impl.Commands { public class GetAttachmentCommand : BaseCouchCommand { - public virtual Tuple GetAttachment(object id, string attachmentName) + public virtual Tuple GetAttachment( object id, string attachmentName ) where TModel : IHaveAttachments { try { CreateUri() - .Id(id) - .Attachment(attachmentName); + .Id( id ) + .Attachment( attachmentName ); - return action.GetAttachment(Uri); + return action.GetAttachment( Uri ); } - catch (Exception ex) + catch ( Exception ex ) { - throw Exception(ex, - "An exception occurred trying to retrieve an attachment {0} from a document of type {1} with id {2} at {3}. \r\n\t {4}", - attachmentName, - typeof(TModel).FullName, - id.ToString(), - Uri.ToString(), - ex); + throw Exception( ex, + "An exception occurred trying to retrieve an attachment {0} from a document of type {1} with id {2} at {3}. \r\n\t {4}", + attachmentName, + typeof( TModel ).FullName, + id.ToString(), + Uri.ToString(), + ex ); } } - public GetAttachmentCommand(IHttpAction action, ICouchConfiguration configuration) : base(action, configuration) + public GetAttachmentCommand( IHttpAction action, ICouchConfiguration configuration, ISerializationProvider serializer ) + : base( action, configuration, serializer ) { } } diff --git a/src/Relax/Impl/Commands/GetDocumentCommand.cs b/src/Relax/Impl/Commands/GetDocumentCommand.cs index 6d30cf7..f75f5a8 100644 --- a/src/Relax/Impl/Commands/GetDocumentCommand.cs +++ b/src/Relax/Impl/Commands/GetDocumentCommand.cs @@ -1,63 +1,80 @@ -using System; +// /* +// Copyright 2008-2011 Alex Robson +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// */ +using System; using Relax.Config; using Relax.Impl.Http; +using Relax.Impl.Serialization; namespace Relax.Impl.Commands { public class GetDocumentCommand : BaseCouchCommand { - public CommandResult GetDocument(object id) + public CommandResult GetDocument( object id ) { try { CreateUri() - .Id(id); + .Id( id ); return Get(); } - catch (Exception ex) + catch ( Exception ex ) { - var couchEx = Exception(ex, - "An exception occurred trying to retrieve a document of type {0} with id {1} at {2}. \r\n\t {3}", - typeof(TModel).FullName, - id, - Uri.ToString(), - ex + var couchEx = Exception( ex, + "An exception occurred trying to retrieve a document of type {0} with id {1} at {2}. \r\n\t {3}", + typeof( TModel ).FullName, + id, + Uri.ToString(), + ex ); - if (configuration.Throw404Exceptions) + if ( configuration.Throw404Exceptions ) throw couchEx; - return new CommandResult(""); + return new CommandResult( "" ); } } - public CommandResult GetDocument(object id, object rev) + public CommandResult GetDocument( object id, object rev ) { try { CreateUri() - .IdAndRev(id, rev); + .IdAndRev( id, rev ); return Get(); } - catch (Exception ex) + catch ( Exception ex ) { - var couchEx = Exception(ex, - "An exception occurred trying to retrieve a document of type {0} with id {1} and rev {2} at {3}. \r\n\t {4}", - typeof(TModel).FullName, - id, - rev, - Uri.ToString(), - ex + var couchEx = Exception( ex, + "An exception occurred trying to retrieve a document of type {0} with id {1} and rev {2} at {3}. \r\n\t {4}", + typeof( TModel ).FullName, + id, + rev, + Uri.ToString(), + ex ); - if (configuration.Throw404Exceptions) + if ( configuration.Throw404Exceptions ) throw couchEx; - return new CommandResult(""); + return new CommandResult( "" ); } } - public GetDocumentCommand(IHttpAction action, ICouchConfiguration configuration) : base(action, configuration) + public GetDocumentCommand( IHttpAction action, ICouchConfiguration configuration, ISerializationProvider serializer ) + : base( action, configuration, serializer ) { } } diff --git a/src/Relax/Impl/Commands/GetDocumentsByIdsCommand.cs b/src/Relax/Impl/Commands/GetDocumentsByIdsCommand.cs index 1721985..eaab557 100644 --- a/src/Relax/Impl/Commands/GetDocumentsByIdsCommand.cs +++ b/src/Relax/Impl/Commands/GetDocumentsByIdsCommand.cs @@ -1,14 +1,30 @@ -using System; +// /* +// Copyright 2008-2011 Alex Robson +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// */ +using System; using Relax.Config; using Relax.Impl.Http; using Relax.Impl.Json; -using Symbiote.Core.Extensions; +using Relax.Impl.Serialization; +using Symbiote.Core.Serialization; namespace Relax.Impl.Commands { public class GetDocumentsByIdsCommand : BaseCouchCommand { - public CommandResult GetDocuments(object[] ids) + public CommandResult GetDocuments( object[] ids ) { try { @@ -16,30 +32,31 @@ public CommandResult GetDocuments(object[] ids) .ListAll() .IncludeDocuments(); - var keys = new KeyList() { keys = ids }; - var jsonKeyList = keys.ToJson(false); + var keys = new KeyList {keys = ids}; + var jsonKeyList = keys.ToJson( false ); - var commandResult = Post(jsonKeyList); + var commandResult = Post( jsonKeyList ); commandResult.ApplyDesignDocumentFilter(); return commandResult; } - catch (Exception ex) + catch ( Exception ex ) { - var couchEx = Exception(ex, - "An exception occurred trying to retrieve a list of documents of type {0} by keys at {1}. \r\n\t {2}", - typeof(TModel).FullName, - Uri.ToString(), - ex + var couchEx = Exception( ex, + "An exception occurred trying to retrieve a list of documents of type {0} by keys at {1}. \r\n\t {2}", + typeof( TModel ).FullName, + Uri.ToString(), + ex ); - if (configuration.Throw404Exceptions) + if ( configuration.Throw404Exceptions ) throw couchEx; - return new CommandResult(""); + return new CommandResult( "" ); } } - public GetDocumentsByIdsCommand(IHttpAction action, ICouchConfiguration configuration) : base(action, configuration) + public GetDocumentsByIdsCommand( IHttpAction action, ICouchConfiguration configuration, ISerializationProvider serializer ) + : base( action, configuration, serializer ) { } } diff --git a/src/Relax/Impl/Commands/GetDocumentsInRangeCommand.cs b/src/Relax/Impl/Commands/GetDocumentsInRangeCommand.cs index 6578244..4b615dc 100644 --- a/src/Relax/Impl/Commands/GetDocumentsInRangeCommand.cs +++ b/src/Relax/Impl/Commands/GetDocumentsInRangeCommand.cs @@ -1,43 +1,59 @@ -using System; +// /* +// Copyright 2008-2011 Alex Robson +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// */ +using System; using Relax.Config; using Relax.Impl.Http; +using Relax.Impl.Serialization; namespace Relax.Impl.Commands { public class GetDocumentsInRangeCommand : BaseCouchCommand { - public CommandResult GetDocumentsInRange(object startingWith, object endingWith) + public CommandResult GetDocumentsInRange( object startingWith, object endingWith ) { try { CreateUri() .ListAll() .IncludeDocuments() - .StartKey(startingWith) - .EndKey(endingWith); + .StartKey( startingWith ) + .EndKey( endingWith ); var commandResult = Get(); commandResult.ApplyDesignDocumentFilter(); return commandResult; } - catch (Exception ex) + catch ( Exception ex ) { - var couchEx = Exception(ex, - "An exception occurred trying to retrieve all documents of type {0} at {1}. \r\n\t {2}", - typeof(TModel).FullName, - Uri.ToString(), - ex + var couchEx = Exception( ex, + "An exception occurred trying to retrieve all documents of type {0} at {1}. \r\n\t {2}", + typeof( TModel ).FullName, + Uri.ToString(), + ex ); - if (configuration.Throw404Exceptions) + if ( configuration.Throw404Exceptions ) throw couchEx; - return new CommandResult(""); + return new CommandResult( "" ); } } - public GetDocumentsInRangeCommand(IHttpAction action, ICouchConfiguration configuration) - : base(action, configuration) + public GetDocumentsInRangeCommand( IHttpAction action, ICouchConfiguration configuration, ISerializationProvider serializer ) + : base( action, configuration, serializer ) { } } diff --git a/src/Relax/Impl/Commands/GetDocumentsPagedCommand.cs b/src/Relax/Impl/Commands/GetDocumentsPagedCommand.cs index 2659bbe..00d74e1 100644 --- a/src/Relax/Impl/Commands/GetDocumentsPagedCommand.cs +++ b/src/Relax/Impl/Commands/GetDocumentsPagedCommand.cs @@ -1,43 +1,59 @@ -using System; +// /* +// Copyright 2008-2011 Alex Robson +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// */ +using System; using Relax.Config; using Relax.Impl.Http; +using Relax.Impl.Serialization; namespace Relax.Impl.Commands { public class GetDocumentsPagedCommand : BaseCouchCommand { - public CommandResult GetDocumentsPaged(int pageSize, int pageNumber) + public CommandResult GetDocumentsPaged( int pageSize, int pageNumber ) { try { CreateUri() .ListAll() .IncludeDocuments() - .Skip((pageNumber - 1) * pageSize) - .Limit(pageSize); + .Skip( (pageNumber - 1)*pageSize ) + .Limit( pageSize ); var commandResult = Get(); commandResult.ApplyDesignDocumentFilter(); return commandResult; } - catch (Exception ex) + catch ( Exception ex ) { - var couchEx = Exception(ex, - "An exception occurred trying to retrieve all documents of type {0} at {1}. \r\n\t {2}", - typeof(TModel).FullName, - Uri.ToString(), - ex + var couchEx = Exception( ex, + "An exception occurred trying to retrieve all documents of type {0} at {1}. \r\n\t {2}", + typeof( TModel ).FullName, + Uri.ToString(), + ex ); - if (configuration.Throw404Exceptions) + if ( configuration.Throw404Exceptions ) throw couchEx; - return new CommandResult(""); + return new CommandResult( "" ); } } - public GetDocumentsPagedCommand(IHttpAction action, ICouchConfiguration configuration) - : base(action, configuration) + public GetDocumentsPagedCommand( IHttpAction action, ICouchConfiguration configuration, ISerializationProvider serializer ) + : base( action, configuration, serializer ) { } } diff --git a/src/Relax/Impl/Commands/GetFromViewCommand.cs b/src/Relax/Impl/Commands/GetFromViewCommand.cs index cdb4cc4..b04a4d1 100644 --- a/src/Relax/Impl/Commands/GetFromViewCommand.cs +++ b/src/Relax/Impl/Commands/GetFromViewCommand.cs @@ -1,41 +1,57 @@ -using System; +// /* +// Copyright 2008-2011 Alex Robson +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// */ +using System; using Relax.Config; using Relax.Impl.Http; -using Relax.Impl.Json; +using Relax.Impl.Serialization; namespace Relax.Impl.Commands { public class GetFromViewCommand : BaseCouchCommand { - public CommandResult GetFromView(string designDocument, string viewName, Action query) + public CommandResult GetFromView( string designDocument, string viewName, Action query ) { try { CreateUri() - .Design(designDocument) - .View(viewName); + .Design( designDocument ) + .View( viewName ); - var viewQuery = new ViewQuery(Uri); - query(viewQuery); + var viewQuery = new ViewQuery( Uri ); + query( viewQuery ); var commandResult = Get(); commandResult.ApplyDesignDocumentFilter(); return commandResult; } - catch (Exception ex) + catch ( Exception ex ) { throw Exception( - ex, - "An exception occurred trying to retrieve a documents of type {0} from design document {1} and view {2} at {3}. \r\n\t {4}", - typeof(TModel).FullName, - designDocument, - viewName, - Uri.ToString(), - ex + ex, + "An exception occurred trying to retrieve a documents of type {0} from design document {1} and view {2} at {3}. \r\n\t {4}", + typeof( TModel ).FullName, + designDocument, + viewName, + Uri.ToString(), + ex ); } } - public GetFromViewCommand(IHttpAction action, ICouchConfiguration configuration) : base(action, configuration) + public GetFromViewCommand( IHttpAction action, ICouchConfiguration configuration, ISerializationProvider serializer ) + : base( action, configuration, serializer ) { } } diff --git a/src/Relax/Impl/Commands/ISaveDocument.cs b/src/Relax/Impl/Commands/ISaveDocument.cs index f4ad420..915b3f0 100644 --- a/src/Relax/Impl/Commands/ISaveDocument.cs +++ b/src/Relax/Impl/Commands/ISaveDocument.cs @@ -1,8 +1,23 @@ -namespace Relax.Impl.Commands +// /* +// Copyright 2008-2011 Alex Robson +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// */ +namespace Relax.Impl.Commands { public interface ISaveDocument { - CommandResult Save(TModel model); - CommandResult Save(string databaseName, object model); + CommandResult Save( TModel model ); + CommandResult Save( string databaseName, object model ); } } \ No newline at end of file diff --git a/src/Relax/Impl/Commands/ISaveDocuments.cs b/src/Relax/Impl/Commands/ISaveDocuments.cs index ae61ff9..94e6944 100644 --- a/src/Relax/Impl/Commands/ISaveDocuments.cs +++ b/src/Relax/Impl/Commands/ISaveDocuments.cs @@ -1,10 +1,25 @@ -using System.Collections.Generic; +// /* +// Copyright 2008-2011 Alex Robson +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// */ +using System.Collections.Generic; namespace Relax.Impl.Commands { public interface ISaveDocuments { - CommandResult SaveAll(IEnumerable models); - CommandResult SaveAll(string database, IEnumerable models); + CommandResult SaveAll( IEnumerable models ); + CommandResult SaveAll( string database, IEnumerable models ); } } \ No newline at end of file diff --git a/src/Relax/Impl/Commands/RelaxQueryCommand.cs b/src/Relax/Impl/Commands/RelaxQueryCommand.cs deleted file mode 100644 index 602ac00..0000000 --- a/src/Relax/Impl/Commands/RelaxQueryCommand.cs +++ /dev/null @@ -1,33 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Linq.Expressions; -using System.Text; -using Relax.Config; -using Symbiote.Core; - -namespace Relax.Impl.Commands -{ - public class RelaxQueryCommand - { - protected IDocumentSearchProvider searchProvider { get; set; } - - public object[] GetDocumentIdsForQuery(Expression> criteria) - { - if(searchProvider == null) - { - throw new RelaxConfigurationException( - "No search provider has been configured for Relax. Please specify a search provider via the fluent configuration API."); - } - else - { - return searchProvider.GetDocumentIdsForQuery(criteria); - } - } - - public RelaxQueryCommand(IDocumentSearchProvider searchProvider) - { - this.searchProvider = searchProvider; - } - } -} diff --git a/src/Relax/Impl/Commands/SaveAttachmentCommand.cs b/src/Relax/Impl/Commands/SaveAttachmentCommand.cs index 5d6a907..2427949 100644 --- a/src/Relax/Impl/Commands/SaveAttachmentCommand.cs +++ b/src/Relax/Impl/Commands/SaveAttachmentCommand.cs @@ -1,41 +1,59 @@ -using System; +// /* +// Copyright 2008-2011 Alex Robson +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// */ +using System; using Relax.Config; using Relax.Impl.Http; using Relax.Impl.Model; +using Relax.Impl.Serialization; namespace Relax.Impl.Commands { public class SaveAttachmentCommand : BaseCouchCommand { - public virtual CommandResult SaveAttachment(TModel model, string attachmentName, string contentType, byte[] content) + public virtual CommandResult SaveAttachment( TModel model, string attachmentName, string contentType, + byte[] content ) where TModel : IHaveAttachments { try { CreateUri() - .Id(model.GetDocumentIdAsJson()) - .Attachment(attachmentName) - .Revision(model.GetDocumentRevision()); + .Id( model.GetDocumentIdAsJson() ) + .Attachment( attachmentName ) + .Revision( model.GetDocumentRevision() ); - var result = new CommandResult(action.SaveAttachment(Uri, contentType, content)); - model.SetDocumentRevision(result.JsonObject["rev"].ToString()); - model.AddAttachment(attachmentName, contentType, content.LongLength); + var result = new CommandResult( action.SaveAttachment( Uri, contentType, content ) ); + model.SetDocumentRevision( result.JsonObject["rev"].ToString() ); + model.AddAttachment( attachmentName, contentType, content.LongLength ); return result; } - catch (Exception ex) + catch ( Exception ex ) { - throw Exception(ex, - "An exception occurred trying to save an attachment {0} to a document of type {1} with id {2} and rev {3} at {4}. \r\n\t {5}", - attachmentName, - typeof(TModel).FullName, - model.GetDocumentIdAsJson(), - model.GetDocumentRevision(), - Uri.ToString(), - ex); + throw Exception( ex, + "An exception occurred trying to save an attachment {0} to a document of type {1} with id {2} and rev {3} at {4}. \r\n\t {5}", + attachmentName, + typeof( TModel ).FullName, + model.GetDocumentIdAsJson(), + model.GetDocumentRevision(), + Uri.ToString(), + ex ); } } - public SaveAttachmentCommand(IHttpAction action, ICouchConfiguration configuration) : base(action, configuration) + public SaveAttachmentCommand( IHttpAction action, ICouchConfiguration configuration, ISerializationProvider serializer ) + : base( action, configuration, serializer ) { } } diff --git a/src/Relax/Impl/Commands/SaveDocumentCommand.cs b/src/Relax/Impl/Commands/SaveDocumentCommand.cs index 78b6d7e..9e53a54 100644 --- a/src/Relax/Impl/Commands/SaveDocumentCommand.cs +++ b/src/Relax/Impl/Commands/SaveDocumentCommand.cs @@ -1,35 +1,50 @@ -using System; -using System.Linq; +// /* +// Copyright 2008-2011 Alex Robson +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// */ +using System; using Relax.Config; using Relax.Impl.Http; using Relax.Impl.Json; -using Symbiote.Core.Extensions; +using Relax.Impl.Serialization; +using Symbiote.Core.Serialization; namespace Relax.Impl.Commands { - public class SaveDocumentCommand : + public class SaveDocumentCommand : BaseCouchCommand, ISaveDocument { - public virtual CommandResult Save(TModel model) + public virtual CommandResult Save( TModel model ) { var databaseName = configuration.GetDatabaseNameForType(); - return Save(databaseName, model); + return Save( databaseName, model ); } - public virtual CommandResult Save(string databaseName, object model) + public virtual CommandResult Save( string databaseName, object model ) { try { - CreateUri(databaseName) - .Id(model.GetDocumentId()); + CreateUri( databaseName ) + .Id( model.GetDocumentId() ); var body = model.ToJson(); - var result = Put(body); - model.SetDocumentRevision(result.GetResultAs().Revision); + var result = Put( body ); + model.SetDocumentRevision( result.GetResultAs().Revision ); return result; } - catch (Exception ex) + catch ( Exception ex ) { throw Exception( ex, @@ -41,7 +56,7 @@ public virtual CommandResult Save(string databaseName, object model) } } - public SaveDocumentCommand(IHttpAction action, ICouchConfiguration configuration) : base(action, configuration) + public SaveDocumentCommand( IHttpAction action, ICouchConfiguration configuration, ISerializationProvider serializer ) : base( action, configuration, serializer ) { } } diff --git a/src/Relax/Impl/Commands/SaveDocumentGraphCommand.cs b/src/Relax/Impl/Commands/SaveDocumentGraphCommand.cs deleted file mode 100644 index 3883b90..0000000 --- a/src/Relax/Impl/Commands/SaveDocumentGraphCommand.cs +++ /dev/null @@ -1,44 +0,0 @@ -using System; -using Relax.Config; -using Relax.Impl.Http; - -namespace Relax.Impl.Commands -{ - public class SaveDocumentGraphCommand : - BaseSaveDocumentCollection, - ISaveDocument - { - public virtual CommandResult Save(TModel model) - { - var databaseName = configuration.GetDatabaseNameForType(); - return Save(databaseName, model); - } - - public virtual CommandResult Save(string databaseName, object model) - { - try - { - CreateUri(databaseName) - .Id(model.GetDocumentId()); - - var documents = model.GetDocmentsFromGraph(); - var result = Save(documents); - return result; - } - catch (Exception ex) - { - throw Exception( - ex, - "An exception occurred trying to save a document of type {0} at {1}. \r\n\t {2}", - model.GetType().FullName, - Uri.ToString(), - ex - ); - } - } - - public SaveDocumentGraphCommand(IHttpAction action, ICouchConfiguration configuration) : base(action, configuration) - { - } - } -} \ No newline at end of file diff --git a/src/Relax/Impl/Commands/SaveDocumentGraphListCommand.cs b/src/Relax/Impl/Commands/SaveDocumentGraphListCommand.cs deleted file mode 100644 index 774356b..0000000 --- a/src/Relax/Impl/Commands/SaveDocumentGraphListCommand.cs +++ /dev/null @@ -1,31 +0,0 @@ -using System.Collections.Generic; -using Relax.Config; -using Relax.Impl.Http; -using System.Linq; - -namespace Relax.Impl.Commands -{ - public class SaveDocumentGraphListCommand : - BaseSaveDocumentCollection, - ISaveDocuments - { - public virtual CommandResult SaveAll(IEnumerable models) - { - var databaseName = configuration.GetDatabaseNameForType(); - return SaveAll(databaseName, models.Cast()); - } - - public virtual CommandResult SaveAll(string database, IEnumerable models) - { - CreateUri(database) - .BulkInsert(); - - var documents = models.GetDocmentsFromGraph(); - return SaveEnumerable(documents); - } - - public SaveDocumentGraphListCommand(IHttpAction action, ICouchConfiguration configuration) : base(action, configuration) - { - } - } -} \ No newline at end of file diff --git a/src/Relax/Impl/Commands/SaveDocumentListCommand.cs b/src/Relax/Impl/Commands/SaveDocumentListCommand.cs index e67439e..4d0416e 100644 --- a/src/Relax/Impl/Commands/SaveDocumentListCommand.cs +++ b/src/Relax/Impl/Commands/SaveDocumentListCommand.cs @@ -1,29 +1,46 @@ -using System.Collections.Generic; +// /* +// Copyright 2008-2011 Alex Robson +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// */ +using System.Collections.Generic; using System.Linq; using Relax.Config; using Relax.Impl.Http; +using Relax.Impl.Serialization; namespace Relax.Impl.Commands { - public class SaveDocumentListCommand : + public class SaveDocumentListCommand : BaseSaveDocumentCollection, ISaveDocuments { - public virtual CommandResult SaveAll(IEnumerable models) + public virtual CommandResult SaveAll( IEnumerable models ) { var databaseName = configuration.GetDatabaseNameForType(); - return SaveAll(databaseName, models.Cast()); + return SaveAll( databaseName, models.Cast() ); } - public virtual CommandResult SaveAll(string database, IEnumerable models) + public virtual CommandResult SaveAll( string database, IEnumerable models ) { - CreateUri(database) + CreateUri( database ) .BulkInsert(); - return SaveEnumerable(models); + return SaveEnumerable( models ); } - public SaveDocumentListCommand(IHttpAction action, ICouchConfiguration configuration) : base(action, configuration) + public SaveDocumentListCommand( IHttpAction action, ICouchConfiguration configuration, ISerializationProvider serializer ) + : base( action, configuration, serializer ) { } } diff --git a/src/Relax/Impl/Commands/ServerCommand.cs b/src/Relax/Impl/Commands/ServerCommand.cs index b9dcba9..e19bf8e 100644 --- a/src/Relax/Impl/Commands/ServerCommand.cs +++ b/src/Relax/Impl/Commands/ServerCommand.cs @@ -1,12 +1,27 @@ -using System; +// /* +// Copyright 2008-2011 Alex Robson +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// */ +using System; using System.Collections.Generic; using System.Linq; using System.Net; -using System.Text; using Relax.Config; using Relax.Impl.Http; using Relax.Impl.Json; -using Symbiote.Core.Extensions; +using Relax.Impl.Serialization; +using Symbiote.Core.Serialization; namespace Relax.Impl.Commands { @@ -26,44 +41,44 @@ public void CompactDatabase() Post(); } - public void CompactView(string view) + public void CompactView( string view ) { CreateUri() - .CompactView(view); + .CompactView( view ); Post(); } - public void CopyDatabase(CouchUri targetUri) + public void CopyDatabase( CouchUri targetUri ) { try { CreateUri().Replicate(); var sourceUri = configuration.NewUri(); - var request = ReplicationCommand.Once(sourceUri, targetUri); - var body = request.ToJson(false); - Post(body); + var request = ReplicationCommand.Once( sourceUri, targetUri ); + var body = request.ToJson( false ); + Post( body ); } - catch (WebException ex) + catch ( WebException ex ) { //do nothing, it's a timeout - if (!ex.Message.Contains("timed out")) + if ( !ex.Message.Contains( "timed out" ) ) throw; } } - public void CopyDatabase(CouchUri sourceUri, CouchUri targetUri) + public void CopyDatabase( CouchUri sourceUri, CouchUri targetUri ) { try { CreateUri().Replicate(); - var request = ReplicationCommand.Once(sourceUri, targetUri); - var body = request.ToJson(false); - Post(body); + var request = ReplicationCommand.Once( sourceUri, targetUri ); + var body = request.ToJson( false ); + Post( body ); } - catch (WebException ex) + catch ( WebException ex ) { //do nothing, it's a timeout - if (!ex.Message.Contains("timed out")) + if ( !ex.Message.Contains( "timed out" ) ) throw; } } @@ -71,31 +86,32 @@ public void CopyDatabase(CouchUri sourceUri, CouchUri targetUri) public void CreateDatabase() { var database = configuration.GetDatabaseNameForType(); - CreateDatabase(database); + CreateDatabase( database ); } - public void CreateDatabase(string database) + public void CreateDatabase( string database ) { - Uri = configuration.Preauthorize ? - new CouchUri(configuration.User, configuration.Password, configuration.Protocol, configuration.Server, configuration.Port, database) : - new CouchUri(configuration.Protocol, configuration.Server, configuration.Port, database); + Uri = configuration.Preauthorize + ? new CouchUri( configuration.User, configuration.Password, configuration.Protocol, + configuration.Server, configuration.Port, database ) + : new CouchUri( configuration.Protocol, configuration.Server, configuration.Port, database ); Put(); } public bool DatabaseExists() { - return DatabaseExists(configuration.GetDatabaseNameForType()); + return DatabaseExists( configuration.GetDatabaseNameForType() ); } - public bool DatabaseExists(string database) + public bool DatabaseExists( string database ) { try { - Uri = new CouchUri(configuration.Protocol, configuration.Server, configuration.Port, database); - var response = action.Get(Uri); - return !string.IsNullOrEmpty(response) && !response.StartsWith("{\"error\""); + Uri = new CouchUri( configuration.Protocol, configuration.Server, configuration.Port, database ); + var response = action.Get( Uri ); + return !string.IsNullOrEmpty( response ) && !response.StartsWith( "{\"error\"" ); } - catch (Exception ex) + catch ( Exception ex ) { throw Exception( ex, @@ -109,7 +125,7 @@ public bool DatabaseExists(string database) public IList GetDatabaseList() { - CreateUri("_all_dbs"); + CreateUri( "_all_dbs" ); var result = Get(); return result.GetResultAs().ToList(); } @@ -120,25 +136,25 @@ public void DeleteDatabase() Delete(); } - public void Replicate(CouchUri targetUri) + public void Replicate( CouchUri targetUri ) { CreateUri().Replicate(); var sourceUri = configuration.NewUri(); - var request = ReplicationCommand.Continuous(sourceUri, targetUri); - var body = request.ToJson(false); - Post(body); + var request = ReplicationCommand.Continuous( sourceUri, targetUri ); + var body = request.ToJson( false ); + Post( body ); } - public void Replicate(CouchUri sourceUri, CouchUri targetUri) + public void Replicate( CouchUri sourceUri, CouchUri targetUri ) { CreateUri().Replicate(); - var request = ReplicationCommand.Continuous(sourceUri, targetUri); - var body = request.ToJson(false); - Post(body); + var request = ReplicationCommand.Continuous( sourceUri, targetUri ); + var body = request.ToJson( false ); + Post( body ); } - public ServerCommand(IHttpAction action, ICouchConfiguration configuration) : base(action, configuration) + public ServerCommand( IHttpAction action, ICouchConfiguration configuration, ISerializationProvider serializer ) : base( action, configuration, serializer ) { } } -} +} \ No newline at end of file diff --git a/src/Relax/Impl/Commands/ViewQuery.cs b/src/Relax/Impl/Commands/ViewQuery.cs index adff4a3..b708ff2 100644 --- a/src/Relax/Impl/Commands/ViewQuery.cs +++ b/src/Relax/Impl/Commands/ViewQuery.cs @@ -1,4 +1,19 @@ -using Relax.Impl.Http; +// /* +// Copyright 2008-2011 Alex Robson +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// */ +using Relax.Impl.Http; namespace Relax.Impl.Commands { @@ -18,21 +33,21 @@ public ViewQuery DescendingOrder() return this; } - public ViewQuery EndingWith(TKey key) + public ViewQuery EndingWith( TKey key ) { - _uri.EndKey(key); + _uri.EndKey( key ); return this; } - + public ViewQuery Group() { _uri.Group(); return this; } - public ViewQuery Group(int groupLevel) + public ViewQuery Group( int groupLevel ) { - _uri.Group(groupLevel); + _uri.Group( groupLevel ); return this; } @@ -42,9 +57,9 @@ public ViewQuery UseDocumentsInsteadOfValue() return this; } - public ViewQuery LimitTo(int count) + public ViewQuery LimitTo( int count ) { - _uri.Limit(count); + _uri.Limit( count ); return this; } @@ -54,40 +69,40 @@ public ViewQuery NoReduce() return this; } - public ViewQuery PagedBy(int pageNumber, int pageSize) + public ViewQuery PagedBy( int pageNumber, int pageSize ) { - int number = (pageNumber - 1) * pageSize; - _uri.Skip(number < 0 ? 0 : number).Limit(pageSize); + int number = (pageNumber - 1)*pageSize; + _uri.Skip( number < 0 ? 0 : number ).Limit( pageSize ); return this; } - public ViewQuery Skip(int count) + public ViewQuery Skip( int count ) { - _uri.Skip(count); + _uri.Skip( count ); return this; } - public ViewQuery StartingWith(TKey key) + public ViewQuery StartingWith( TKey key ) { - _uri.StartKey(key); + _uri.StartKey( key ); return this; } - public ViewQuery WithKey(TKey key) + public ViewQuery WithKey( TKey key ) { - _uri.Key(key); + _uri.Key( key ); return this; } - public ViewQuery WithKeyAndRevision(TKey key, TRev revision) + public ViewQuery WithKeyAndRevision( TKey key, TRev revision ) { - _uri.KeyAndRev(key, revision); + _uri.KeyAndRev( key, revision ); return this; } - - public ViewQuery(CouchUri uri) + + public ViewQuery( CouchUri uri ) { _uri = uri; } } -} +} \ No newline at end of file diff --git a/src/Relax/Impl/CouchDbServer.cs b/src/Relax/Impl/CouchDbServer.cs index 68f09fb..e4782a1 100644 --- a/src/Relax/Impl/CouchDbServer.cs +++ b/src/Relax/Impl/CouchDbServer.cs @@ -1,9 +1,21 @@ -using System; +// /* +// Copyright 2008-2011 Alex Robson +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// */ using System.Collections.Generic; using Relax.Impl.Commands; using Relax.Impl.Http; -using Symbiote.Core.Extensions; - namespace Relax.Impl { @@ -24,22 +36,22 @@ public void CompactDatabase() command.CompactDatabase(); } - public void CompactView(string testview) + public void CompactView( string testview ) { var command = commandFactory.CreateServerCommand(); - command.CompactView(testview); + command.CompactView( testview ); } - public void CopyDatabase(CouchUri targetUri) + public void CopyDatabase( CouchUri targetUri ) { var command = commandFactory.CreateServerCommand(); - command.CopyDatabase(targetUri); + command.CopyDatabase( targetUri ); } - public void CopyDatabase(CouchUri sourceUri, CouchUri targetUri) + public void CopyDatabase( CouchUri sourceUri, CouchUri targetUri ) { var command = commandFactory.CreateServerCommand(); - command.CopyDatabase(sourceUri, targetUri); + command.CopyDatabase( sourceUri, targetUri ); } public void CreateDatabase() @@ -69,22 +81,16 @@ public virtual void DeleteDatabase() command.DeleteDatabase(); } - public void Replicate(CouchUri targetUri) + public void Replicate( CouchUri targetUri ) { var command = commandFactory.CreateServerCommand(); - command.Replicate(targetUri); + command.Replicate( targetUri ); } - public void Replicate(CouchUri sourceUri, CouchUri targetUri) + public void Replicate( CouchUri sourceUri, CouchUri targetUri ) { var command = commandFactory.CreateServerCommand(); - command.Replicate(sourceUri, targetUri); - } - - public CouchDbServer(IDocumentRepository repository, CouchCommandFactory commandFactory) - { - this.commandFactory = commandFactory; - this.repository = repository; + command.Replicate( sourceUri, targetUri ); } public IDocumentRepository Repository @@ -94,7 +100,13 @@ public IDocumentRepository Repository public void Dispose() { - repository.Dispose(); + repository.Dispose(); + } + + public CouchDbServer( IDocumentRepository repository, CouchCommandFactory commandFactory ) + { + this.commandFactory = commandFactory; + this.repository = repository; } } } \ No newline at end of file diff --git a/src/Relax/Impl/CouchProxy.cs b/src/Relax/Impl/CouchProxy.cs new file mode 100644 index 0000000..0bd348e --- /dev/null +++ b/src/Relax/Impl/CouchProxy.cs @@ -0,0 +1,51 @@ +using System.Collections.Generic; +using Symbiote.Core; +using Symbiote.Core.Persistence; + +namespace Relax.Impl { + + /// + /// This class provides generic abstractions that Symbiote's + /// Actor system requires in order to handle caching and + /// persistence concerns. Not recommended for use outside + /// of this use case unless you truly understand the + /// underlying calls this makes to the IRedisClient API + /// + public class CouchProxy : + IKeyValueStore, + IRepository + { + public IKeyAccessor KeyAccessor { get; set; } + public IDocumentRepository Repository { get; set; } + + public bool Delete( string key ) + { + return Repository.DeleteDocument( key ); + } + + public T Get( string key ) + { + return Repository.Get( key ); + } + + public IEnumerable GetAll() + { + return Repository.GetAll(); + } + + public bool Persist( string key, T instance ) + { + return Repository.Save( key, instance ); + } + + public bool Delete( T instance ) where T : class + { + return Repository.DeleteDocument( KeyAccessor.GetId( instance ) ); + } + + public bool Persist( T instance ) where T : class + { + return Repository.Save( KeyAccessor.GetId(instance), instance ); + } + } +} diff --git a/src/Relax/Impl/CouchUtility.cs b/src/Relax/Impl/CouchUtility.cs index 6897cde..d4213b8 100644 --- a/src/Relax/Impl/CouchUtility.cs +++ b/src/Relax/Impl/CouchUtility.cs @@ -1,42 +1,56 @@ -using System; +// /* +// Copyright 2008-2011 Alex Robson +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// */ +using System; using System.Collections.Concurrent; using System.Net; using Relax.Config; using Relax.Impl.Commands; using Relax.Impl.Http; -using Relax.Impl.Json; +using Relax.Impl.Serialization; using Symbiote.Core.Extensions; -using Relax.Impl; namespace Relax.Impl { public class CouchUtility { + protected ConcurrentDictionary _databaseExists = new ConcurrentDictionary(); protected ICouchConfiguration configuration { get; set; } protected CouchCommandFactory commandFactory { get; set; } - protected ConcurrentDictionary _databaseExists = new ConcurrentDictionary(); public virtual void EnsureDatabaseExists() { var database = configuration.GetDatabaseNameForType(); - EnsureDatabaseExists(database); + EnsureDatabaseExists( database ); } public virtual void CreateDatabase() { var database = configuration.GetDatabaseNameForType(); - CreateDatabase(database); + CreateDatabase( database ); } public virtual bool DatabaseExists() { var database = configuration.GetDatabaseNameForType(); - return DatabaseExists(database); + return DatabaseExists( database ); } - public virtual void EnsureDatabaseExists(string database) + public virtual void EnsureDatabaseExists( string database ) { - if (string.IsNullOrEmpty(database)) + if ( string.IsNullOrEmpty( database ) ) return; var dbCreated = false; @@ -44,47 +58,46 @@ public virtual void EnsureDatabaseExists(string database) ServerCommand command = null; try { - shouldCheckCouch = !_databaseExists.TryGetValue(database, out dbCreated); - if (shouldCheckCouch && !dbCreated) + shouldCheckCouch = !_databaseExists.TryGetValue( database, out dbCreated ); + if ( shouldCheckCouch && !dbCreated ) { command = commandFactory.CreateServerCommand(); - command.CreateDatabase(database); + command.CreateDatabase( database ); _databaseExists[database] = true; } } - catch (WebException webEx) + catch ( WebException webEx ) { - if (webEx.Message.Contains("(412) Precondition Failed")) + if ( webEx.Message.Contains( "(412) Precondition Failed" ) ) { _databaseExists[database] = true; } else { "An exception occurred while trying to check for the existence of database {0} at uri {1}. \r\n\t {2}" - .ToError(database, command.Uri, webEx); + .ToError( database, command.Uri, webEx ); throw; } - } - catch (Exception ex) + catch ( Exception ex ) { "An exception occurred while trying to check for the existence of database {0} at uri {1}. \r\n\t {2}" - .ToError(database, command.Uri, ex); + .ToError( database, command.Uri, ex ); throw; } } - public virtual void CreateDatabase(string database) + public virtual void CreateDatabase( string database ) { var command = commandFactory.CreateServerCommand(); - command.CreateDatabase(database); + command.CreateDatabase( database ); _databaseExists[database] = true; } - public virtual bool DatabaseExists(string database) + public virtual bool DatabaseExists( string database ) { var command = commandFactory.CreateServerCommand(); - var exists = command.DatabaseExists(database); + var exists = command.DatabaseExists( database ); _databaseExists[command.Uri.DatabaseName] = exists; return exists; } @@ -92,41 +105,41 @@ public virtual bool DatabaseExists(string database) public virtual CouchUri NewUri() { var uri = configuration.Preauthorize - ? CouchUri.Build( - configuration.User, - configuration.Password, - configuration.Protocol, - configuration.Server, - configuration.Port) - : CouchUri.Build( - configuration.Protocol, - configuration.Server, - configuration.Port); + ? CouchUri.Build( + configuration.User, + configuration.Password, + configuration.Protocol, + configuration.Server, + configuration.Port ) + : CouchUri.Build( + configuration.Protocol, + configuration.Server, + configuration.Port ); return uri; } - + public virtual CouchUri NewUri() { var database = configuration.GetDatabaseNameForType(); - return NewUri(database); + return NewUri( database ); } - - public virtual CouchUri NewUri(string database) + + public virtual CouchUri NewUri( string database ) { - var uri = configuration.Preauthorize ? - CouchUri.Build( - configuration.User, - configuration.Password, - configuration.Protocol, - configuration.Server, - configuration.Port, - database) - : CouchUri.Build( - configuration.Protocol, - configuration.Server, - configuration.Port, - database); - EnsureDatabaseExists(database); + var uri = configuration.Preauthorize + ? CouchUri.Build( + configuration.User, + configuration.Password, + configuration.Protocol, + configuration.Server, + configuration.Port, + database ) + : CouchUri.Build( + configuration.Protocol, + configuration.Server, + configuration.Port, + database ); + EnsureDatabaseExists( database ); return uri; } @@ -135,10 +148,10 @@ public virtual string GetDatabaseForType() return configuration.GetDatabaseNameForType(); } - public CouchUtility(ICouchConfiguration couchConfiguration) + public CouchUtility( ICouchConfiguration couchConfiguration, ISerializationProvider serializer ) { configuration = couchConfiguration; - commandFactory = new CouchCommandFactory(couchConfiguration); + commandFactory = new CouchCommandFactory( couchConfiguration, serializer ); } } } \ No newline at end of file diff --git a/src/Relax/Impl/DocumentHierarchyWatcher.cs b/src/Relax/Impl/DocumentHierarchyWatcher.cs deleted file mode 100644 index 3274a4e..0000000 --- a/src/Relax/Impl/DocumentHierarchyWatcher.cs +++ /dev/null @@ -1,47 +0,0 @@ -using System; -using System.Collections.Generic; -using Relax.Impl.Model; - -namespace Relax.Impl -{ - public class DocumentHierarchyWatcher : IObserver> - { - public List Documents { get; set; } - public bool Done { get; set; } - - public void OnNext(Tuple value) - { - var parent = value.Item1 as BaseDocument; - var child = value.Item3 as BaseDocument; - var property = value.Item2; - - if(parent != null) - { - var childIdArray = new object[] {}; - var childIds = new List() { child.GetDocumentIdAsJson() }; - if(parent.RelatedDocumentIds.TryGetValue(property, out childIdArray)) - { - childIds.AddRange(childIdArray); - } - parent.RelatedDocumentIds[property] = childIds.ToArray(); - child.ParentId = parent.GetDocumentIdAsJson(); - } - Documents.Add(child); - } - - public void OnError(Exception error) - { - - } - - public void OnCompleted() - { - Done = true; - } - - public DocumentHierarchyWatcher() - { - Documents = new List(); - } - } -} \ No newline at end of file diff --git a/src/Relax/Impl/DocumentUtility.cs b/src/Relax/Impl/DocumentUtility.cs index 2e60684..019bc40 100644 --- a/src/Relax/Impl/DocumentUtility.cs +++ b/src/Relax/Impl/DocumentUtility.cs @@ -1,101 +1,98 @@ -using System.Collections; -using System.Collections.Generic; -using System.Linq; +// /* +// Copyright 2008-2011 Alex Robson +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// */ using Relax.Config; using Relax.Impl.Model; -using Symbiote.Core.Reflection; -using Symbiote.Core.Utility; -using JsonExtensions = Symbiote.Core.Extensions.JsonExtensions; +using Relax.Impl.Serialization; +using Symbiote.Core; namespace Relax.Impl { public class DocumentUtility { protected ICouchConfiguration configuration { get; set; } + protected IKeyAccessor KeyAccessor { get; set; } + protected IProvideDocumentMetadata MetadataProvider { get; set; } - public virtual string GetDocumentIdAsJson(object instance) + public virtual string GetDocumentIdAsJson( object instance ) { var doc = instance as IHaveDocumentId; - if (doc != null) + if ( doc != null ) { return doc.GetDocumentIdAsJson(); } else { - return JsonExtensions.ToJson(Reflector.ReadMember(instance, configuration.Conventions.IdPropertyName), false); + return KeyAccessor.GetId( instance, instance.GetType() ); } } - public virtual object GetDocumentId(object instance) + public virtual object GetDocumentId( object instance ) { var doc = instance as IHaveDocumentId; - if (doc != null) + if ( doc != null ) { return doc.GetDocumentId(); } else { - return Reflector.ReadMember(instance, configuration.Conventions.IdPropertyName); + return KeyAccessor.GetId( instance, instance.GetType() ); } } - public virtual string GetDocumentRevision(object instance) + public virtual string GetDocumentRevision( object instance ) { var doc = instance as IHaveDocumentRevision; - if (doc != null) + if ( doc != null ) { return doc.DocumentRevision; } else { - var documentRevision = Reflector.ReadMember(instance, configuration.Conventions.RevisionPropertyName).ToString(); - return string.IsNullOrEmpty(documentRevision) ? null : documentRevision; + var key = KeyAccessor.GetId( instance, instance.GetType() ); + var metadata = MetadataProvider.GetMetadata( key ); + return metadata == null ? null : metadata._rev; } } - public virtual void SetDocumentRevision(string revision, object instance) + public virtual void SetDocumentRevision( string revision, object instance ) { var doc = instance as IHaveDocumentRevision; - if (doc != null) + if ( doc != null ) { - doc.UpdateRevFromJson(revision); + doc.UpdateRevFromJson( revision ); } else { - Reflector.WriteMember(instance, configuration.Conventions.RevisionPropertyName, revision); + var key = KeyAccessor.GetId( instance, instance.GetType() ); + var metadata = MetadataProvider.GetMetadata( key ) ?? + new DocumentMetadata() { _id = key, _rev = revision }; + MetadataProvider.SetMetadata( key, metadata ); } } - public virtual object[] GetDocumentGraph(object model) + public virtual bool IsDocument( object instance ) { - object[] documentArray = new object[] { }; - List original = new List(); - if (model as IEnumerable != null) - { - original.AddRange((model as IEnumerable).Cast()); - } - else - { - original.Add(model); - } - - var watcher = new DocumentHierarchyWatcher(); - var visitor = new HierarchyVisitor(IsDocument); - visitor.Subscribe(watcher); - visitor.Visit(model); - documentArray = watcher.Documents.ToArray(); - - return documentArray.Length == 0 ? original.ToArray() : documentArray; - } - - public virtual bool IsDocument(object instance) - { - return instance.GetType().GetInterface("ICouchDocument`1") != null; + return instance.GetType().GetInterface( "ICouchDocument`1" ) != null; } - public DocumentUtility(ICouchConfiguration couchConfiguration) + public DocumentUtility( ICouchConfiguration couchConfiguration, IKeyAccessor keyAccessor, IProvideDocumentMetadata metadataProvider ) { - this.configuration = couchConfiguration; + configuration = couchConfiguration; + KeyAccessor = keyAccessor; + MetadataProvider = metadataProvider; } } } \ No newline at end of file diff --git a/src/Relax/Impl/Feed.cs b/src/Relax/Impl/Feed.cs index f13bf52..8b4fad5 100644 --- a/src/Relax/Impl/Feed.cs +++ b/src/Relax/Impl/Feed.cs @@ -1,3 +1,18 @@ +// /* +// Copyright 2008-2011 Alex Robson +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// */ namespace Relax.Impl { public enum Feed diff --git a/src/Relax/Impl/Http/CouchURI.cs b/src/Relax/Impl/Http/CouchURI.cs index df7fdfa..948ac0b 100644 --- a/src/Relax/Impl/Http/CouchURI.cs +++ b/src/Relax/Impl/Http/CouchURI.cs @@ -1,126 +1,146 @@ +// /* +// Copyright 2008-2011 Alex Robson +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// */ using System; -using System.Net; -using System.Security.Policy; using System.Text; using System.Web; using Relax.Impl.Json; using Symbiote.Core.Extensions; +using Symbiote.Core.Serialization; namespace Relax.Impl.Http { public class CouchUri : ICloneable { private StringBuilder _builder = new StringBuilder(); - private bool _hasArguments = false; + private bool _hasArguments; private JsonUrlEncoder encoder = new JsonUrlEncoder(); public string DatabaseName { get; set; } - public static CouchUri Build(string prefix, string server, int port, string database) + public object Clone() { - return new CouchUri(prefix, server, port, database); + return new CouchUri( ToString(), _hasArguments ); } - public static CouchUri Build(string user, string password, string prefix, string server, int port, string database) + public static CouchUri Build( string prefix, string server, int port, string database ) { - return new CouchUri(user, password, prefix, server, port, database); + return new CouchUri( prefix, server, port, database ); } - public static CouchUri Build(string prefix, string server, int port) + public static CouchUri Build( string user, string password, string prefix, string server, int port, + string database ) { - return new CouchUri(prefix, server, port); + return new CouchUri( user, password, prefix, server, port, database ); } - public static CouchUri Build(string user, string password, string prefix, string server, int port) + public static CouchUri Build( string prefix, string server, int port ) { - return new CouchUri(user, password, prefix, server, port); + return new CouchUri( prefix, server, port ); } - public virtual CouchUri Attachment(string attachmentName) + public static CouchUri Build( string user, string password, string prefix, string server, int port ) { - _builder.AppendFormat("/{0}", attachmentName); + return new CouchUri( user, password, prefix, server, port ); + } + + public virtual CouchUri Attachment( string attachmentName ) + { + _builder.AppendFormat( "/{0}", attachmentName ); return this; } public virtual CouchUri BulkInsert() { - _builder.Append("/_bulk_docs"); + _builder.Append( "/_bulk_docs" ); return this; } - public virtual CouchUri ByRange(TKey start, TKey end) + public virtual CouchUri ByRange( TKey start, TKey end ) { - var startKey = start.ToJson(false); - var endKey = end.ToJson(false); + var startKey = start.ToJson( false ); + var endKey = end.ToJson( false ); - _builder.AppendFormat("{0}startkey={1}&endkey={2}", - _hasArguments ? "&" : "?", - startKey, - endKey); + _builder.AppendFormat( "{0}startkey={1}&endkey={2}", + _hasArguments ? "&" : "?", + startKey, + endKey ); - if (!_hasArguments) + if ( !_hasArguments ) _hasArguments = true; return this; } - public virtual CouchUri Changes(Feed feed, int since) + public virtual CouchUri Changes( Feed feed, int since ) { - _builder.Append("/_changes"); + _builder.Append( "/_changes" ); - if (feed != Feed.Simple) + if ( feed != Feed.Simple ) { - _builder.AppendFormat("?feed={0}", - feed == Feed.Continuous - ? "continuous" - : "longpoll"); + _builder.AppendFormat( "?feed={0}", + feed == Feed.Continuous + ? "continuous" + : "longpoll" ); } - _builder.AppendFormat("&since={0}", since); + _builder.AppendFormat( "&since={0}", since ); _hasArguments = true; return this; } public virtual CouchUri CleanupViews() { - _builder.Append("/_view_cleanup"); + _builder.Append( "/_view_cleanup" ); return this; } public virtual CouchUri Compact() { - _builder.Append("/_compact"); + _builder.Append( "/_compact" ); return this; } - public virtual CouchUri CompactView(string designDocument) + public virtual CouchUri CompactView( string designDocument ) { - _builder.Append("/_compact/{0}".AsFormat(designDocument)); + _builder.Append( "/_compact/{0}".AsFormat( designDocument ) ); return this; } public virtual CouchUri Descending() { - _builder.AppendFormat("{0}descending=true", - _hasArguments ? "&" : "?"); + _builder.AppendFormat( "{0}descending=true", + _hasArguments ? "&" : "?" ); - if (!_hasArguments) + if ( !_hasArguments ) _hasArguments = true; return this; } - public virtual CouchUri Design(string designDocumentName) + public virtual CouchUri Design( string designDocumentName ) { - _builder.AppendFormat("/_design/{0}", designDocumentName); + _builder.AppendFormat( "/_design/{0}", designDocumentName ); return this; } - public virtual CouchUri Format(string format) + public virtual CouchUri Format( string format ) { - _builder.AppendFormat("{0}format={1}", - _hasArguments ? "&" : "?", format); + _builder.AppendFormat( "{0}format={1}", + _hasArguments ? "&" : "?", format ); - if (!_hasArguments) + if ( !_hasArguments ) _hasArguments = true; return this; @@ -128,11 +148,11 @@ public virtual CouchUri Format(string format) public virtual CouchUri IncludeDocuments() { - _builder.AppendFormat("{0}include_docs=true", _hasArguments - ? "&" - : "?"); + _builder.AppendFormat( "{0}include_docs=true", _hasArguments + ? "&" + : "?" ); - if (!_hasArguments) + if ( !_hasArguments ) _hasArguments = true; return this; @@ -140,56 +160,56 @@ public virtual CouchUri IncludeDocuments() public virtual CouchUri NonInclusiveRange() { - _builder.AppendFormat("{0}inclusive_end=false", - _hasArguments ? "&" : "?"); + _builder.AppendFormat( "{0}inclusive_end=false", + _hasArguments ? "&" : "?" ); - if (!_hasArguments) + if ( !_hasArguments ) _hasArguments = true; return this; } - public virtual CouchUri Id(TKey key) + public virtual CouchUri Id( TKey key ) { - _builder.AppendFormat("/{0}", key.ToString().TrimStart('"').TrimEnd('"')); + _builder.AppendFormat( "/{0}", key.ToString().TrimStart( '"' ).TrimEnd( '"' ) ); return this; } - public virtual CouchUri IdAndRev(TKey key, TRev rev) + public virtual CouchUri IdAndRev( TKey key, TRev rev ) { - if (!_hasArguments) + if ( !_hasArguments ) _hasArguments = true; - _builder.AppendFormat("/{0}?rev={1}", - key.ToString().TrimStart('"').TrimEnd('"'), - rev.ToString().TrimStart('"').TrimEnd('"')); + _builder.AppendFormat( "/{0}?rev={1}", + key.ToString().TrimStart( '"' ).TrimEnd( '"' ), + rev.ToString().TrimStart( '"' ).TrimEnd( '"' ) ); return this; } - public virtual CouchUri Key(TKey key) + public virtual CouchUri Key( TKey key ) { - var json = encoder.Encode(key.ToJson(false)); + var json = encoder.Encode( key.ToJson( false ) ); - _builder.AppendFormat("{0}key={1}", - _hasArguments ? "&" : "?", - json); + _builder.AppendFormat( "{0}key={1}", + _hasArguments ? "&" : "?", + json ); - if (!_hasArguments) + if ( !_hasArguments ) _hasArguments = true; return this; } - public virtual CouchUri KeyAndRev(TKey key, TRev rev) + public virtual CouchUri KeyAndRev( TKey key, TRev rev ) { - var json = encoder.Encode(key.ToJson(false)); - _builder.AppendFormat("{0}key={1}&rev={2}", - _hasArguments ? "&" : "?", - json, - rev); + var json = encoder.Encode( key.ToJson( false ) ); + _builder.AppendFormat( "{0}key={1}&rev={2}", + _hasArguments ? "&" : "?", + json, + rev ); - if (!_hasArguments) + if ( !_hasArguments ) _hasArguments = true; return this; @@ -197,49 +217,49 @@ public virtual CouchUri Key(TKey key) public virtual CouchUri Group() { - return Group(1); + return Group( 1 ); } - public virtual CouchUri Group(int groupLevel) + public virtual CouchUri Group( int groupLevel ) { - _builder.AppendFormat("{0}group=true&group_level={1}", - _hasArguments ? "&" : "?", groupLevel); + _builder.AppendFormat( "{0}group=true&group_level={1}", + _hasArguments ? "&" : "?", groupLevel ); - if (!_hasArguments) + if ( !_hasArguments ) _hasArguments = true; return this; } - public virtual CouchUri Limit(int limit) + public virtual CouchUri Limit( int limit ) { - _builder.AppendFormat("{0}limit={1}", - _hasArguments ? "&" : "?", limit); + _builder.AppendFormat( "{0}limit={1}", + _hasArguments ? "&" : "?", limit ); - if (!_hasArguments) + if ( !_hasArguments ) _hasArguments = true; return this; } - public virtual CouchUri List(string listName) + public virtual CouchUri List( string listName ) { - _builder.AppendFormat("/_list/{0}", listName); + _builder.AppendFormat( "/_list/{0}", listName ); return this; } public virtual CouchUri ListAll() { - _builder.Append("/_all_docs"); + _builder.Append( "/_all_docs" ); return this; } public virtual CouchUri NoReduce() { - _builder.AppendFormat("{0}reduce=false", - _hasArguments ? "&" : "?"); + _builder.AppendFormat( "{0}reduce=false", + _hasArguments ? "&" : "?" ); - if (!_hasArguments) + if ( !_hasArguments ) _hasArguments = true; return this; @@ -247,52 +267,52 @@ public virtual CouchUri NoReduce() public virtual CouchUri Replicate() { - _builder.Append("/_replicate"); + _builder.Append( "/_replicate" ); return this; } - public virtual CouchUri Revision(TRev revision) + public virtual CouchUri Revision( TRev revision ) { - _builder.AppendFormat("{0}rev={1}", - _hasArguments ? "&" : "?", revision.ToString().TrimStart('"').TrimEnd('"')); - if (!_hasArguments) + _builder.AppendFormat( "{0}rev={1}", + _hasArguments ? "&" : "?", revision.ToString().TrimStart( '"' ).TrimEnd( '"' ) ); + if ( !_hasArguments ) _hasArguments = true; return this; } - public virtual CouchUri StartKey(TKey start) + public virtual CouchUri StartKey( TKey start ) { - var json = encoder.Encode(start.ToJson(false)); - _builder.AppendFormat("{0}startkey={1}", - _hasArguments ? "&" : "?", - json); + var json = encoder.Encode( start.ToJson( false ) ); + _builder.AppendFormat( "{0}startkey={1}", + _hasArguments ? "&" : "?", + json ); - if (!_hasArguments) + if ( !_hasArguments ) _hasArguments = true; return this; } - public virtual CouchUri EndKey(TKey end) + public virtual CouchUri EndKey( TKey end ) { - var json = encoder.Encode(end.ToJson(false)); - _builder.AppendFormat("{0}endkey={1}", - _hasArguments ? "&" : "?", - json); + var json = encoder.Encode( end.ToJson( false ) ); + _builder.AppendFormat( "{0}endkey={1}", + _hasArguments ? "&" : "?", + json ); - if (!_hasArguments) + if ( !_hasArguments ) _hasArguments = true; return this; } - public virtual CouchUri Skip(int number) + public virtual CouchUri Skip( int number ) { - _builder.AppendFormat("{0}skip={1}", - _hasArguments ? "&" : "?", number); + _builder.AppendFormat( "{0}skip={1}", + _hasArguments ? "&" : "?", number ); - if (!_hasArguments) + if ( !_hasArguments ) _hasArguments = true; return this; @@ -300,78 +320,73 @@ public virtual CouchUri Skip(int number) public virtual CouchUri StaleOk() { - _builder.AppendFormat("{0}stale=ok", - _hasArguments ? "&" : "?"); + _builder.AppendFormat( "{0}stale=ok", + _hasArguments ? "&" : "?" ); - if (!_hasArguments) + if ( !_hasArguments ) _hasArguments = true; return this; } - public virtual CouchUri View(string viewName) + public virtual CouchUri View( string viewName ) { - _builder.AppendFormat("/_view/{0}", viewName); + _builder.AppendFormat( "/_view/{0}", viewName ); return this; } - public CouchUri(string prefix, string server, int port, string database) + public override string ToString() + { + return _builder.ToString(); + } + + public CouchUri( string prefix, string server, int port, string database ) { DatabaseName = database; _builder - .AppendFormat(@"{0}://{1}:{2}/{3}", prefix, server, port, database); + .AppendFormat( @"{0}://{1}:{2}/{3}", prefix, server, port, database ); } - public CouchUri(string prefix, string server, int port) + public CouchUri( string prefix, string server, int port ) { _builder - .AppendFormat(@"{0}://{1}:{2}", prefix, server, port); + .AppendFormat( @"{0}://{1}:{2}", prefix, server, port ); } - public CouchUri(string user, string password, string prefix, string server, int port) + public CouchUri( string user, string password, string prefix, string server, int port ) { - user = HttpUtility.UrlEncode(user); - password = HttpUtility.UrlEncode(password); + user = HttpUtility.UrlEncode( user ); + password = HttpUtility.UrlEncode( password ); _builder - .AppendFormat(@"{0}://{1}:{2}@{3}:{4}", - prefix, - user, - password, - server, - port); + .AppendFormat( @"{0}://{1}:{2}@{3}:{4}", + prefix, + user, + password, + server, + port ); } - public CouchUri(string user, string password, string prefix, string server, int port, string database) + public CouchUri( string user, string password, string prefix, string server, int port, string database ) { - user = HttpUtility.UrlEncode(user); - password = HttpUtility.UrlEncode(password); + user = HttpUtility.UrlEncode( user ); + password = HttpUtility.UrlEncode( password ); DatabaseName = database; _builder - .AppendFormat(@"{0}://{1}:{2}@{3}:{4}/{5}", - prefix, - user, - password, - server, - port, - database); + .AppendFormat( @"{0}://{1}:{2}@{3}:{4}/{5}", + prefix, + user, + password, + server, + port, + database ); } - protected CouchUri(string content, bool hasArgs) + protected CouchUri( string content, bool hasArgs ) { - _builder.Append(content); + _builder.Append( content ); _hasArguments = hasArgs; } - - public object Clone() - { - return new CouchUri(ToString(), _hasArguments); - } - - public override string ToString() - { - return _builder.ToString(); - } } } \ No newline at end of file diff --git a/src/Relax/Impl/Http/HttpAction.cs b/src/Relax/Impl/Http/HttpAction.cs index d3ed5d4..af0f6b2 100644 --- a/src/Relax/Impl/Http/HttpAction.cs +++ b/src/Relax/Impl/Http/HttpAction.cs @@ -1,39 +1,55 @@ -using System; +// /* +// Copyright 2008-2011 Alex Robson +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// */ +using System; using System.IO; using System.Net; using System.Text; using Relax.Config; using Symbiote.Core.Extensions; +using Symbiote.Core.Serialization; namespace Relax.Impl.Http { public class HttpAction : IHttpAction { + protected bool _pollForChanges; protected ICouchConfiguration configuration { get; set; } - protected bool _pollForChanges = false; - public virtual string GetResponse(CouchUri uri, string method, string body) + public virtual string GetResponse( CouchUri uri, string method, string body ) { - var request = WebRequest.Create(uri.ToString()); + var request = WebRequest.Create( uri.ToString() ); request.Method = method; request.Timeout = configuration.TimeOut; //request.PreAuthenticate = configuration.Preauthorize; - if (!string.IsNullOrEmpty(body)) + if ( !string.IsNullOrEmpty( body ) ) { - var bytes = UTF8Encoding.UTF8.GetBytes(body); + var bytes = Encoding.UTF8.GetBytes( body ); request.ContentType = "application/json; charset=utf-8"; request.ContentLength = bytes.Length; var writer = request.GetRequestStream(); - writer.Write(bytes, 0, bytes.Length); + writer.Write( bytes, 0, bytes.Length ); writer.Close(); } var result = ""; var response = request.GetResponse(); - using (var reader = new StreamReader(response.GetResponseStream())) + using( var reader = new StreamReader( response.GetResponseStream() ) ) { result = reader.ReadToEnd(); response.Close(); @@ -42,11 +58,11 @@ public virtual string GetResponse(CouchUri uri, string method, string body) return result; } - public virtual void GetContinuousResponse(CouchUri uri, int since, Action callback) + public virtual void GetContinuousResponse( CouchUri uri, int since, Action callback ) { var baseUri = uri.Clone() as CouchUri; - uri = uri.Changes(Feed.Continuous, since); - var request = WebRequest.Create(uri.ToString()); + uri = uri.Changes( Feed.Continuous, since ); + var request = WebRequest.Create( uri.ToString() ); request.Method = "GET"; request.Timeout = int.MaxValue; request.PreAuthenticate = configuration.Preauthorize; @@ -57,25 +73,25 @@ public virtual void GetContinuousResponse(CouchUri uri, int since, Action(); - change.Document = GetResponse(changeUri.Id(change.Id), "GET", ""); - callback.BeginInvoke(uri.DatabaseName, change, null, null); + change.Document = GetResponse( changeUri.Id( change.Id ), "GET", "" ); + callback.BeginInvoke( uri.DatabaseName, change, null, null ); } } } } - catch (Exception ex) + catch ( Exception ex ) { "An exception occurred while receiving the change stream from {0}. \r\n\t {1}" - .ToError(uri.ToString(), ex); + .ToError( uri.ToString(), ex ); throw; } finally @@ -84,24 +100,24 @@ public virtual void GetContinuousResponse(CouchUri uri, int since, Action GetAttachment(CouchUri uri) + public virtual Tuple GetAttachment( CouchUri uri ) { - var request = WebRequest.Create(uri.ToString()); + var request = WebRequest.Create( uri.ToString() ); request.Method = "GET"; request.Timeout = configuration.TimeOut; var response = request.GetResponse(); int bytesRead = 0; var memoryStream = new MemoryStream(); - - using(var stream = response.GetResponseStream()) + + using( var stream = response.GetResponseStream() ) { - stream.CopyTo(memoryStream); + stream.CopyTo( memoryStream ); } memoryStream.Position = 0; var result = Tuple.Create( - response.ContentType, + response.ContentType, memoryStream.ToArray() ); @@ -110,13 +126,13 @@ public virtual void GetContinuousResponse(CouchUri uri, int since, Action GetAttachment(CouchUri uri); - string SaveAttachment(CouchUri uri, string type, byte[] content); - void GetContinuousResponse(CouchUri uri, int since, Action callback); + string GetResponse( CouchUri uri, string method, string body ); + Tuple GetAttachment( CouchUri uri ); + string SaveAttachment( CouchUri uri, string type, byte[] content ); + void GetContinuousResponse( CouchUri uri, int since, Action callback ); void StopContinousResponse(); - string Post(CouchUri uri); - string Post(CouchUri uri, string body); - string Put(CouchUri uri); - string Put(CouchUri uri, string body); - string Get(CouchUri uri); - string Delete(CouchUri uri); + string Post( CouchUri uri ); + string Post( CouchUri uri, string body ); + string Put( CouchUri uri ); + string Put( CouchUri uri, string body ); + string Get( CouchUri uri ); + string Delete( CouchUri uri ); } } \ No newline at end of file diff --git a/src/Relax/Impl/IDocumentSearchProvider.cs b/src/Relax/Impl/IDocumentSearchProvider.cs index bb4c218..c20b704 100644 --- a/src/Relax/Impl/IDocumentSearchProvider.cs +++ b/src/Relax/Impl/IDocumentSearchProvider.cs @@ -1,13 +1,25 @@ -using System; -using System.Collections.Generic; -using System.Linq; +// /* +// Copyright 2008-2011 Alex Robson +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// */ +using System; using System.Linq.Expressions; -using System.Text; namespace Relax.Impl { public interface IDocumentSearchProvider { - object[] GetDocumentIdsForQuery(Expression> criteria); + object[] GetDocumentIdsForQuery( Expression> criteria ); } -} +} \ No newline at end of file diff --git a/src/Relax/Impl/Json/BulkPersist.cs b/src/Relax/Impl/Json/BulkPersist.cs index 01da051..5850bbc 100644 --- a/src/Relax/Impl/Json/BulkPersist.cs +++ b/src/Relax/Impl/Json/BulkPersist.cs @@ -1,8 +1,24 @@ +// /* +// Copyright 2008-2011 Alex Robson +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// */ using System.Collections.Generic; using System.Linq; using System.Text.RegularExpressions; -using Newtonsoft.Json; using Symbiote.Core.Extensions; +using Symbiote.Core.Serialization; +using Newtonsoft.Json; namespace Relax.Impl.Json { @@ -10,34 +26,34 @@ public class BulkPersist { protected static readonly string pattern = @"(?<=values[""][:])(.+)(?=[\}])"; - [JsonProperty(PropertyName = "all_or_nothing")] + [JsonProperty( PropertyName = "all_or_nothing" )] public bool AllOrNothing { get; set; } - [JsonProperty(PropertyName = "non_atomic")] + [JsonProperty( PropertyName = "non_atomic" )] public bool NonAtomic { get; set; } - [JsonProperty(PropertyName = "docs")] + [JsonProperty( PropertyName = "docs" )] public object[] Documents { get; set; } - public BulkPersist() - { - } - public override string ToString() { - var regex = new Regex(pattern); + var regex = new Regex( pattern ); var docList = Documents.ToJson(); - var array = regex.Match(docList).Value; + var array = regex.Match( docList ).Value; return "{{\"all_or_nothing\":{0}, \"non_atomic\":{1}, \"docs\":{2} }}" - .AsFormat(AllOrNothing.ToString().ToLower(), NonAtomic.ToString().ToLower(), array); + .AsFormat( AllOrNothing.ToString().ToLower(), NonAtomic.ToString().ToLower(), array ); + } + + public BulkPersist() + { } - public BulkPersist(IEnumerable docs) + public BulkPersist( IEnumerable docs ) { Documents = docs.ToArray(); } - public BulkPersist(bool allOrNothing, bool nonAtomic, IEnumerable docs) + public BulkPersist( bool allOrNothing, bool nonAtomic, IEnumerable docs ) { AllOrNothing = allOrNothing; NonAtomic = nonAtomic; diff --git a/src/Relax/Impl/Json/DesignDocumentFilter.cs b/src/Relax/Impl/Json/DesignDocumentFilter.cs index fcba9cf..5b06bf4 100644 --- a/src/Relax/Impl/Json/DesignDocumentFilter.cs +++ b/src/Relax/Impl/Json/DesignDocumentFilter.cs @@ -1,10 +1,24 @@ -using System; +// /* +// Copyright 2008-2011 Alex Robson +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// */ +using System; using System.Collections.Generic; using System.IO; -using System.Linq; -using System.Text; using Newtonsoft.Json; using Newtonsoft.Json.Linq; +using System.Linq; using Symbiote.Core.Extensions; namespace Relax.Impl.Json @@ -13,54 +27,44 @@ public class DesignDocumentFilter { protected Dictionary> typeProcessor { get; set; } - public DesignDocumentFilter() - { - typeProcessor = new Dictionary> { - {typeof(JObject),ProcessObject}, - {typeof(JProperty),ProcessProperty}, - {typeof(JArray),ProcessArray}, - {typeof(JValue),ProcessValue} - }; - } - - protected void Process(JToken jObject) + protected void Process( JToken jObject ) { - typeProcessor[jObject.GetType()](jObject); + typeProcessor[jObject.GetType()]( jObject ); } - public string Filter(string root) + public string Filter( string root ) { - var token = JToken.ReadFrom(new JsonTextReader(new StringReader(root))); - Process(token); + var token = JToken.ReadFrom( new JsonTextReader( new StringReader( root ) ) ); + Process( token ); return token.ToString(); } - protected void ProcessValue(JToken token) + protected void ProcessValue( JToken token ) { var jValue = token as JValue; } - protected void ProcessArray(JToken token) + protected void ProcessArray( JToken token ) { var array = token as JArray; - if (array.Children().Count() == 0) + if ( array.Children().Count() == 0 ) return; array .Children() - .ForEach(x => Process(x)); + .ForEach( x => Process( x ) ); } - protected void ProcessProperty(JToken token) + protected void ProcessProperty( JToken token ) { var property = token as JProperty; - if (property.Name == "_id" && property.Value.ToString().StartsWith(@"""_design")) + if ( property.Name == "_id" && property.Value.ToString().StartsWith( @"""_design" ) ) { try { property.Parent.Parent.Parent.Remove(); } - catch (Exception e) + catch ( Exception e ) { // do nothing here // this means we've gotten back some odd fluke @@ -69,17 +73,28 @@ protected void ProcessProperty(JToken token) } } else - Process(property.Value); + Process( property.Value ); } - protected void ProcessObject(JToken token) + protected void ProcessObject( JToken token ) { var jObject = token as JObject; - if (jObject.HasValues) + if ( jObject.HasValues ) jObject .Children() - .ForEach(x => Process(x)); + .ForEach( x => Process( x ) ); + } + + public DesignDocumentFilter() + { + typeProcessor = new Dictionary> + { + {typeof( JObject ), ProcessObject}, + {typeof( JProperty ), ProcessProperty}, + {typeof( JArray ), ProcessArray}, + {typeof( JValue ), ProcessValue} + }; } } -} +} \ No newline at end of file diff --git a/src/Relax/Impl/Json/JsonUrlEncoder.cs b/src/Relax/Impl/Json/JsonUrlEncoder.cs index bbf2dcb..e0097d0 100644 --- a/src/Relax/Impl/Json/JsonUrlEncoder.cs +++ b/src/Relax/Impl/Json/JsonUrlEncoder.cs @@ -1,8 +1,22 @@ -using System; +// /* +// Copyright 2008-2011 Alex Robson +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// */ +using System; using System.Collections.Generic; -using System.IO; using System.Linq; -using System.Text; +using System.IO; using System.Web; using Newtonsoft.Json; using Newtonsoft.Json.Linq; @@ -14,60 +28,61 @@ public class JsonUrlEncoder { protected Dictionary> typeProcessor { get; set; } - public JsonUrlEncoder() - { - typeProcessor = new Dictionary> { - {typeof(JObject),ProcessObject}, - {typeof(JProperty),ProcessProperty}, - {typeof(JArray),ProcessArray}, - {typeof(JValue),ProcessValue} - }; - } - - protected void Process(JToken jObject) + protected void Process( JToken jObject ) { - typeProcessor[jObject.GetType()](jObject); + typeProcessor[jObject.GetType()]( jObject ); } - public string Encode(string root) + public string Encode( string root ) { - var token = JToken.ReadFrom(new JsonTextReader(new StringReader(root))); - Process(token); - return token.ToString(Formatting.None); + var token = JToken.ReadFrom( new JsonTextReader( new StringReader( root ) ) ); + Process( token ); + return token.ToString( Formatting.None ); } - protected void ProcessValue(JToken token) + protected void ProcessValue( JToken token ) { var jValue = token as JValue; - if(jValue.Type == JTokenType.String) - jValue.Value = HttpUtility.UrlEncode(jValue.Value.ToString()); + if ( jValue.Type == JTokenType.String ) + jValue.Value = HttpUtility.UrlEncode( jValue.Value.ToString() ); } - protected void ProcessArray(JToken token) + protected void ProcessArray( JToken token ) { var array = token as JArray; - if (array.Children().Count() == 0) + if ( array.Children().Count() == 0 ) return; array .Children() - .ForEach(x => Process(x)); + .ForEach( x => Process( x ) ); } - protected void ProcessProperty(JToken token) + protected void ProcessProperty( JToken token ) { var property = token as JProperty; - Process(property.Value); + Process( property.Value ); } - protected void ProcessObject(JToken token) + protected void ProcessObject( JToken token ) { var jObject = token as JObject; - if (jObject.HasValues) + if ( jObject.HasValues ) jObject .Children() - .ForEach(x => Process(x)); + .ForEach( x => Process( x ) ); + } + + public JsonUrlEncoder() + { + typeProcessor = new Dictionary> + { + {typeof( JObject ), ProcessObject}, + {typeof( JProperty ), ProcessProperty}, + {typeof( JArray ), ProcessArray}, + {typeof( JValue ), ProcessValue} + }; } } -} +} \ No newline at end of file diff --git a/src/Relax/Impl/Json/KeyList.cs b/src/Relax/Impl/Json/KeyList.cs index 6758113..177de4a 100644 --- a/src/Relax/Impl/Json/KeyList.cs +++ b/src/Relax/Impl/Json/KeyList.cs @@ -1,4 +1,19 @@ -namespace Relax.Impl.Json +// /* +// Copyright 2008-2011 Alex Robson +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// */ +namespace Relax.Impl.Json { public class KeyList { diff --git a/src/Relax/Impl/Json/ReplicationCommand.cs b/src/Relax/Impl/Json/ReplicationCommand.cs index 0fad9cd..e31d13a 100644 --- a/src/Relax/Impl/Json/ReplicationCommand.cs +++ b/src/Relax/Impl/Json/ReplicationCommand.cs @@ -1,25 +1,43 @@ -using System; +// /* +// Copyright 2008-2011 Alex Robson +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// */ +using System; using Newtonsoft.Json; using Relax.Impl.Http; namespace Relax.Impl.Json { [Serializable] - [JsonObject(MemberSerialization.OptOut)] + [JsonObject( MemberSerialization.OptOut )] public class ReplicationCommand { - [JsonProperty("source")] + [JsonProperty( "source" )] public string SourceUri { get; set; } - [JsonProperty("target")] + + [JsonProperty( "target" )] public string TargetUri { get; set; } - [JsonProperty("continuous")] + + [JsonProperty( "continuous" )] public bool ContinuousReplication { get; set; } - [JsonProperty("create_target")] + + [JsonProperty( "create_target" )] public bool CreateTarget { get; set; } - public static ReplicationCommand Once(CouchUri source, CouchUri target) + public static ReplicationCommand Once( CouchUri source, CouchUri target ) { - return new ReplicationCommand() + return new ReplicationCommand { SourceUri = source.ToString(), TargetUri = target.ToString(), @@ -27,9 +45,9 @@ public static ReplicationCommand Once(CouchUri source, CouchUri target) }; } - public static ReplicationCommand Continuous(CouchUri source, CouchUri target) + public static ReplicationCommand Continuous( CouchUri source, CouchUri target ) { - return new ReplicationCommand() + return new ReplicationCommand { SourceUri = source.ToString(), TargetUri = target.ToString(), @@ -38,4 +56,4 @@ public static ReplicationCommand Continuous(CouchUri source, CouchUri target) }; } } -} +} \ No newline at end of file diff --git a/src/Relax/Impl/Json/SaveResponse.cs b/src/Relax/Impl/Json/SaveResponse.cs index 5ab8c90..592ce8c 100644 --- a/src/Relax/Impl/Json/SaveResponse.cs +++ b/src/Relax/Impl/Json/SaveResponse.cs @@ -1,16 +1,31 @@ +// /* +// Copyright 2008-2011 Alex Robson +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// */ using Newtonsoft.Json; namespace Relax.Impl.Json { public class SaveResponse { - [JsonProperty(PropertyName = "ok")] + [JsonProperty( PropertyName = "ok" )] public bool Success { get; set; } - [JsonProperty(PropertyName = "id")] + [JsonProperty( PropertyName = "id" )] public string Id { get; set; } - [JsonProperty(PropertyName = "rev")] + [JsonProperty( PropertyName = "rev" )] public string Revision { get; set; } } } \ No newline at end of file diff --git a/src/Relax/Impl/Json/ViewResult.cs b/src/Relax/Impl/Json/ViewResult.cs index c4b6771..799174e 100644 --- a/src/Relax/Impl/Json/ViewResult.cs +++ b/src/Relax/Impl/Json/ViewResult.cs @@ -1,23 +1,38 @@ +// /* +// Copyright 2008-2011 Alex Robson +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// */ +using Newtonsoft.Json; using System.Collections.Generic; using System.Linq; -using Newtonsoft.Json; namespace Relax.Impl.Json { public class ViewResult { - [JsonProperty(PropertyName = "total_rows")] + [JsonProperty( PropertyName = "total_rows" )] public int TotalRows { get; set; } - [JsonProperty(PropertyName = "offset")] + [JsonProperty( PropertyName = "offset" )] public int Offset { get; set; } - [JsonProperty(PropertyName = "rows")] + [JsonProperty( PropertyName = "rows" )] public ViewRow[] Rows { get; set; } public IEnumerable GetList() { - return Rows.Select(x => x.Model); + return Rows.Select( x => x.Model ); } } } \ No newline at end of file diff --git a/src/Relax/Impl/Json/ViewRow.cs b/src/Relax/Impl/Json/ViewRow.cs index 5e05290..501845a 100644 --- a/src/Relax/Impl/Json/ViewRow.cs +++ b/src/Relax/Impl/Json/ViewRow.cs @@ -1,37 +1,52 @@ +// /* +// Copyright 2008-2011 Alex Robson +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// */ using Newtonsoft.Json; namespace Relax.Impl.Json { public class ViewRow { - [JsonProperty(PropertyName = "id")] + [JsonProperty( PropertyName = "id" )] public string Id { get; set; } - [JsonProperty(PropertyName = "key")] + [JsonProperty( PropertyName = "key" )] public object Key { get; set; } - [JsonIgnore()] + [JsonIgnore] public TModel Model { get { - var type = typeof(TModel); - if(type.IsClass) + var type = typeof( TModel ); + if ( type.IsClass ) { var value = Document as object; return value == null ? Value : Document; } else { - return Document.Equals(default(TModel)) ? Value : Document; + return Document.Equals( default(TModel) ) ? Value : Document; } } } - [JsonProperty(PropertyName = "doc")] + [JsonProperty( PropertyName = "doc" )] protected TModel Document { get; set; } - [JsonProperty(PropertyName = "value")] + [JsonProperty( PropertyName = "value" )] protected TModel Value { get; set; } } } \ No newline at end of file diff --git a/src/Relax/Impl/Model/BaseDocument.cs b/src/Relax/Impl/Model/BaseDocument.cs index 0595e4b..b13fa42 100644 --- a/src/Relax/Impl/Model/BaseDocument.cs +++ b/src/Relax/Impl/Model/BaseDocument.cs @@ -1,75 +1,76 @@ -using System.Collections.Generic; -using System.Linq; +// /* +// Copyright 2008-2011 Alex Robson +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// */ +using System.Collections.Generic; using Newtonsoft.Json; using Newtonsoft.Json.Linq; +using System.Linq; namespace Relax.Impl.Model { public abstract class BaseDocument : IHaveAttachments { - [JsonProperty("_attachments")] - private JObject attachments { get; set; } + public JObject _attachments { get; set; } - [JsonProperty(PropertyName = "$doc_type")] - internal virtual string UnderlyingDocumentType - { - get - { - return GetType().Name; - } - set - { - //do nothing, this is effectively read only in the model - } - } - - [JsonProperty("$doc_related_ids")] - internal virtual Dictionary RelatedDocumentIds { get; set; } - - [JsonProperty("$doc_parent_id")] - internal virtual object ParentId { get; set; } + //[JsonProperty( PropertyName = "$doc_type" )] + //internal virtual string UnderlyingDocumentType + //{ + // get { return GetType().Name; } + // set + // { + // //do nothing, this is effectively read only in the model + // } + //} [JsonIgnore] public virtual IEnumerable Attachments { - get - { - return attachments.Root.Children().Select(x => (x as JProperty).Name); - } + get { return _attachments.Root.Children().Select( x => (x as JProperty).Name ); } } - public virtual void AddAttachment(string attachmentName, string contentType, long contentLength) + public virtual void AddAttachment( string attachmentName, string contentType, long contentLength ) { var attachment = new - { - Stub = true, - ContentType = contentType, - ContentLength = contentLength - }; + { + Stub = true, + ContentType = contentType, + ContentLength = contentLength + }; - if (!attachments.Properties().Any(x => x.Name == attachmentName)) + if ( !_attachments.Properties().Any( x => x.Name == attachmentName ) ) { - var jsonStub = new JProperty(attachmentName, JToken.FromObject(attachment)); - attachments.Add(jsonStub); + var jsonStub = new JProperty( attachmentName, JToken.FromObject( attachment ) ); + _attachments.Add( jsonStub ); } else { - attachments.Property(attachmentName).Value = JToken.FromObject(attachment); + _attachments.Property( attachmentName ).Value = JToken.FromObject( attachment ); } } - public virtual void RemoveAttachment(string attachmentName) + public virtual void RemoveAttachment( string attachmentName ) { - if (attachments.Properties().Any(x => x.Name == attachmentName)) + if ( _attachments.Properties().Any( x => x.Name == attachmentName ) ) { - attachments.Remove(attachmentName); + _attachments.Remove( attachmentName ); } } protected BaseDocument() { - attachments = JObject.FromObject(new object()); - RelatedDocumentIds = new Dictionary(); + _attachments = JObject.FromObject( new object() ); } } } \ No newline at end of file diff --git a/src/Relax/Impl/Model/ComplexCouchDocument.cs b/src/Relax/Impl/Model/ComplexCouchDocument.cs index c40e0cc..de2c99f 100644 --- a/src/Relax/Impl/Model/ComplexCouchDocument.cs +++ b/src/Relax/Impl/Model/ComplexCouchDocument.cs @@ -1,45 +1,42 @@ -using System; -using Newtonsoft.Json; +// /* +// Copyright 2008-2011 Alex Robson +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// */ +using System; using Symbiote.Core.Extensions; +using Symbiote.Core.Serialization; +using Newtonsoft.Json; namespace Relax.Impl.Model { [Serializable] - [JsonObject(MemberSerialization.OptOut)] + [JsonObject( MemberSerialization.OptOut )] public abstract class ComplexCouchDocument : BaseDocument, ICouchDocument where TModel : ComplexCouchDocument { - protected TKey _documentId; - protected Func DocumentIdGetter = x => x._documentId; - protected Action DocumentIdSetter = (x,k) => x._documentId = k; - - protected virtual TModel KeyGetter(Func getter) - { - DocumentIdGetter = getter; - return this as TModel; - } - - protected virtual TModel KeySetter(Action setter) - { - DocumentIdSetter = setter; - return this as TModel; - } + protected Action DocumentIdSetter = ( x, k ) => x._documentId = k; + protected TKey _documentId; - [JsonProperty(PropertyName = "_id")] + [JsonProperty( PropertyName = "_id" )] public virtual TKey DocumentId { - get - { - return DocumentIdGetter(this as TModel); - } - set - { - DocumentIdSetter(this as TModel, value); - } + get { return DocumentIdGetter( this as TModel ); } + set { DocumentIdSetter( this as TModel, value ); } } - [JsonProperty(PropertyName = "_rev")] + [JsonProperty( PropertyName = "_rev" )] public virtual string DocumentRevision { get; set; } public virtual object GetDocumentId() @@ -49,26 +46,40 @@ public virtual object GetDocumentId() public virtual string GetDocumentIdAsJson() { - var typeCode = typeof (TKey); - if(typeCode.IsValueType && typeCode.Namespace.StartsWith("System")) + var typeCode = typeof( TKey ); + if ( typeCode.IsValueType && typeCode.Namespace.StartsWith( "System" ) ) { return DocumentId.ToString(); } else { - return DocumentId.ToJson(false); + return DocumentId.ToJson( false ); } } - - public virtual void UpdateKeyFromJson(string jsonKey) + + public virtual void UpdateRevFromJson( string jsonRev ) { - var documentId = jsonKey.FromJson(); - DocumentId = object.Equals(documentId, default(TKey)) ? "\"{0}\"".AsFormat(jsonKey).FromJson() : documentId; + DocumentRevision = jsonRev; } - public virtual void UpdateRevFromJson(string jsonRev) + protected virtual TModel KeyGetter( Func getter ) { - DocumentRevision = jsonRev; + DocumentIdGetter = getter; + return this as TModel; + } + + protected virtual TModel KeySetter( Action setter ) + { + DocumentIdSetter = setter; + return this as TModel; + } + + public virtual void UpdateKeyFromJson( string jsonKey ) + { + var documentId = jsonKey.FromJson(); + DocumentId = object.Equals( documentId, default(TKey) ) + ? "\"{0}\"".AsFormat( jsonKey ).FromJson() + : documentId; } } } \ No newline at end of file diff --git a/src/Relax/Impl/Model/DesignDocument.cs b/src/Relax/Impl/Model/DesignDocument.cs index e7eb3b2..235272b 100644 --- a/src/Relax/Impl/Model/DesignDocument.cs +++ b/src/Relax/Impl/Model/DesignDocument.cs @@ -1,11 +1,26 @@ -using System.Collections.Generic; +// /* +// Copyright 2008-2011 Alex Robson +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// */ using Newtonsoft.Json; +using System.Collections.Generic; namespace Relax.Impl.Model { public class DesignDocument : ComplexCouchDocument { - [JsonProperty(PropertyName = "views")] + [JsonProperty( PropertyName = "views" )] public Dictionary Views { get; set; } public DesignDocument() @@ -13,4 +28,4 @@ public DesignDocument() Views = new Dictionary(); } } -} +} \ No newline at end of file diff --git a/src/Relax/Impl/Model/DesignView.cs b/src/Relax/Impl/Model/DesignView.cs index 813d5c7..32e6639 100644 --- a/src/Relax/Impl/Model/DesignView.cs +++ b/src/Relax/Impl/Model/DesignView.cs @@ -1,13 +1,28 @@ -using Newtonsoft.Json; +// /* +// Copyright 2008-2011 Alex Robson +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// */ +using Newtonsoft.Json; namespace Relax.Impl.Model { public class DesignView { - [JsonProperty(PropertyName = "map")] + [JsonProperty( PropertyName = "map" )] public string Map { get; set; } - [JsonProperty(PropertyName = "reduce")] + [JsonProperty( PropertyName = "reduce" )] public string Reduce { get; set; } } } \ No newline at end of file diff --git a/src/Relax/Impl/Model/DocumentMetadata.cs b/src/Relax/Impl/Model/DocumentMetadata.cs new file mode 100644 index 0000000..99ba318 --- /dev/null +++ b/src/Relax/Impl/Model/DocumentMetadata.cs @@ -0,0 +1,32 @@ +// /* +// Copyright 2008-2011 Alex Robson +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// */ + +using Relax.Impl.Model; + +namespace Relax.Impl.Model +{ + public class DocumentMetadata : BaseDocument + { + public virtual string _id { get; set; } + + public virtual string _rev { get; set; } + + public virtual void UpdateRevFromJson( string jsonRev ) + { + _rev = jsonRev; + } + } +} diff --git a/src/Relax/Impl/Model/IHaveAttachments.cs b/src/Relax/Impl/Model/IHaveAttachments.cs index 5cb699c..ea55c4f 100644 --- a/src/Relax/Impl/Model/IHaveAttachments.cs +++ b/src/Relax/Impl/Model/IHaveAttachments.cs @@ -1,8 +1,23 @@ -namespace Relax.Impl.Model +// /* +// Copyright 2008-2011 Alex Robson +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// */ +namespace Relax.Impl.Model { public interface IHaveAttachments { - void AddAttachment(string attachmentName, string contentType, long contentLength); - void RemoveAttachment(string attachmentName); + void AddAttachment( string attachmentName, string contentType, long contentLength ); + void RemoveAttachment( string attachmentName ); } } \ No newline at end of file diff --git a/src/Relax/Impl/Model/IHaveDocumentId.cs b/src/Relax/Impl/Model/IHaveDocumentId.cs index 532f01f..4acbf97 100644 --- a/src/Relax/Impl/Model/IHaveDocumentId.cs +++ b/src/Relax/Impl/Model/IHaveDocumentId.cs @@ -1,4 +1,19 @@ -namespace Relax.Impl.Model +// /* +// Copyright 2008-2011 Alex Robson +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// */ +namespace Relax.Impl.Model { public interface IHaveDocumentId { diff --git a/src/Relax/Impl/Model/IHaveDocumentRevision.cs b/src/Relax/Impl/Model/IHaveDocumentRevision.cs index 98870f4..5de7e33 100644 --- a/src/Relax/Impl/Model/IHaveDocumentRevision.cs +++ b/src/Relax/Impl/Model/IHaveDocumentRevision.cs @@ -1,8 +1,23 @@ -namespace Relax.Impl.Model +// /* +// Copyright 2008-2011 Alex Robson +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// */ +namespace Relax.Impl.Model { public interface IHaveDocumentRevision { string DocumentRevision { get; set; } - void UpdateRevFromJson(string jsonRev); + void UpdateRevFromJson( string jsonRev ); } } \ No newline at end of file diff --git a/src/Relax/Impl/Model/JSONDocument.cs b/src/Relax/Impl/Model/JSONDocument.cs index 532979d..3da1494 100644 --- a/src/Relax/Impl/Model/JSONDocument.cs +++ b/src/Relax/Impl/Model/JSONDocument.cs @@ -1,13 +1,28 @@ +// /* +// Copyright 2008-2011 Alex Robson +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// */ using System; using Newtonsoft.Json; namespace Relax.Impl.Model { [Serializable] - [JsonObject(MemberSerialization = MemberSerialization.OptIn)] + [JsonObject( MemberSerialization = MemberSerialization.OptIn )] public class JsonDocument : CouchDocument { - [JsonProperty(DefaultValueHandling = DefaultValueHandling.Ignore)] + [JsonProperty( DefaultValueHandling = DefaultValueHandling.Ignore )] public string Body { get; set; } } } \ No newline at end of file diff --git a/src/Relax/Impl/Persistence/KeyValueStore.cs b/src/Relax/Impl/Persistence/KeyValueStore.cs new file mode 100644 index 0000000..c37c351 --- /dev/null +++ b/src/Relax/Impl/Persistence/KeyValueStore.cs @@ -0,0 +1,50 @@ +// /* +// Copyright 2008-2011 Alex Robson +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// */ +using System.Collections.Generic; +using Symbiote.Core.Persistence; + +namespace Relax.Impl.Persistence +{ + public class KeyValueStore : IKeyValueStore + { + public IDocumentRepository Repository { get; set; } + + public bool Delete( string key ) + { + return Repository.DeleteDocument( key ); + } + + public T Get( string key ) + { + return Repository.Get( key ); + } + + public IEnumerable GetAll() + { + return Repository.GetAll(); + } + + public bool Persist( string key, T instance ) + { + return Repository.Save( key, instance ); + } + + public KeyValueStore( IDocumentRepository repository ) + { + Repository = repository; + } + } +} diff --git a/src/Relax/Impl/Persistence/SimpleRepository.cs b/src/Relax/Impl/Persistence/SimpleRepository.cs new file mode 100644 index 0000000..da3ceb7 --- /dev/null +++ b/src/Relax/Impl/Persistence/SimpleRepository.cs @@ -0,0 +1,55 @@ +// /* +// Copyright 2008-2011 Alex Robson +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// */ +using System.Collections.Generic; +using Symbiote.Core.Persistence; + +namespace Relax.Impl.Persistence +{ + public class SimpleRepository : IRepository + { + public IDocumentRepository Repository { get; set; } + + public bool Delete( string key ) + { + return Repository.DeleteDocument( key ); + } + + public T Get( string key ) + { + return Repository.Get( key ); + } + + public IEnumerable GetAll() + { + return Repository.GetAll(); + } + + public bool Delete( T instance ) where T : class + { + return Repository.DeleteDocument( instance ); + } + + public bool Persist( T instance ) where T : class + { + return Repository.Save( instance ); + } + + public SimpleRepository( IDocumentRepository repository ) + { + Repository = repository; + } + } +} \ No newline at end of file diff --git a/src/Relax/Impl/Repository/BaseDocumentRepository.cs b/src/Relax/Impl/Repository/BaseDocumentRepository.cs index 8a4bf45..a376cfc 100644 --- a/src/Relax/Impl/Repository/BaseDocumentRepository.cs +++ b/src/Relax/Impl/Repository/BaseDocumentRepository.cs @@ -1,3 +1,18 @@ +// /* +// Copyright 2008-2011 Alex Robson +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// */ using System; using System.Collections.Concurrent; using System.Collections.Generic; @@ -6,8 +21,8 @@ using Relax.Config; using Relax.Impl.Commands; using Relax.Impl.Http; -using Relax.Impl.Json; using Relax.Impl.Model; +using Relax.Impl.Serialization; namespace Relax.Impl.Repository { @@ -19,149 +34,171 @@ public abstract class BaseDocumentRepository : IDocumentRepository protected ICouchConfiguration configuration { get; set; } protected CouchCommandFactory commandFactory { get; set; } - public virtual void DeleteAttachment(TModel model, string attachmentName) + public virtual bool DeleteAttachment( TModel model, string attachmentName ) where TModel : IHaveAttachments { var command = commandFactory.CreateDeleteAttachmentCommand(); - var response = command.DeleteAttachment(model, attachmentName); + var response = command.DeleteAttachment( model, attachmentName ); + return true; } - public virtual void DeleteDocument(object id) + public virtual bool DeleteDocument( object id ) { var deleteCommand = commandFactory.CreateDeleteCommand(); var getCommand = commandFactory.CreateGetDocumentCommand(); - var getResult = getCommand.GetDocument(id); - var doc = getResult.GetResultAs(); - deleteCommand.DeleteDocument(doc); + var getResult = getCommand.GetDocument( id ); + var doc = getCommand.Deserialize( getResult.Json ); + deleteCommand.DeleteDocument( doc ); + return true; } - public virtual void DeleteDocument(object id, string rev) + public virtual bool DeleteDocument( object id, string rev ) { var deleteCommand = commandFactory.CreateDeleteCommand(); - deleteCommand.DeleteDocument(id,rev); + deleteCommand.DeleteDocument( id, rev ); + return true; } - public virtual IList FromView(string designDocument, string viewName, Action query) + public virtual IList FromView( string designDocument, string viewName, Action query ) { var command = commandFactory.CreateGetFromViewCommand(); - var response = command.GetFromView(designDocument, viewName, query); - return response.GetResultAs>().GetList().ToList(); + var response = command.GetFromView( designDocument, viewName, query ); + var docs = command.DeserializeView( response.Json ).GetList().ToList(); + return docs; } - public virtual TModel Get(object id, string revision) + public virtual TModel Get( object id, string revision ) { var command = commandFactory.CreateGetDocumentCommand(); - var result = command.GetDocument(id, revision); - return result.GetResultAs(); + var response = command.GetDocument( id, revision ); + var doc = command.Deserialize( response.Json ); + return doc; } - public virtual TModel Get(object id) + public virtual TModel Get( object id ) { var command = commandFactory.CreateGetDocumentCommand(); - var result = command.GetDocument(id); - return result.GetResultAs(); + var response = command.GetDocument( id ); + var doc = command.Deserialize( response.Json ); + return doc; } public virtual IList GetAll() { var command = commandFactory.CreateGetAllDocumentsCommand(); - var result = command.GetDocuments(); - return result.GetResultAs>().GetList().ToList(); + var response = command.GetDocuments(); + var docs = command.DeserializeView( response.Json ).GetList().ToList(); + return docs; } - public virtual IList GetAll(int pageSize, int pageNumber) + public virtual IList GetAll( int pageSize, int pageNumber ) { var command = commandFactory.CreateGetDocumentsPagedCommand(); - var result = command.GetDocumentsPaged(pageSize, pageNumber); - return result.GetResultAs>().GetList().ToList(); + var response = command.GetDocumentsPaged( pageSize, pageNumber ); + var docs = command.DeserializeView( response.Json ).GetList().ToList(); + return docs; } - public virtual IList GetAllByKeys(object[] ids) + public virtual IList GetAllByKeys( object[] ids ) { var command = commandFactory.CreateGetDocumentsByIdsCommand(); - var result = command.GetDocuments(ids); - return result.GetResultAs>().GetList().ToList(); + var response = command.GetDocuments( ids ); + var docs = command.DeserializeView( response.Json ).GetList().ToList(); + return docs; } - public virtual IList GetAllBetweenKeys(object startingWith, object endingWith) + public virtual IList GetAllBetweenKeys( object startingWith, object endingWith ) { var command = commandFactory.CreateGetDocumentsInRangeCommand(); - var result = command.GetDocumentsInRange(startingWith, endingWith); - return result.GetResultAs>().GetList().ToList(); + var response = command.GetDocumentsInRange( startingWith, endingWith ); + var docs = command.DeserializeView( response.Json ).GetList().ToList(); + return docs; } - public IList GetAllByCriteria(Expression> criteria) + public IList GetAllByCriteria( Expression> criteria ) { var command = commandFactory.CreateQueryCommand(); - var ids = command.GetDocumentIdsForQuery(criteria); - return GetAllByKeys(ids); + var ids = command.GetDocumentIdsForQuery( criteria ); + return GetAllByKeys( ids ); } - public virtual Tuple GetAttachment(object id, string attachmentName) + public virtual Tuple GetAttachment( object id, string attachmentName ) where TModel : IHaveAttachments { var command = commandFactory.CreateGetAttachmentCommand(); - var result = command.GetAttachment(id, attachmentName); - return result; + var response = command.GetAttachment( id, attachmentName ); + return response; } - public virtual void Save(TModel model) + public virtual bool Save( TModel model ) { var command = commandFactory.CreateSaveDocumentCommand(); - var result = command.Save(model); + var response = command.Save( model ); + return true; } - public virtual void SaveAll(IEnumerable list) + public virtual bool Save( object id, TModel model ) + { + var command = commandFactory.CreateSaveDocumentCommand(); + var response = command.Save( model ); + return true; + } + + public virtual bool SaveAll( IEnumerable list ) { var command = commandFactory.CreateSaveDocumentsCommand(); - var result = command.SaveAll(list); + var response = command.SaveAll( list ); + return true; } - public virtual void SaveAttachment(TModel model, string attachmentName, string contentType, byte[] content) + public virtual bool SaveAttachment( TModel model, string attachmentName, string contentType, + byte[] content ) where TModel : IHaveAttachments { - var command = commandFactory.CreateSaveAttachmentCommand(); - var result = command.SaveAttachment(model, attachmentName, contentType, content); + var command = commandFactory.CreateSaveAttachmentCommand(); + var response = command.SaveAttachment( model, attachmentName, contentType, content ); + return true; } - public virtual void HandleUpdates(int since, Action onUpdate, AsyncCallback updatesInterrupted) + public virtual void HandleUpdates( int since, Action onUpdate, + AsyncCallback updatesInterrupted ) { var database = configuration.GetDatabaseNameForType(); - HandleUpdates(database, since, onUpdate, updatesInterrupted); + HandleUpdates( database, since, onUpdate, updatesInterrupted ); } - public virtual void HandleUpdates(string database, int since, Action onUpdate, AsyncCallback updatesInterrupted) + public virtual void HandleUpdates( string database, int since, Action onUpdate, + AsyncCallback updatesInterrupted ) { var command = commandFactory.CreateStreamCommand(); - _continuousUpdateCommands[database] = command.BeginStreaming(database, since, onUpdate, updatesInterrupted); + _continuousUpdateCommands[database] = command.BeginStreaming( database, since, onUpdate, updatesInterrupted ); } public virtual void StopChangeStreaming() { var database = configuration.GetDatabaseNameForType(); - StopChangeStreaming(database); + StopChangeStreaming( database ); } - public virtual void StopChangeStreaming(string database) + public virtual void StopChangeStreaming( string database ) { IHttpAction command; - if (_continuousUpdateCommands.TryGetValue(database, out command)) + if ( _continuousUpdateCommands.TryGetValue( database, out command ) ) { command.StopContinousResponse(); - _continuousUpdateCommands.TryRemove(database, out command); + _continuousUpdateCommands.TryRemove( database, out command ); } } - + public void Dispose() { - } - protected BaseDocumentRepository(ICouchConfiguration configuration) + protected BaseDocumentRepository( ICouchConfiguration configuration, ISerializationProvider serializer ) { this.configuration = configuration; - this.commandFactory = new CouchCommandFactory(configuration); + commandFactory = new CouchCommandFactory( configuration, serializer ); } } } \ No newline at end of file diff --git a/src/Relax/Impl/Repository/CachedDocumentRepository.cs b/src/Relax/Impl/Repository/CachedDocumentRepository.cs index c34cd12..8daeb25 100644 --- a/src/Relax/Impl/Repository/CachedDocumentRepository.cs +++ b/src/Relax/Impl/Repository/CachedDocumentRepository.cs @@ -1,67 +1,81 @@ -using System; +// /* +// Copyright 2008-2011 Alex Robson +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// */ using System.Collections.Generic; using Relax.Config; using Relax.Impl.Cache; -using Relax.Impl.Commands; +using Relax.Impl.Serialization; namespace Relax.Impl.Repository { public class CachedDocumentRepository : BaseDocumentRepository { + protected ICacheKeyBuilder _builder; protected ICouchCacheProvider _cache; protected IDocumentRepository _repository; - protected ICacheKeyBuilder _builder; - public CachedDocumentRepository(ICouchCacheProvider cacheProvider, ICouchConfiguration configuration) - : base(configuration) + public override bool DeleteDocument( object id, string rev ) { - _cache = cacheProvider; + return _cache.Delete( id, rev, base.DeleteDocument ); } - public override void DeleteDocument(object id, string rev) + public override bool DeleteDocument( object id ) { - _cache.Delete(id, rev, base.DeleteDocument); + return _cache.Delete( id, base.DeleteDocument ); } - public override void DeleteDocument(object id) + public override TModel Get( object id, string revision ) { - _cache.Delete(id, base.DeleteDocument); + return _cache.Get( id, revision, base.Get ); } - public override TModel Get(object id, string revision) + public override TModel Get( object id ) { - return _cache.Get(id, revision, base.Get); + return _cache.Get( id, base.Get ); } - public override TModel Get(object id) + public override IList GetAll() { - return _cache.Get(id, base.Get); + return _cache.GetAll( base.GetAll ); } - public override IList GetAll() + public override IList GetAll( int pageSize, int pageNumber ) { - return _cache.GetAll(base.GetAll); + return _cache.GetAllPaged( pageNumber, pageSize, base.GetAll ); } - public override IList GetAll(int pageSize, int pageNumber) + public override IList GetAllBetweenKeys( object startingWith, object endingWith ) { - return _cache.GetAllPaged(pageNumber, pageSize, base.GetAll); + return _cache.GetAllInRange( startingWith, endingWith, base.GetAllBetweenKeys ); } - public override IList GetAllBetweenKeys(object startingWith, object endingWith) + public override bool Save( TModel model ) { - return _cache.GetAllInRange(startingWith, endingWith, base.GetAllBetweenKeys); + return _cache.Save( model, base.Save ); } - public override void Save(TModel model) + public override bool SaveAll( IEnumerable list ) { - _cache.Save(model, base.Save); + return _cache.SaveAll( list, base.SaveAll ); } - public override void SaveAll(IEnumerable list) + public CachedDocumentRepository( ICouchCacheProvider cacheProvider, ICouchConfiguration configuration, ISerializationProvider serializer ) + : base( configuration, serializer ) { - _cache.SaveAll(list, base.SaveAll); + _cache = cacheProvider; } } } \ No newline at end of file diff --git a/src/Relax/Impl/Repository/DocumentRepository.cs b/src/Relax/Impl/Repository/DocumentRepository.cs index e3b35d4..278c1e5 100644 --- a/src/Relax/Impl/Repository/DocumentRepository.cs +++ b/src/Relax/Impl/Repository/DocumentRepository.cs @@ -1,13 +1,28 @@ -using Relax.Config; -using Relax.Impl.Commands; +// /* +// Copyright 2008-2011 Alex Robson +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// */ +using Relax.Config; +using Relax.Impl.Serialization; namespace Relax.Impl.Repository { public class DocumentRepository : BaseDocumentRepository { - public DocumentRepository(ICouchConfiguration configuration) : base(configuration) + public DocumentRepository( ICouchConfiguration configuration, ISerializationProvider serializer ) : base( configuration, serializer ) { } } -} +} \ No newline at end of file diff --git a/src/Relax/Impl/Serialization/ChildDocumentContractResolver.cs b/src/Relax/Impl/Serialization/ChildDocumentContractResolver.cs deleted file mode 100644 index 5e61ead..0000000 --- a/src/Relax/Impl/Serialization/ChildDocumentContractResolver.cs +++ /dev/null @@ -1,55 +0,0 @@ -using System.Collections.Generic; -using System.Linq; -using Newtonsoft.Json.Serialization; -using Relax.Config; - -namespace Relax.Impl.Serialization -{ - public class ChildDocumentContractResolver : DefaultContractResolver - { - private const string ICOUCHDOC_TYPE = "ICouchDocument`1"; - private const string IENUMERABLE_TYPE = "IEnumerable`1"; - - private ICouchConfiguration configuration { get; set; } - - protected override IList CreateProperties(JsonObjectContract contract) - { - var basePropertyList = base.CreateProperties(contract); - return - !configuration.BreakDownDocumentGraphs ? - basePropertyList : - basePropertyList - .Where(ShouldIncludeProperty) - .ToList(); - - } - - protected bool ShouldIncludeProperty(JsonProperty property) - { - var propertyType = property.PropertyType; - var interfaces = propertyType.GetInterfaces(); - if(interfaces.Any(x => x.Name == IENUMERABLE_TYPE) && propertyType.IsGenericType) - { - var paramType = propertyType.GetGenericArguments()[0]; - if (paramType == null || paramType.GetInterface(ICOUCHDOC_TYPE) == null) - return true; - } - else if (propertyType.GetInterface(ICOUCHDOC_TYPE) == null) - { - return true; - } - return false; - } - - public ChildDocumentContractResolver(ICouchConfiguration configuration) - { - this.configuration = configuration; - } - - public ChildDocumentContractResolver(bool shareCache, ICouchConfiguration configuration) - : base(shareCache) - { - this.configuration = configuration; - } - } -} \ No newline at end of file diff --git a/src/Relax/Impl/Serialization/ChildDocumentResolverStrategy.cs b/src/Relax/Impl/Serialization/ChildDocumentResolverStrategy.cs deleted file mode 100644 index 7fbc37a..0000000 --- a/src/Relax/Impl/Serialization/ChildDocumentResolverStrategy.cs +++ /dev/null @@ -1,32 +0,0 @@ -using System; -using Newtonsoft.Json.Serialization; -using Relax.Config; -using Symbiote.Core.Extensions; - -namespace Relax.Impl.Serialization -{ - public class ChildDocumentResolverStrategy : IContractResolverStrategy - { - protected ICouchConfiguration configuration { get; set; } - - public bool ResolverAppliesForSerialization(Type type) - { - return true; - } - - public bool ResolverAppliesForDeserialization(Type type) - { - return false; - } - - public IContractResolver Resolver - { - get { return new ChildDocumentContractResolver(configuration); } - } - - public ChildDocumentResolverStrategy(ICouchConfiguration configuration) - { - this.configuration = configuration; - } - } -} diff --git a/src/Relax/Impl/Serialization/ConventionDeserializationContractResolver.cs b/src/Relax/Impl/Serialization/ConventionDeserializationContractResolver.cs deleted file mode 100644 index b49b97f..0000000 --- a/src/Relax/Impl/Serialization/ConventionDeserializationContractResolver.cs +++ /dev/null @@ -1,24 +0,0 @@ -using Newtonsoft.Json.Serialization; - -namespace Relax.Impl.Serialization -{ - public class ConventionDeserializationContractResolver : DefaultContractResolver - { - protected DocumentConventions conventions { get; set; } - - protected override string ResolvePropertyName(string propertyName) - { - if (propertyName == conventions.IdPropertyName) - return "_id"; - else if (propertyName == conventions.RevisionPropertyName) - return "_rev"; - else - return base.ResolvePropertyName(propertyName); - } - - public ConventionDeserializationContractResolver(DocumentConventions conventions) - { - this.conventions = conventions; - } - } -} \ No newline at end of file diff --git a/src/Relax/Impl/Serialization/ConventionDeserializerContractResolverStrategy.cs b/src/Relax/Impl/Serialization/ConventionDeserializerContractResolverStrategy.cs deleted file mode 100644 index 301b9d8..0000000 --- a/src/Relax/Impl/Serialization/ConventionDeserializerContractResolverStrategy.cs +++ /dev/null @@ -1,29 +0,0 @@ -using System; -using Microsoft.Practices.ServiceLocation; -using Newtonsoft.Json.Serialization; -using Symbiote.Core.Extensions; - -namespace Relax.Impl.Serialization -{ - public class ConventionDeserializerContractResolverStrategy : IContractResolverStrategy - { - public bool ResolverAppliesForSerialization(Type type) - { - return false; - } - - public bool ResolverAppliesForDeserialization(Type type) - { - if (type.IsGenericType) - if (type.GetGenericArguments()[0].GetInterface("ICouchDocument`1") == null) - return true; - - return type.GetInterface("ICouchDocument`1") == null; - } - - public IContractResolver Resolver - { - get { return ServiceLocator.Current.GetInstance(); } - } - } -} \ No newline at end of file diff --git a/src/Relax/Impl/Serialization/ConventionSerializationContractResolver.cs b/src/Relax/Impl/Serialization/ConventionSerializationContractResolver.cs deleted file mode 100644 index 77c9016..0000000 --- a/src/Relax/Impl/Serialization/ConventionSerializationContractResolver.cs +++ /dev/null @@ -1,26 +0,0 @@ -using System.Collections.Generic; -using System.Linq; -using Relax.Config; - -namespace Relax.Impl.Serialization -{ - public class ConventionSerializationContractResolver : ChildDocumentContractResolver - { - protected DocumentConventions conventions { get; set; } - - protected override string ResolvePropertyName(string propertyName) - { - if (propertyName == "Id") - return "_id"; - else if (propertyName == "Rev") - return "_rev"; - else - return base.ResolvePropertyName(propertyName); - } - - public ConventionSerializationContractResolver(ICouchConfiguration configuration, DocumentConventions conventions) : base(configuration) - { - this.conventions = conventions; - } - } -} \ No newline at end of file diff --git a/src/Relax/Impl/Serialization/ConventionSerializationContractResolverStrategy.cs b/src/Relax/Impl/Serialization/ConventionSerializationContractResolverStrategy.cs deleted file mode 100644 index 28e0aee..0000000 --- a/src/Relax/Impl/Serialization/ConventionSerializationContractResolverStrategy.cs +++ /dev/null @@ -1,26 +0,0 @@ -using System; -using Microsoft.Practices.ServiceLocation; -using Newtonsoft.Json.Serialization; -using Relax.Impl.Json; -using Symbiote.Core.Extensions; - -namespace Relax.Impl.Serialization -{ - public class ConventionSerializationContractResolverStrategy : IContractResolverStrategy - { - public bool ResolverAppliesForSerialization(Type type) - { - return type.GetInterface("ICouchDocument`1") == null; - } - - public bool ResolverAppliesForDeserialization(Type type) - { - return false; - } - - public IContractResolver Resolver - { - get { return ServiceLocator.Current.GetInstance(); } - } - } -} \ No newline at end of file diff --git a/src/Relax/Impl/Serialization/DocumentContractResolver.cs b/src/Relax/Impl/Serialization/DocumentContractResolver.cs new file mode 100644 index 0000000..74c25fa --- /dev/null +++ b/src/Relax/Impl/Serialization/DocumentContractResolver.cs @@ -0,0 +1,49 @@ +// /* +// Copyright 2008-2011 Alex Robson +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// */ +using System; +using System.Collections.Generic; +using System.Linq; +using Newtonsoft.Json.Serialization; +using Relax.Impl.Model; +using Symbiote.Core; + +namespace Relax.Impl.Serialization +{ + public class DocumentContractResolver : DefaultContractResolver + { + public static MetadataValueProviderCache ValueProviderCache { get; set; } + public static readonly Type DocumentMetadataType = typeof( DocumentMetadata ); + + protected override List GetSerializableMembers(Type objectType) + { + var properties = base.GetSerializableMembers(objectType); + var adds = base.GetSerializableMembers( typeof ( DocumentMetadata ) ); + return properties.Concat( adds ).ToList(); + } + + protected override IValueProvider CreateMemberValueProvider(System.Reflection.MemberInfo member) + { + return member.DeclaringType.Equals( DocumentMetadataType ) + ? ValueProviderCache.GetValueProviderFor( member.Name ) as IValueProvider + : new ReflectionValueProvider( member ); + } + + public DocumentContractResolver() : base( true ) + { + ValueProviderCache = Assimilate.GetInstanceOf(); + } + } +} \ No newline at end of file diff --git a/src/Relax/Impl/Serialization/DocumentMetadataProvider.cs b/src/Relax/Impl/Serialization/DocumentMetadataProvider.cs new file mode 100644 index 0000000..bc936d4 --- /dev/null +++ b/src/Relax/Impl/Serialization/DocumentMetadataProvider.cs @@ -0,0 +1,47 @@ +// /* +// Copyright 2008-2011 Alex Robson +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// */ +using Relax.Impl.Model; +using Symbiote.Core.Collections; + +namespace Relax.Impl.Serialization +{ + public class DocumentMetadataProvider : IProvideDocumentMetadata + { + public MruDictionary Cache { get; set; } + + public void Clear() + { + Cache.Clear(); + } + + public DocumentMetadata GetMetadata( string key ) + { + DocumentMetadata metadata = null; + Cache.TryGetValue( key, out metadata ); + return metadata; + } + + public void SetMetadata( string key, DocumentMetadata metadata ) + { + Cache[ key ] = metadata; + } + + public DocumentMetadataProvider() + { + Cache = new MruDictionary( 100000 ); + } + } +} \ No newline at end of file diff --git a/src/Relax/Impl/Serialization/IProvideDocumentMetadata.cs b/src/Relax/Impl/Serialization/IProvideDocumentMetadata.cs new file mode 100644 index 0000000..87983fa --- /dev/null +++ b/src/Relax/Impl/Serialization/IProvideDocumentMetadata.cs @@ -0,0 +1,26 @@ +// /* +// Copyright 2008-2011 Alex Robson +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// */ +using Relax.Impl.Model; + +namespace Relax.Impl.Serialization +{ + public interface IProvideDocumentMetadata + { + void Clear(); + DocumentMetadata GetMetadata( string key ); + void SetMetadata( string key, DocumentMetadata metadata ); + } +} \ No newline at end of file diff --git a/src/Relax/Impl/Serialization/ISerializationProvider.cs b/src/Relax/Impl/Serialization/ISerializationProvider.cs new file mode 100644 index 0000000..b578863 --- /dev/null +++ b/src/Relax/Impl/Serialization/ISerializationProvider.cs @@ -0,0 +1,28 @@ +// /* +// Copyright 2008-2011 Alex Robson +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// */ +using System.IO; +using Relax.Impl.Json; + +namespace Relax.Impl.Serialization +{ + public interface ISerializationProvider + { + void Serialize( T instance, TextWriter writer ); + //void Serialize( BulkPersist bulkPersist, TextWriter writer ); + T Deserialize( string json ); + ViewResult DeserializeList( string json ); + } +} \ No newline at end of file diff --git a/src/Relax/Impl/Serialization/IValueProviderCache.cs b/src/Relax/Impl/Serialization/IValueProviderCache.cs new file mode 100644 index 0000000..db1437d --- /dev/null +++ b/src/Relax/Impl/Serialization/IValueProviderCache.cs @@ -0,0 +1,22 @@ +// /* +// Copyright 2008-2011 Alex Robson +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// */ +namespace Relax.Impl.Serialization +{ + public interface IValueProviderCache + { + MetadataValueProvider GetValueProviderFor( string memberName ); + } +} \ No newline at end of file diff --git a/src/Relax/Impl/Serialization/MetadataValueProvider.cs b/src/Relax/Impl/Serialization/MetadataValueProvider.cs new file mode 100644 index 0000000..1e0b574 --- /dev/null +++ b/src/Relax/Impl/Serialization/MetadataValueProvider.cs @@ -0,0 +1,66 @@ +// /* +// Copyright 2008-2011 Alex Robson +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// */ +using System; +using Newtonsoft.Json.Serialization; +using Relax.Impl.Model; +using Symbiote.Core; + +namespace Relax.Impl.Serialization +{ + public class MetadataValueProvider : IValueProvider + { + public IKeyAccessor KeyAccess { get; set; } + public DocumentMetadataProvider MetadataProvider { get; set; } + public Func Getter { get; set; } + public Action Setter { get; set; } + + public void SetValue( object target, object value ) + { + var type = target.GetType(); + if ( !KeyAccess.HasAccessFor( type ) ) + return; + + var key = KeyAccess.GetId( target, type ); + var metadata = MetadataProvider.GetMetadata( key ); + Setter( metadata, value ); + } + + public object GetValue( object target ) + { + var type = target.GetType(); + object value = null; + if( KeyAccess.HasAccessFor( type ) ) + { + var key = KeyAccess.GetId( target, type ); + var metadata = MetadataProvider.GetMetadata( key ); + value = Getter( metadata ); + } + return value; + } + + public MetadataValueProvider( + IKeyAccessor keyAccess, + DocumentMetadataProvider metadataProvider, + Func getter, + Action setter ) + { + KeyAccess = keyAccess; + MetadataProvider = metadataProvider; + Getter = getter; + Setter = setter; + } + } +} \ No newline at end of file diff --git a/src/Relax/Impl/Serialization/MetadataValueProviderCache.cs b/src/Relax/Impl/Serialization/MetadataValueProviderCache.cs new file mode 100644 index 0000000..e8fc072 --- /dev/null +++ b/src/Relax/Impl/Serialization/MetadataValueProviderCache.cs @@ -0,0 +1,63 @@ +// /* +// Copyright 2008-2011 Alex Robson +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// */ +using System; +using System.Collections.Generic; +using Newtonsoft.Json.Linq; +using Relax.Impl.Model; +using Symbiote.Core; +using Symbiote.Core.Collections; + +namespace Relax.Impl.Serialization +{ + public class MetadataValueProviderCache : IValueProviderCache + { + DocumentMetadataProvider MetadataProvider { get; set; } + public IKeyAccessor KeyAccess { get; set; } + public Dictionary> Readers { get; set; } + public Dictionary> Writers { get; set; } + public ExclusiveConcurrentDictionary ValueProviders { get; set; } + + public MetadataValueProvider GetValueProviderFor( string memberName ) + { + return ValueProviders.ReadOrWrite( memberName, () => new MetadataValueProvider( + KeyAccess, + MetadataProvider, + Readers[ memberName ], + Writers[ memberName ] ) + ); + } + + public MetadataValueProviderCache( DocumentMetadataProvider metadataProvider, IKeyAccessor keyAccess ) + { + MetadataProvider = metadataProvider; + KeyAccess = keyAccess; + ValueProviders = new ExclusiveConcurrentDictionary(); + Readers = new Dictionary>() + { + {"_id", x => x._id }, + {"_rev", x => x._rev }, + {"_attachments", x => x._attachments }, + }; + + Writers = new Dictionary>() + { + {"_id", ( x, v ) => x._id = v.ToString() }, + {"_rev", ( x, v ) => x._rev = v.ToString() }, + {"_attachments", ( x, v ) => x._attachments = (JObject) v }, + }; + } + } +} \ No newline at end of file diff --git a/src/Relax/Impl/Serialization/SerializationProvider.cs b/src/Relax/Impl/Serialization/SerializationProvider.cs new file mode 100644 index 0000000..9e7722f --- /dev/null +++ b/src/Relax/Impl/Serialization/SerializationProvider.cs @@ -0,0 +1,141 @@ +// /* +// Copyright 2008-2011 Alex Robson +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// */ +using System.IO; +using System.Runtime.Serialization.Formatters; +using Newtonsoft.Json.Converters; +using Relax.Impl.Json; +using Relax.Impl.Model; +using Symbiote.Core; +using Newtonsoft.Json; +using Newtonsoft.Json.Serialization; + +namespace Relax.Impl.Serialization +{ + public class SerializationProvider : + ISerializationProvider + { + public IContractResolver PocoContractResolver {get; set; } + public IKeyAccessor KeyAccessor { get; set; } + public IProvideDocumentMetadata MetadataProvider { get; set; } + public JsonSerializer DocumentSerializer { get; set; } + public JsonSerializer PocoSerializer { get; set; } + public JsonSerializer MetadataSerialzier { get; set; } + + public void Serialize( T instance, TextWriter writer ) + { + if( !typeof( T ).IsInstanceOfType(( typeof( BaseDocument ) )) ) + { + PocoSerializer.Serialize( writer, instance ); + } + else + { + DocumentSerializer.Serialize( writer, instance ); + } + } + + public T Deserialize( string json ) + { + var type = typeof(T); + object document = null; + using ( var reader = new StringReader( json ) ) + document = DocumentSerializer.Deserialize( reader, type ); + + using ( var reader = new StringReader( json ) ) + if ( !type.IsInstanceOfType( typeof( BaseDocument ) ) ) + { + var key = KeyAccessor.GetId( document, type ); + var metadata = (DocumentMetadata) MetadataSerialzier.Deserialize( reader, typeof( DocumentMetadata ) ); + MetadataProvider.SetMetadata( key, metadata ); + } + return (T) document; + } + + public ViewResult DeserializeList( string json ) + { + var type = typeof( T ); + var viewType = typeof( ViewResult ); + ViewResult viewResult = null; + using ( var reader = new StringReader( json ) ) + viewResult = (ViewResult) DocumentSerializer.Deserialize( reader, viewType ); + + using ( var reader = new StringReader( json ) ) + if ( !type.IsInstanceOfType( typeof( BaseDocument ) ) ) + { + var metadataView = + (ViewResult) + MetadataSerialzier.Deserialize( reader, typeof( ViewResult ) ); + + for( int i = 0; i < viewResult.Rows.Length; i++ ) + { + var metadata = metadataView.Rows[i]; + var document = viewResult.Rows[i]; + var key = KeyAccessor.GetId( document.Model, type ); + MetadataProvider.SetMetadata( key, metadata.Model ); + } + } + return viewResult; + } + + public SerializationProvider( DocumentContractResolver contractResolver, IKeyAccessor keyAccessor, IProvideDocumentMetadata metadataProvider ) + { + PocoContractResolver = contractResolver; + KeyAccessor = keyAccessor; + MetadataProvider = metadataProvider; + DocumentSerializer = JsonSerializer.Create( GetDocumentSettings() ); + PocoSerializer = JsonSerializer.Create( GetPocoSettings() ); + MetadataSerialzier = JsonSerializer.Create( GetMetadataSettings() ); + } + + public JsonSerializerSettings GetPocoSettings() + { + var settings = new JsonSerializerSettings + { + NullValueHandling = NullValueHandling.Ignore, + MissingMemberHandling = MissingMemberHandling.Ignore, + TypeNameHandling = TypeNameHandling.All, + TypeNameAssemblyFormat = FormatterAssemblyStyle.Simple, + ContractResolver = PocoContractResolver + }; + settings.Converters.Add( new IsoDateTimeConverter() ); + return settings; + } + + public JsonSerializerSettings GetMetadataSettings() + { + var settings = new JsonSerializerSettings + { + NullValueHandling = NullValueHandling.Ignore, + MissingMemberHandling = MissingMemberHandling.Ignore, + TypeNameHandling = TypeNameHandling.None, + }; + settings.Converters.Add(new IsoDateTimeConverter()); + return settings; + } + + public JsonSerializerSettings GetDocumentSettings() + { + var settings = new JsonSerializerSettings + { + NullValueHandling = NullValueHandling.Ignore, + MissingMemberHandling = MissingMemberHandling.Ignore, + TypeNameHandling = TypeNameHandling.All, + TypeNameAssemblyFormat = FormatterAssemblyStyle.Simple, + }; + settings.Converters.Add( new IsoDateTimeConverter() ); + return settings; + } + } +} diff --git a/src/Relax/Impl/UtilityExtensions.cs b/src/Relax/Impl/UtilityExtensions.cs index eb11e30..2744ad9 100644 --- a/src/Relax/Impl/UtilityExtensions.cs +++ b/src/Relax/Impl/UtilityExtensions.cs @@ -1,6 +1,21 @@ -using Microsoft.Practices.ServiceLocation; +// /* +// Copyright 2008-2011 Alex Robson +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// */ using Relax.Config; using Relax.Impl.Http; +using Symbiote.Core; namespace Relax.Impl { @@ -8,61 +23,58 @@ public static class UtilityExtensions { private static CouchUtility _couchUtility; private static DocumentUtility _documentUtility; + private static CouchUtility CouchUtility { get { - _couchUtility = _couchUtility ?? ServiceLocator.Current.GetInstance(); + _couchUtility = _couchUtility ?? Assimilate.GetInstanceOf(); return _couchUtility; } } + private static DocumentUtility DocumentUtility { get { - _documentUtility = _documentUtility ?? ServiceLocator.Current.GetInstance(); + _documentUtility = _documentUtility ?? Assimilate.GetInstanceOf(); return _documentUtility; } } - public static string GetDocumentIdAsJson(this object instance) + public static string GetDocumentIdAsJson( this object instance ) { - return DocumentUtility.GetDocumentIdAsJson(instance); + return DocumentUtility.GetDocumentIdAsJson( instance ); } - public static object GetDocumentId(this object instance) + public static object GetDocumentId( this object instance ) { - return DocumentUtility.GetDocumentId(instance); + return DocumentUtility.GetDocumentId( instance ); } - public static string GetDocumentRevision(this object instance) - { - return DocumentUtility.GetDocumentRevision(instance); - } - - public static void SetDocumentRevision(this object instance, string revision) + public static string GetDocumentRevision( this object instance ) { - DocumentUtility.SetDocumentRevision(revision, instance); + return DocumentUtility.GetDocumentRevision( instance ); } - public static object[] GetDocmentsFromGraph(this object instance) + public static void SetDocumentRevision( this object instance, string revision ) { - return DocumentUtility.GetDocumentGraph(instance); + DocumentUtility.SetDocumentRevision( revision, instance ); } - public static CouchUri NewUri(this ICouchConfiguration configuration) + public static CouchUri NewUri( this ICouchConfiguration configuration ) { return CouchUtility.NewUri(); } - public static CouchUri NewUri(this ICouchConfiguration configuration) + public static CouchUri NewUri( this ICouchConfiguration configuration ) { return CouchUtility.NewUri(); } - public static CouchUri NewUri(this ICouchConfiguration configuration, string database) + public static CouchUri NewUri( this ICouchConfiguration configuration, string database ) { - return CouchUtility.NewUri(database); + return CouchUtility.NewUri( database ); } } } \ No newline at end of file diff --git a/src/Relax/NewRevision.cs b/src/Relax/NewRevision.cs deleted file mode 100644 index bf750dd..0000000 --- a/src/Relax/NewRevision.cs +++ /dev/null @@ -1,13 +0,0 @@ -using Newtonsoft.Json; - -namespace Symbiote.Relax.Impl -{ - public class NewRevision - { - [JsonProperty(PropertyName = "_id")] - public string Id { get; set; } - - [JsonProperty(PropertyName = "rev")] - public string Revision { get; set; } - } -} \ No newline at end of file diff --git a/src/Relax/Properties/AssemblyInfo.cs b/src/Relax/Properties/AssemblyInfo.cs index acf7cb0..ba52e0b 100644 --- a/src/Relax/Properties/AssemblyInfo.cs +++ b/src/Relax/Properties/AssemblyInfo.cs @@ -1,26 +1,43 @@ -using System.Reflection; -using System.Runtime.CompilerServices; +// /* +// Copyright 2008-2011 Alex Robson +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// */ +using System.Reflection; using System.Runtime.InteropServices; // General Information about an assembly is controlled through the following // set of attributes. Change these attribute values to modify the information // associated with an assembly. -[assembly: AssemblyTitle("Relax")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("Microsoft")] -[assembly: AssemblyProduct("Relax")] -[assembly: AssemblyCopyright("Copyright © Microsoft 2010")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] + +[assembly: AssemblyTitle( "Symbiote.Couch" )] +[assembly: AssemblyDescription( "" )] +[assembly: AssemblyConfiguration( "" )] +[assembly: AssemblyCompany( "Sharp Learning Curve" )] +[assembly: AssemblyProduct( "Symbiote.Couch" )] +[assembly: AssemblyCopyright( "Copyright © Alex Robson 2009" )] +[assembly: AssemblyTrademark( "" )] +[assembly: AssemblyCulture( "" )] // Setting ComVisible to false makes the types in this assembly not visible // to COM components. If you need to access a type in this assembly from // COM, set the ComVisible attribute to true on that type. -[assembly: ComVisible(false)] + +[assembly: ComVisible( false )] // The following GUID is for the ID of the typelib if this project is exposed to COM -[assembly: Guid("081093ee-3c50-40a0-a28f-8bc680dd9135")] + +[assembly: Guid( "e93a9fe5-a5de-4fd9-8364-7f6e26b2d955" )] // Version information for an assembly consists of the following four values: // @@ -32,5 +49,6 @@ // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.0.0.0")] -[assembly: AssemblyFileVersion("1.0.0.0")] + +[assembly: AssemblyVersion( "0.1.0.0" )] +[assembly: AssemblyFileVersion( "0.1.0.0" )] \ No newline at end of file diff --git a/src/Relax/Relax.csproj b/src/Relax/Relax.csproj index 19fa61c..fca6f87 100644 --- a/src/Relax/Relax.csproj +++ b/src/Relax/Relax.csproj @@ -17,54 +17,66 @@ true full false - ..\..\bin\Relax\ + ..\..\bin\debug\ DEBUG;TRACE prompt 4 + ..\..\bin\debug\Relax.XML pdbonly true - bin\Release\ + ..\bin\release\ TRACE prompt 4 + ..\bin\release\Relax.XML + + + + + - - + - - - - - + + + + + + + + + + + @@ -77,9 +89,6 @@ - - - @@ -110,20 +119,12 @@ - - - - ..\..\lib\Symbiote.Core\Microsoft.Practices.ServiceLocation.dll - - - ..\..\lib\Symbiote.Core\Newtonsoft.Json.dll - - ..\..\lib\Symbiote.Core\Symbiote.Core.dll + ..\..\lib\Symbiote.Core.dll diff --git a/src/Relax/RelaxAssimilation.cs b/src/Relax/RelaxAssimilation.cs deleted file mode 100644 index 475848e..0000000 --- a/src/Relax/RelaxAssimilation.cs +++ /dev/null @@ -1,18 +0,0 @@ -using System; -using Relax.Config; -using Symbiote.Core; - -namespace Relax -{ - public static class RelaxAssimilation - { - public static IAssimilate Relax(this IAssimilate assimilate, Action configure) - { - var config = new CouchConfigurator(); - configure(config); - var configuration = config.GetConfiguration(); - RelaxConfiguration.Configure(configuration); - return assimilate; - } - } -} \ No newline at end of file diff --git a/src/Relax/RelaxConfiguration.cs b/src/Relax/RelaxConfiguration.cs deleted file mode 100644 index 7e60cb1..0000000 --- a/src/Relax/RelaxConfiguration.cs +++ /dev/null @@ -1,62 +0,0 @@ -using System; -using Relax.Config; -using Relax.Impl; -using Relax.Impl.Cache; -using Relax.Impl.Http; -using Relax.Impl.Repository; -using Relax.Impl.Serialization; -using Symbiote.Core; -using Symbiote.Core.Cache; -using Symbiote.Core.DI; - -namespace Relax -{ - public class RelaxConfiguration - { - public static void Configure(Action configure) - where TDepedencyAdapter : class, IDependencyAdapter, new() - { - Assimilate.Core(); - var config = new CouchConfigurator(); - configure(config); - Configure(config.GetConfiguration()); - } - - public static void Configure(IDependencyAdapter dependencyAdapter, Action configure) - { - Assimilate.Core(dependencyAdapter); - var config = new CouchConfigurator(); - configure(config); - Configure(config.GetConfiguration()); - } - - public static void Configure(ICouchConfiguration configuration) - { - Assimilate.Dependencies(c => - { - c.For().Use(configuration); - c.For().Use(); - c.For().Use(); - c.For().Use(); - c.For().Use(); - c.For().Use().AsSingleton(); - c.For().Use(configuration.Conventions); - if (configuration.Cache) - { - if (!Assimilate.Assimilation.DependencyAdapter.HasPluginFor()) - { - throw new RelaxConfigurationException( - "You must have an implementation of ICacheProvider configured to use caching in Relax. Consider referencing Symbiote.Eidetic and adding the .Eidetic() call before this in your assimilation to utilize memcached or memcachedb as the cache provider for Relax." - ); - } - - c.For().Use(); - } - else - { - c.For().Use(); - } - }); - } - } -} diff --git a/src/Relax/ReplicationCommand.cs b/src/Relax/ReplicationCommand.cs deleted file mode 100644 index cfd2873..0000000 --- a/src/Relax/ReplicationCommand.cs +++ /dev/null @@ -1,43 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using Newtonsoft.Json; - -namespace Symbiote.Relax.Impl -{ - [Serializable] - [JsonObject(MemberSerialization.OptOut)] - public class ReplicationCommand - { - [JsonProperty("source")] - public string SourceUri { get; set; } - [JsonProperty("target")] - public string TargetUri { get; set; } - [JsonProperty("continuous")] - public bool ContinuousReplication { get; set; } - [JsonProperty("create_target")] - public bool CreateTarget { get; set; } - - public static ReplicationCommand Once(CouchUri source, CouchUri target) - { - return new ReplicationCommand() - { - SourceUri = source.ToString(), - TargetUri = target.ToString(), - CreateTarget = true - }; - } - - public static ReplicationCommand Continuous(CouchUri source, CouchUri target) - { - return new ReplicationCommand() - { - SourceUri = source.ToString(), - TargetUri = target.ToString(), - ContinuousReplication = true, - CreateTarget = true - }; - } - } -} diff --git a/src/Relax/SaveResponse.cs b/src/Relax/SaveResponse.cs deleted file mode 100644 index b7f8847..0000000 --- a/src/Relax/SaveResponse.cs +++ /dev/null @@ -1,16 +0,0 @@ -using Newtonsoft.Json; - -namespace Symbiote.Relax.Impl -{ - public class SaveResponse - { - [JsonProperty(PropertyName = "ok")] - public bool Success { get; set; } - - [JsonProperty(PropertyName = "id")] - public string Id { get; set; } - - [JsonProperty(PropertyName = "rev")] - public string Revision { get; set; } - } -} \ No newline at end of file diff --git a/src/Relax/ViewQuery.cs b/src/Relax/ViewQuery.cs deleted file mode 100644 index b7c57f1..0000000 --- a/src/Relax/ViewQuery.cs +++ /dev/null @@ -1,90 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; - -namespace Symbiote.Relax.Impl -{ - public class ViewQuery - { - protected CouchUri _uri; - - public ViewQuery AllowStale() - { - _uri.StaleOk(); - return this; - } - - public ViewQuery DescendingOrder() - { - _uri.Descending(); - return this; - } - - public ViewQuery EndingWith(TKey key) - { - _uri.EndKey(key); - return this; - } - - public ViewQuery Group() - { - _uri.Group(); - return this; - } - - public ViewQuery Group(int groupLevel) - { - _uri.Group(groupLevel); - return this; - } - - public ViewQuery LimitTo(int count) - { - _uri.Limit(count); - return this; - } - - public ViewQuery NoReduce() - { - _uri.NoReduce(); - return this; - } - - public ViewQuery PagedBy(int pageNumber, int pageSize) - { - int number = (pageNumber - 1) * pageSize; - _uri.Skip(number < 0 ? 0 : number).Limit(pageSize); - return this; - } - - public ViewQuery Skip(int count) - { - _uri.Skip(count); - return this; - } - - public ViewQuery StartingWith(TKey key) - { - _uri.StartKey(key); - return this; - } - - public ViewQuery WithKey(TKey key) - { - _uri.Key(key); - return this; - } - - public ViewQuery WithKeyAndRevision(TKey key, TRev revision) - { - _uri.KeyAndRev(key, revision); - return this; - } - - public ViewQuery(CouchUri uri) - { - _uri = uri; - } - } -} diff --git a/src/Relax/ViewResult.cs b/src/Relax/ViewResult.cs deleted file mode 100644 index 873d1c3..0000000 --- a/src/Relax/ViewResult.cs +++ /dev/null @@ -1,24 +0,0 @@ -using System.Collections.Generic; -using System.Linq; -using Newtonsoft.Json; - -namespace Symbiote.Relax.Impl -{ - public class ViewResult - where TModel : class, IHandleJsonDocumentId - { - [JsonProperty(PropertyName = "total_rows")] - public int TotalRows { get; set; } - - [JsonProperty(PropertyName = "offset")] - public int Offset { get; set; } - - [JsonProperty(PropertyName = "rows")] - public ViewRow[] Rows { get; set; } - - public IEnumerable GetList() - { - return Rows.Select(x => x.Model); - } - } -} \ No newline at end of file diff --git a/src/Relax/ViewRow.cs b/src/Relax/ViewRow.cs deleted file mode 100644 index fb2a324..0000000 --- a/src/Relax/ViewRow.cs +++ /dev/null @@ -1,16 +0,0 @@ -using Newtonsoft.Json; - -namespace Symbiote.Relax.Impl -{ - public class ViewRow - { - [JsonProperty(PropertyName = "id")] - public string Id { get; set; } - - [JsonProperty(PropertyName = "key")] - public string Key { get; set; } - - [JsonProperty(PropertyName = "doc")] - public TModel Model { get; set; } - } -} \ No newline at end of file diff --git a/tests/Assimilation/when_assimilating_with_caching.cs b/tests/Assimilation/when_assimilating_with_caching.cs index 11261ba..bb6b1f0 100644 --- a/tests/Assimilation/when_assimilating_with_caching.cs +++ b/tests/Assimilation/when_assimilating_with_caching.cs @@ -1,10 +1,8 @@ using Machine.Specifications; using Moq; using Relax.Config; -using Relax.Impl; -using StructureMap; +using Symbiote.Core; using Symbiote.Core.Cache; -using Symbiote.StructureMap; using It = Machine.Specifications.It; namespace Relax.Tests.Assimilation @@ -13,31 +11,33 @@ namespace Relax.Tests.Assimilation [Subject("Assimilation")] public class when_assimilating_with_caching { - private Because of = () => + private Because of = () => { + Assimilate.Initialize(); var rememberMock = new Mock().Object; - ObjectFactory.Configure(x => x.For().Use(rememberMock)); - RelaxConfiguration.Configure(x => x.UseDefaults().Cache()); + Assimilate.Dependencies( x => x.For().Use( rememberMock ) ); + CouchInit.Configure(x => x.Cache()); }; private It should_use_CouchConfiguration_for_ICouchConfiguration = - () => ObjectFactory - .Container - .Model - .DefaultTypeFor() + () => Assimilate + .Assimilation + .DependencyAdapter + .GetDefaultTypeFor() .ShouldEqual(typeof(CouchConfiguration)); private It should_use_DocumentRepository_for_IDocumentRepository = - () => ObjectFactory - .Container - .Model - .HasImplementationsFor(typeof (IDocumentRepository)) - .ShouldBeTrue(); + () => Assimilate + .Assimilation + .DependencyAdapter + .HasPluginFor(typeof (IDocumentRepository)) + .ShouldBeTrue(); - private It should_have_couch_server_configured = - () => ObjectFactory - .Container - .Model - .HasDefaultImplementationFor(); + private It should_have_couch_server_configured = + () => Assimilate + .Assimilation + .DependencyAdapter + .HasPluginFor() + .ShouldBeTrue(); } } diff --git a/tests/Assimilation/when_assimilating_without_caching.cs b/tests/Assimilation/when_assimilating_without_caching.cs index b0c8d18..1e2280e 100644 --- a/tests/Assimilation/when_assimilating_without_caching.cs +++ b/tests/Assimilation/when_assimilating_without_caching.cs @@ -1,35 +1,33 @@ using Machine.Specifications; using Relax.Config; -using Relax.Impl; -using StructureMap; using Symbiote.Core; -using Symbiote.StructureMap; namespace Relax.Tests.Assimilation { [Subject("Assimilation")] public class when_assimilating_without_caching { - private Because of = () => RelaxConfiguration.Configure(x => x.UseDefaults()); + private Because of = () => Assimilate.Initialize(); private It should_use_CouchConfiguration_for_ICouchConfiguration = - () => ObjectFactory - .Container - .Model - .DefaultTypeFor() - .ShouldEqual(typeof(CouchConfiguration)); + () => Assimilate + .Assimilation + .DependencyAdapter + .GetDefaultTypeFor() + .ShouldEqual(typeof(CouchConfiguration)); private It should_use_DocumentRepository_for_IDocumentRepository = - () => ObjectFactory - .Container - .Model - .HasImplementationsFor(typeof(IDocumentRepository)) - .ShouldBeTrue(); + () => Assimilate + .Assimilation + .DependencyAdapter + .HasPluginFor() + .ShouldBeTrue(); private It should_have_couch_server_configured = - () => ObjectFactory - .Container - .Model - .HasDefaultImplementationFor(); + () => Assimilate + .Assimilation + .DependencyAdapter + .HasPluginFor() + .ShouldBeTrue(); } } \ No newline at end of file diff --git a/tests/Caching/when_adding_cross_reference.cs b/tests/Caching/when_adding_cross_reference.cs index ca4bfc4..eb1c129 100644 --- a/tests/Caching/when_adding_cross_reference.cs +++ b/tests/Caching/when_adding_cross_reference.cs @@ -1,6 +1,5 @@ using Machine.Specifications; using Relax.Impl.Cache; -using It = Machine.Specifications.It; namespace Relax.Tests.Caching { diff --git a/tests/Caching/when_getting_cache_keys_with_default_cache_key_builder.cs b/tests/Caching/when_getting_cache_keys_with_default_cache_key_builder.cs index b5acbf0..3c2a617 100644 --- a/tests/Caching/when_getting_cache_keys_with_default_cache_key_builder.cs +++ b/tests/Caching/when_getting_cache_keys_with_default_cache_key_builder.cs @@ -1,8 +1,4 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using Machine.Specifications; +using Machine.Specifications; using Relax.Impl.Cache; namespace Relax.Tests.Caching diff --git a/tests/Caching/when_getting_documents_by_range_cached.cs b/tests/Caching/when_getting_documents_by_range_cached.cs index 4650cb6..e1b0334 100644 --- a/tests/Caching/when_getting_documents_by_range_cached.cs +++ b/tests/Caching/when_getting_documents_by_range_cached.cs @@ -4,7 +4,6 @@ using Moq; using Relax.Impl.Cache; using Symbiote.Core; -using Symbiote.StructureMap; using It = Machine.Specifications.It; namespace Relax.Tests.Caching @@ -20,7 +19,7 @@ public class when_getting_documents_by_range_cached : with_couch_cache_provider private Because of = () => { - Assimilate.Core().Relax(x => x.UseDefaults()); + Assimilate.Initialize(); documents = new List() { diff --git a/tests/Caching/when_getting_documents_by_range_uncached.cs b/tests/Caching/when_getting_documents_by_range_uncached.cs index 292b87f..117e511 100644 --- a/tests/Caching/when_getting_documents_by_range_uncached.cs +++ b/tests/Caching/when_getting_documents_by_range_uncached.cs @@ -3,7 +3,6 @@ using Machine.Specifications; using Relax.Impl.Cache; using Symbiote.Core; -using Symbiote.StructureMap; namespace Relax.Tests.Caching { @@ -18,7 +17,7 @@ public class when_getting_documents_by_range_uncached : with_couch_cache_provide private Because of = () => { - Assimilate.Core().Relax(x => x.UseDefaults()); + Assimilate.Initialize(); documents = new List() { diff --git a/tests/Caching/when_getting_entire_list_cached.cs b/tests/Caching/when_getting_entire_list_cached.cs index 7791734..8574f9c 100644 --- a/tests/Caching/when_getting_entire_list_cached.cs +++ b/tests/Caching/when_getting_entire_list_cached.cs @@ -4,7 +4,6 @@ using Moq; using Relax.Impl.Cache; using Symbiote.Core; -using Symbiote.StructureMap; using It = Machine.Specifications.It; namespace Relax.Tests.Caching @@ -20,7 +19,7 @@ public class when_getting_entire_list_cached : with_couch_cache_provider private Because of = () => { - Assimilate.Core().Relax(x => x.UseDefaults()); + Assimilate.Initialize(); documents = new List() { diff --git a/tests/Caching/when_getting_entire_list_uncached.cs b/tests/Caching/when_getting_entire_list_uncached.cs index 777c8a7..4e18f9b 100644 --- a/tests/Caching/when_getting_entire_list_uncached.cs +++ b/tests/Caching/when_getting_entire_list_uncached.cs @@ -3,7 +3,6 @@ using Machine.Specifications; using Relax.Impl.Cache; using Symbiote.Core; -using Symbiote.StructureMap; namespace Relax.Tests.Caching { @@ -18,7 +17,7 @@ public class when_getting_entire_list_uncached : with_couch_cache_provider private Because of = () => { - Assimilate.Core().Relax(x => x.UseDefaults()); + Assimilate.Initialize(); documents = new List() { diff --git a/tests/Caching/when_getting_paged_list_cached.cs b/tests/Caching/when_getting_paged_list_cached.cs index ffdaa3b..9ff13d5 100644 --- a/tests/Caching/when_getting_paged_list_cached.cs +++ b/tests/Caching/when_getting_paged_list_cached.cs @@ -4,7 +4,6 @@ using Moq; using Relax.Impl.Cache; using Symbiote.Core; -using Symbiote.StructureMap; using It = Machine.Specifications.It; namespace Relax.Tests.Caching @@ -20,7 +19,7 @@ public class when_getting_paged_list_cached : with_couch_cache_provider private Because of = () => { - Assimilate.Core().Relax(x => x.UseDefaults()); + Assimilate.Initialize(); documents = new List() { diff --git a/tests/Caching/when_getting_paged_list_uncached.cs b/tests/Caching/when_getting_paged_list_uncached.cs index e71e81d..06cb470 100644 --- a/tests/Caching/when_getting_paged_list_uncached.cs +++ b/tests/Caching/when_getting_paged_list_uncached.cs @@ -3,7 +3,6 @@ using Machine.Specifications; using Relax.Impl.Cache; using Symbiote.Core; -using Symbiote.StructureMap; namespace Relax.Tests.Caching { @@ -18,7 +17,7 @@ public class when_getting_paged_list_uncached : with_couch_cache_provider private Because of = () => { - Assimilate.Core().Relax(x => x.UseDefaults()); + Assimilate.Initialize(); documents = new List() { diff --git a/tests/Caching/when_saving_a_collection.cs b/tests/Caching/when_saving_a_collection.cs index 29d52b6..e4e809d 100644 --- a/tests/Caching/when_saving_a_collection.cs +++ b/tests/Caching/when_saving_a_collection.cs @@ -3,7 +3,6 @@ using Machine.Specifications; using Relax.Impl.Cache; using Symbiote.Core; -using Symbiote.StructureMap; namespace Relax.Tests.Caching { @@ -20,7 +19,7 @@ public class when_saving_a_collection : with_couch_cache_provider private Because of = () => { - Assimilate.Core().Relax(x => x.UseDefaults()); + Assimilate.Initialize(); document1 = new TestDocument { Message = "Doc 1", diff --git a/tests/Caching/when_saving_a_document.cs b/tests/Caching/when_saving_a_document.cs index f676857..661223d 100644 --- a/tests/Caching/when_saving_a_document.cs +++ b/tests/Caching/when_saving_a_document.cs @@ -2,7 +2,6 @@ using Machine.Specifications; using Relax.Impl.Cache; using Symbiote.Core; -using Symbiote.StructureMap; namespace Relax.Tests.Caching { @@ -15,7 +14,7 @@ public class when_saving_a_document : with_couch_cache_provider private Because of = () => { - Assimilate.Core().Relax(x => x.UseDefaults()); + Assimilate.Initialize(); document = new TestDocument() {DocumentId = _documentId, DocumentRevision = "1"}; cacheKeyBuilderMock diff --git a/tests/Caching/with_cache_provider.cs b/tests/Caching/with_cache_provider.cs index 615d7fa..2a6562b 100644 --- a/tests/Caching/with_cache_provider.cs +++ b/tests/Caching/with_cache_provider.cs @@ -1,13 +1,10 @@ -using System; -using System.Collections.Generic; -using System.Text; -using Machine.Specifications; +using Machine.Specifications; using Moq; using Symbiote.Core.Cache; namespace Relax.Tests.Caching { - public abstract class with_cache_provider + public abstract class with_cache_provider : with_configuration { protected static Mock cacheProviderMock; protected static ICacheProvider CacheProvider { get { return cacheProviderMock.Object; } } diff --git a/tests/Caching/with_caching_provider.cs b/tests/Caching/with_caching_provider.cs index aca0475..3348127 100644 --- a/tests/Caching/with_caching_provider.cs +++ b/tests/Caching/with_caching_provider.cs @@ -1,9 +1,4 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; - -namespace Relax.Tests.Caching +namespace Relax.Tests.Caching { public abstract class with_caching_provider { diff --git a/tests/Commands/DeletingAttachments/with_delete_attachment_command.cs b/tests/Commands/DeletingAttachments/with_delete_attachment_command.cs index 0f83d79..260ffdd 100644 --- a/tests/Commands/DeletingAttachments/with_delete_attachment_command.cs +++ b/tests/Commands/DeletingAttachments/with_delete_attachment_command.cs @@ -1,7 +1,4 @@ -using System; -using System.Collections.Generic; -using System.Text; -using Machine.Specifications; +using Machine.Specifications; using Relax.Impl.Commands; using Relax.Impl.Http; diff --git a/tests/Commands/FromView/with_get_from_view_command.cs b/tests/Commands/FromView/with_get_from_view_command.cs index 2914213..1b77d7e 100644 --- a/tests/Commands/FromView/with_get_from_view_command.cs +++ b/tests/Commands/FromView/with_get_from_view_command.cs @@ -1,7 +1,4 @@ -using System; -using System.Collections.Generic; -using System.Text; -using Machine.Specifications; +using Machine.Specifications; using Relax.Impl.Commands; using Relax.Impl.Http; diff --git a/tests/Commands/GettingAttachments/with_get_attachment_command.cs b/tests/Commands/GettingAttachments/with_get_attachment_command.cs index 662abe7..c33528f 100644 --- a/tests/Commands/GettingAttachments/with_get_attachment_command.cs +++ b/tests/Commands/GettingAttachments/with_get_attachment_command.cs @@ -1,6 +1,4 @@ using System; -using System.Collections.Generic; -using System.Linq; using System.Text; using Machine.Specifications; using Relax.Impl.Commands; diff --git a/tests/Commands/GettingDocuments/when_getting_all_documents.cs b/tests/Commands/GettingDocuments/when_getting_all_documents.cs index c9bf34b..585233f 100644 --- a/tests/Commands/GettingDocuments/when_getting_all_documents.cs +++ b/tests/Commands/GettingDocuments/when_getting_all_documents.cs @@ -1,10 +1,9 @@ -using System; -using System.Linq; +using System.Linq; using Machine.Specifications; using Relax.Impl.Commands; using Relax.Impl.Json; -namespace Relax.Tests.Commands +namespace Relax.Tests.Commands.GettingDocuments { public class when_getting_all_documents : with_get_all_docs { @@ -21,7 +20,7 @@ public class when_getting_all_documents : with_get_all_docs private It should_produce_expected_json = () => json.ShouldEqual(response); - private It should_have_two_rows = () => ShouldExtensionMethods.ShouldEqual(viewResult.GetList().Count(), 2); + private It should_have_two_rows = () => viewResult.GetList().Count().ShouldEqual( 2 ); private It should_create_valid_instances = () => { diff --git a/tests/Commands/GettingDocuments/when_getting_all_documents_by_ids.cs b/tests/Commands/GettingDocuments/when_getting_all_documents_by_ids.cs index ede6660..ea61007 100644 --- a/tests/Commands/GettingDocuments/when_getting_all_documents_by_ids.cs +++ b/tests/Commands/GettingDocuments/when_getting_all_documents_by_ids.cs @@ -1,9 +1,10 @@ -using System.Linq; +using System.Diagnostics; +using System.Linq; using Machine.Specifications; using Relax.Impl.Commands; using Relax.Impl.Json; -namespace Relax.Tests.Commands +namespace Relax.Tests.Commands.GettingDocuments { public class when_getting_all_documents_by_ids : with_get_all_docs_by_ids { @@ -14,7 +15,7 @@ public class when_getting_all_documents_by_ids : with_get_all_docs_by_ids private Because of = () => { result = command.GetDocuments(new object[] {"1","2"}); - viewResult = result.GetResultAs>(); + viewResult = command.DeserializeView( result.Json ); json = result.Json.Replace("\r\n", "").Replace(" ", ""); }; @@ -37,4 +38,27 @@ public class when_getting_all_documents_by_ids : with_get_all_docs_by_ids private It should_call_action = () => mockAction.Verify(); } + + public class when_getting_all_documents_by_ids_timed : with_get_all_docs_by_ids + { + protected static CommandResult result; + protected static ViewResult viewResult; + protected static string json; + protected static Stopwatch watch; + + private Because of = () => + { + result = command.GetDocuments(new object[] {"1","2"}); + watch = Stopwatch.StartNew(); + + for( int i = 0; i < 10000; i++ ) + { + viewResult = command.DeserializeView( result.Json ); + } + + watch.Stop(); + }; + + private It should_not_take_longer_than_1_second = () => watch.ElapsedMilliseconds.ShouldBeLessThan( 3000 ); + } } \ No newline at end of file diff --git a/tests/Commands/GettingDocuments/when_getting_all_documents_paged.cs b/tests/Commands/GettingDocuments/when_getting_all_documents_paged.cs index 7c22d15..080a5e2 100644 --- a/tests/Commands/GettingDocuments/when_getting_all_documents_paged.cs +++ b/tests/Commands/GettingDocuments/when_getting_all_documents_paged.cs @@ -3,7 +3,7 @@ using Relax.Impl.Commands; using Relax.Impl.Json; -namespace Relax.Tests.Commands +namespace Relax.Tests.Commands.GettingDocuments { public class when_getting_all_documents_paged : with_get_docs_paged { diff --git a/tests/Commands/GettingDocuments/when_getting_all_pocos_by_ids.cs b/tests/Commands/GettingDocuments/when_getting_all_pocos_by_ids.cs new file mode 100644 index 0000000..5291379 --- /dev/null +++ b/tests/Commands/GettingDocuments/when_getting_all_pocos_by_ids.cs @@ -0,0 +1,46 @@ +using System.Linq; +using Machine.Specifications; +using Relax.Impl.Commands; +using Relax.Impl.Json; +using Relax.Impl.Serialization; +using Symbiote.Core; + +namespace Relax.Tests.Commands.GettingDocuments +{ + public class when_getting_all_pocos_by_ids : with_get_all_pocos_by_ids + { + protected static CommandResult result; + protected static ViewResult viewResult; + protected static string json; + protected static IProvideDocumentMetadata MetadataProvider; + + private Because of = () => + { + MetadataProvider = Assimilate.GetInstanceOf(); + result = command.GetDocuments(new object[] {"1","2"}); + viewResult = command.DeserializeView( result.Json ); + json = result.Json.Replace("\r\n", "").Replace(" ", ""); + }; + + private It should_produce_expected_json = () => json.ShouldEqual(response); + + private It should_have_two_rows = () => ShouldExtensionMethods.ShouldEqual(viewResult.GetList().Count(), 2); + + private It should_create_valid_instances = () => + { + var metadata = MetadataProvider.GetMetadata( "1" ); + var firstDoc = viewResult.GetList().ToList()[0]; + metadata._id.ShouldEqual("1"); + metadata._rev.ShouldEqual("1"); + firstDoc.Message.ShouldEqual("Test1"); + + var secondDoc = viewResult.GetList().ToList()[1]; + metadata = MetadataProvider.GetMetadata( "2" ); + metadata._id.ShouldEqual("2"); + metadata._rev.ShouldEqual("1"); + secondDoc.Message.ShouldEqual("Test2"); + }; + + private It should_call_action = () => mockAction.Verify(); + } +} \ No newline at end of file diff --git a/tests/Commands/GettingDocuments/when_getting_all_pocos_by_ids_timed.cs b/tests/Commands/GettingDocuments/when_getting_all_pocos_by_ids_timed.cs new file mode 100644 index 0000000..9d379df --- /dev/null +++ b/tests/Commands/GettingDocuments/when_getting_all_pocos_by_ids_timed.cs @@ -0,0 +1,35 @@ +using System.Diagnostics; +using Machine.Specifications; +using Relax.Impl.Commands; +using Relax.Impl.Json; +using Relax.Impl.Serialization; +using Symbiote.Core; + +namespace Relax.Tests.Commands.GettingDocuments +{ + public class when_getting_all_pocos_by_ids_timed : with_get_all_pocos_by_ids + { + protected static CommandResult result; + protected static ViewResult viewResult; + protected static string json; + protected static IProvideDocumentMetadata MetadataProvider; + protected static Stopwatch watch; + + private Because of = () => + { + MetadataProvider = Assimilate.GetInstanceOf(); + result = command.GetDocuments(new object[] {"1","2"}); + + watch = Stopwatch.StartNew(); + + for( int i = 0; i < 10000; i++ ) + { + viewResult = command.DeserializeView( result.Json ); + } + + watch.Stop(); + }; + + private It should_not_take_longer_than_2_seconds = () => watch.ElapsedMilliseconds.ShouldBeLessThan( 3000 ); + } +} \ No newline at end of file diff --git a/tests/Commands/GettingDocuments/when_getting_doc_by_id.cs b/tests/Commands/GettingDocuments/when_getting_doc_by_id.cs index 6458ec6..c2e6ed7 100644 --- a/tests/Commands/GettingDocuments/when_getting_doc_by_id.cs +++ b/tests/Commands/GettingDocuments/when_getting_doc_by_id.cs @@ -1,12 +1,7 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using Machine.Specifications; +using Machine.Specifications; using Relax.Impl.Commands; -using It = Machine.Specifications.It; -namespace Relax.Tests.Commands +namespace Relax.Tests.Commands.GettingDocuments { public class when_getting_doc_by_id : with_get_doc_by_id_setup { @@ -17,7 +12,7 @@ public class when_getting_doc_by_id : with_get_doc_by_id_setup private Because of = () => { result = command.GetDocument("1"); - model = result.GetResultAs(); + model = command.Deserialize(result.Json); json = result.Json.Replace("\r\n", "").Replace(" ", ""); }; diff --git a/tests/Commands/GettingDocuments/when_getting_doc_by_id_and_rev.cs b/tests/Commands/GettingDocuments/when_getting_doc_by_id_and_rev.cs index 30e08ca..0146e47 100644 --- a/tests/Commands/GettingDocuments/when_getting_doc_by_id_and_rev.cs +++ b/tests/Commands/GettingDocuments/when_getting_doc_by_id_and_rev.cs @@ -1,7 +1,7 @@ using Machine.Specifications; using Relax.Impl.Commands; -namespace Relax.Tests.Commands +namespace Relax.Tests.Commands.GettingDocuments { public class when_getting_doc_by_id_and_rev : with_get_doc_by_id_and_rev_setup { diff --git a/tests/Commands/GettingDocuments/when_getting_doc_by_id_timed.cs b/tests/Commands/GettingDocuments/when_getting_doc_by_id_timed.cs new file mode 100644 index 0000000..ccb5912 --- /dev/null +++ b/tests/Commands/GettingDocuments/when_getting_doc_by_id_timed.cs @@ -0,0 +1,30 @@ +using System.Diagnostics; +using Machine.Specifications; +using Relax.Impl.Commands; + +namespace Relax.Tests.Commands.GettingDocuments +{ + public class when_getting_doc_by_id_timed : with_get_doc_by_id_setup + { + protected static CommandResult result; + protected static TestDoc model; + protected static string json; + protected static Stopwatch watch; + + private Because of = () => + { + watch = Stopwatch.StartNew(); + + result = command.GetDocument("1"); + + for( int i = 0; i < 10000; i++ ) + { + model = command.Deserialize(result.Json); + } + + watch.Stop(); + }; + + private It should_take_less_than_1_second = () => watch.ElapsedMilliseconds.ShouldBeLessThan( 1100 ); + } +} \ No newline at end of file diff --git a/tests/Commands/GettingDocuments/when_getting_documents_by_key_range.cs b/tests/Commands/GettingDocuments/when_getting_documents_by_key_range.cs index d92ae12..18e27e6 100644 --- a/tests/Commands/GettingDocuments/when_getting_documents_by_key_range.cs +++ b/tests/Commands/GettingDocuments/when_getting_documents_by_key_range.cs @@ -2,7 +2,7 @@ using Relax.Impl.Commands; using Relax.Impl.Json; -namespace Relax.Tests.Commands +namespace Relax.Tests.Commands.GettingDocuments { public class when_getting_documents_by_key_range : with_get_doc_by_range { diff --git a/tests/Commands/GettingDocuments/when_getting_poco_by_id.cs b/tests/Commands/GettingDocuments/when_getting_poco_by_id.cs new file mode 100644 index 0000000..c7c9e30 --- /dev/null +++ b/tests/Commands/GettingDocuments/when_getting_poco_by_id.cs @@ -0,0 +1,35 @@ +using Machine.Specifications; +using Relax.Impl.Commands; +using Relax.Impl.Serialization; +using Symbiote.Core; + +namespace Relax.Tests.Commands.GettingDocuments +{ + public class when_getting_poco_by_id : with_get_poco_by_id_setup + { + protected static CommandResult result; + protected static MyPoco model; + protected static string json; + protected static IProvideDocumentMetadata MetadataProvider; + + private Because of = () => + { + MetadataProvider = Assimilate.GetInstanceOf(); + result = command.GetDocument("1"); + model = command.Deserialize(result.Json); + json = result.Json.Replace("\r\n", "").Replace(" ", ""); + }; + + private It should_produce_expected_json = () => json.ShouldEqual(response); + + private It should_create_valid_instance = () => + { + var metadata = MetadataProvider.GetMetadata( "1" ); + metadata._id.ShouldEqual("1"); + metadata._rev.ShouldEqual("1"); + model.MyId.ShouldEqual( "1" ); + model.Message.ShouldEqual("Test"); + }; + private It should_call_action = () => mockAction.Verify(); + } +} \ No newline at end of file diff --git a/tests/Commands/GettingDocuments/when_getting_poco_by_id_timed.cs b/tests/Commands/GettingDocuments/when_getting_poco_by_id_timed.cs new file mode 100644 index 0000000..852605b --- /dev/null +++ b/tests/Commands/GettingDocuments/when_getting_poco_by_id_timed.cs @@ -0,0 +1,34 @@ +using System.Diagnostics; +using Machine.Specifications; +using Relax.Impl.Commands; +using Relax.Impl.Serialization; +using Symbiote.Core; + +namespace Relax.Tests.Commands.GettingDocuments +{ + public class when_getting_poco_by_id_timed : with_get_poco_by_id_setup + { + protected static CommandResult result; + protected static MyPoco model; + protected static string json; + protected static IProvideDocumentMetadata MetadataProvider; + protected static Stopwatch watch; + + private Because of = () => + { + MetadataProvider = Assimilate.GetInstanceOf(); + + watch = Stopwatch.StartNew(); + + result = command.GetDocument("1"); + for( int i = 0; i < 10000; i++ ) + { + model = command.Deserialize(result.Json); + } + + watch.Stop(); + }; + + private It should_not_take_over_1_second = () => watch.ElapsedMilliseconds.ShouldBeLessThan( 1000 ); + } +} \ No newline at end of file diff --git a/tests/Commands/GettingDocuments/with_get_all_docs.cs b/tests/Commands/GettingDocuments/with_get_all_docs.cs index 9b3676e..98437eb 100644 --- a/tests/Commands/GettingDocuments/with_get_all_docs.cs +++ b/tests/Commands/GettingDocuments/with_get_all_docs.cs @@ -2,7 +2,7 @@ using Relax.Impl.Commands; using Relax.Impl.Http; -namespace Relax.Tests.Commands +namespace Relax.Tests.Commands.GettingDocuments { public abstract class with_get_all_docs : with_command_factory { diff --git a/tests/Commands/GettingDocuments/with_get_all_docs_by_ids.cs b/tests/Commands/GettingDocuments/with_get_all_docs_by_ids.cs index 73f84fa..86270e7 100644 --- a/tests/Commands/GettingDocuments/with_get_all_docs_by_ids.cs +++ b/tests/Commands/GettingDocuments/with_get_all_docs_by_ids.cs @@ -2,9 +2,9 @@ using Relax.Impl.Commands; using Relax.Impl.Http; using Relax.Impl.Json; -using Symbiote.Core.Extensions; +using Symbiote.Core.Serialization; -namespace Relax.Tests.Commands +namespace Relax.Tests.Commands.GettingDocuments { public abstract class with_get_all_docs_by_ids : with_command_factory { diff --git a/tests/Commands/GettingDocuments/with_get_all_docs_paged.cs b/tests/Commands/GettingDocuments/with_get_all_docs_paged.cs index 3aadf91..048a541 100644 --- a/tests/Commands/GettingDocuments/with_get_all_docs_paged.cs +++ b/tests/Commands/GettingDocuments/with_get_all_docs_paged.cs @@ -1,6 +1,6 @@ using Machine.Specifications; -namespace Relax.Tests.Commands +namespace Relax.Tests.Commands.GettingDocuments { public abstract class with_get_all_docs_paged : with_get_all_docs { diff --git a/tests/Commands/GettingDocuments/with_get_all_pocos_by_ids.cs b/tests/Commands/GettingDocuments/with_get_all_pocos_by_ids.cs new file mode 100644 index 0000000..5888c95 --- /dev/null +++ b/tests/Commands/GettingDocuments/with_get_all_pocos_by_ids.cs @@ -0,0 +1,28 @@ +using Machine.Specifications; +using Relax.Impl.Commands; +using Relax.Impl.Http; +using Relax.Impl.Json; +using Symbiote.Core.Serialization; + +namespace Relax.Tests.Commands.GettingDocuments +{ + public abstract class with_get_all_pocos_by_ids : with_command_factory + { + protected static KeyList keyList; + protected static string response; + protected static string url; + protected static GetDocumentsByIdsCommand command; + + private Establish context = () => + { + keyList = new KeyList() { keys = new object[] { "1", "2" } }; + response = @"{""total_rows"":""2"",""offset"":""0"",""rows"":[{""doc"":{""$type"":""Relax.Tests.Commands.MyPoco,Relax.Tests"",""_id"":""1"",""_rev"":""1"",""Message"":""Test1"",""MyId"":""1""}},{""doc"":{""$type"":""Relax.Tests.Commands.MyPoco,Relax.Tests"",""_id"":""2"",""_rev"":""1"",""Message"":""Test2"",""MyId"":""2""}}]}"; + url = @"http://localhost:5984/relax/_all_docs?include_docs=true"; + mockAction + .Setup(x => x.Post(Moq.It.Is(i => i.ToString() == url), keyList.ToJson(false))) + .Returns(response) + .AtMostOnce(); + command = factory.CreateGetDocumentsByIdsCommand(); + }; + } +} \ No newline at end of file diff --git a/tests/Commands/GettingDocuments/with_get_doc_by_id_and_rev_setup.cs b/tests/Commands/GettingDocuments/with_get_doc_by_id_and_rev_setup.cs index 02591c1..8540e31 100644 --- a/tests/Commands/GettingDocuments/with_get_doc_by_id_and_rev_setup.cs +++ b/tests/Commands/GettingDocuments/with_get_doc_by_id_and_rev_setup.cs @@ -1,6 +1,6 @@ using Machine.Specifications; -namespace Relax.Tests.Commands +namespace Relax.Tests.Commands.GettingDocuments { public abstract class with_get_doc_by_id_and_rev_setup : with_get_doc_by_id_setup { diff --git a/tests/Commands/GettingDocuments/with_get_doc_by_id_setup.cs b/tests/Commands/GettingDocuments/with_get_doc_by_id_setup.cs index ba0d801..30adaa6 100644 --- a/tests/Commands/GettingDocuments/with_get_doc_by_id_setup.cs +++ b/tests/Commands/GettingDocuments/with_get_doc_by_id_setup.cs @@ -2,7 +2,7 @@ using Relax.Impl.Commands; using Relax.Impl.Http; -namespace Relax.Tests.Commands +namespace Relax.Tests.Commands.GettingDocuments { public abstract class with_get_doc_by_id_setup : with_command_factory { diff --git a/tests/Commands/GettingDocuments/with_get_doc_by_range.cs b/tests/Commands/GettingDocuments/with_get_doc_by_range.cs index 2bcc7a2..30aa378 100644 --- a/tests/Commands/GettingDocuments/with_get_doc_by_range.cs +++ b/tests/Commands/GettingDocuments/with_get_doc_by_range.cs @@ -2,7 +2,7 @@ using Relax.Impl.Commands; using Relax.Impl.Http; -namespace Relax.Tests.Commands +namespace Relax.Tests.Commands.GettingDocuments { public abstract class with_get_doc_by_range : with_command_factory { diff --git a/tests/Commands/GettingDocuments/with_get_poco_by_id_setup.cs b/tests/Commands/GettingDocuments/with_get_poco_by_id_setup.cs new file mode 100644 index 0000000..2a0c9b5 --- /dev/null +++ b/tests/Commands/GettingDocuments/with_get_poco_by_id_setup.cs @@ -0,0 +1,24 @@ +using Machine.Specifications; +using Relax.Impl.Commands; +using Relax.Impl.Http; + +namespace Relax.Tests.Commands.GettingDocuments +{ + public abstract class with_get_poco_by_id_setup : with_command_factory + { + protected static string response; + protected static string url; + protected static GetDocumentCommand command; + + private Establish context = () => + { + url = @"http://localhost:5984/relax/1"; + response = @"{""$type"":""Relax.Tests.Commands.MyPoco,Relax.Tests"",""_id"":""1"",""_rev"":""1"",""Message"":""Test"",""MyId"":""1""}"; + mockAction + .Setup(x => x.Get(Moq.It.Is(i => i.ToString() == url))) + .Returns(response) + .AtMostOnce(); + command = factory.CreateGetDocumentCommand(); + }; + } +} \ No newline at end of file diff --git a/tests/Commands/SaveCommand/when_saving_list_to_database.cs b/tests/Commands/SaveCommand/when_saving_list_to_database.cs index aacd091..9fbc6c4 100644 --- a/tests/Commands/SaveCommand/when_saving_list_to_database.cs +++ b/tests/Commands/SaveCommand/when_saving_list_to_database.cs @@ -19,7 +19,7 @@ public class when_saving_list_to_database : with_serialized_bulk_persist .Returns(response) .AtMostOnce(); command = factory.CreateSaveDocumentsCommand(); - command.SaveAll("relax", new object[] {testDoc}); + command.SaveAll("Couch", new object[] {testDoc}); }; private It should_call_action = () => mockAction.Verify(); diff --git a/tests/Commands/SaveCommand/when_saving_poco_list_to_database.cs b/tests/Commands/SaveCommand/when_saving_poco_list_to_database.cs new file mode 100644 index 0000000..caacc74 --- /dev/null +++ b/tests/Commands/SaveCommand/when_saving_poco_list_to_database.cs @@ -0,0 +1,42 @@ +using Machine.Specifications; +using Relax.Impl.Http; +using Relax.Impl.Serialization; +using Symbiote.Core; + +namespace Relax.Tests.Commands.SaveCommand +{ + public class when_saving_poco_list_to_database : with_poco_list_persistence + { + protected static string url; + protected static string response; + protected static IProvideDocumentMetadata MetadataProvider; + + private Because of = () => + { + url = @"http://localhost:5984/relax/_bulk_docs"; + + response = @"[{ ok:true, id:""1"", rev: ""2""}, { ok:true, id:""2"", rev: ""2""}, { ok:true, id:""3"", rev: ""2""}]"; + + MetadataProvider = Assimilate.GetInstanceOf(); + MetadataProvider.Clear(); + + mockAction + .Setup( x => x + .Post( Moq.It.Is( i => url.ToString() == url ), + Moq.It.IsAny() ) ) + .Returns( response ) + .AtMostOnce(); + + command = factory.CreateSaveDocumentsCommand(); + command.SaveAll( "Couch", testDocs ); + }; + + private It should_call_action = () => mockAction.Verify(); + private It should_update_revision = () => + { + MetadataProvider.GetMetadata( "1" )._rev.ShouldEqual( "2" ); + MetadataProvider.GetMetadata( "2" )._rev.ShouldEqual( "2" ); + MetadataProvider.GetMetadata( "3" )._rev.ShouldEqual( "2" ); + }; + } +} \ No newline at end of file diff --git a/tests/Commands/SaveCommand/when_saving_poco_to_database.cs b/tests/Commands/SaveCommand/when_saving_poco_to_database.cs new file mode 100644 index 0000000..7a69695 --- /dev/null +++ b/tests/Commands/SaveCommand/when_saving_poco_to_database.cs @@ -0,0 +1,39 @@ +using Machine.Specifications; +using Relax.Impl.Http; +using Relax.Impl.Serialization; +using Symbiote.Core; + +namespace Relax.Tests.Commands.SaveCommand +{ + public class when_saving_poco_to_database : with_poco_persistence + { + protected static string url; + protected static string response; + protected static IProvideDocumentMetadata MetadataProvider; + + private Because of = () => + { + url = @"http://localhost:5984/relax/1"; + + response = @"{ ok:true, id:""1"", rev: ""2""}"; + + MetadataProvider = Assimilate.GetInstanceOf(); + MetadataProvider.Clear(); + + mockAction + .Setup( x => x + .Put( Moq.It.Is( i => url.ToString() == url ), + Moq.It.IsAny() ) ) + .Returns( response ) + .AtMostOnce(); + command = factory.CreateSaveDocumentCommand(); + command.Save( "Couch", testDocs[0] ); + }; + + private It should_call_action = () => mockAction.Verify(); + private It should_update_revision = () => + { + MetadataProvider.GetMetadata( "1" )._rev.ShouldEqual( "2" ); + }; + } +} \ No newline at end of file diff --git a/tests/Commands/SaveCommand/when_scrubbing_bulk_persist_type_tokens.cs b/tests/Commands/SaveCommand/when_scrubbing_bulk_persist_type_tokens.cs index 76b5622..17ad8c9 100644 --- a/tests/Commands/SaveCommand/when_scrubbing_bulk_persist_type_tokens.cs +++ b/tests/Commands/SaveCommand/when_scrubbing_bulk_persist_type_tokens.cs @@ -1,9 +1,8 @@ using System.Diagnostics; using Machine.Specifications; -using Newtonsoft.Json.Linq; using Relax.Impl.Json; -using Symbiote.Core.Extensions; -using System.Linq; +using Symbiote.Core.Serialization; +using Newtonsoft.Json.Linq; namespace Relax.Tests.Commands.SaveCommand { @@ -31,6 +30,6 @@ public class when_scrubbing_bulk_persist_type_tokens : with_serialized_bulk_pers private It should_not_produce_null = () => deserialized.ShouldNotBeNull(); private It should_correctly_deserialize_documents = () => deserializedDocument.ShouldNotBeNull(); private It should_have_simple_docs_array = () => scrubbedJsonObject["docs"].ShouldNotContain(new [] {new JProperty("$values")}); - private It should_take_less_than_25ms = () => timer.ElapsedMilliseconds.ShouldBeLessThan(25); + private It should_take_less_than_45ms = () => timer.ElapsedMilliseconds.ShouldBeLessThan(45); } } \ No newline at end of file diff --git a/tests/Commands/SaveCommand/with_document_list.cs b/tests/Commands/SaveCommand/with_document_list.cs index 3632d70..55ab247 100644 --- a/tests/Commands/SaveCommand/with_document_list.cs +++ b/tests/Commands/SaveCommand/with_document_list.cs @@ -1,7 +1,4 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; +using System.Collections.Generic; using Machine.Specifications; namespace Relax.Tests.Commands.SaveCommand diff --git a/tests/Commands/SaveCommand/with_poco_list.cs b/tests/Commands/SaveCommand/with_poco_list.cs new file mode 100644 index 0000000..e4c9b61 --- /dev/null +++ b/tests/Commands/SaveCommand/with_poco_list.cs @@ -0,0 +1,20 @@ +using System.Collections.Generic; +using Machine.Specifications; + +namespace Relax.Tests.Commands.SaveCommand +{ + public abstract class with_poco_list : with_command_factory + { + protected static List testDocs; + + private Establish context = () => + { + testDocs = new List() + { + new MyPoco() { Message = "Message1", MyId = "1" }, + new MyPoco() { Message = "Message2", MyId = "2" }, + new MyPoco() { Message = "Message3", MyId = "3" }, + }; + }; + } +} \ No newline at end of file diff --git a/tests/Commands/SaveCommand/with_poco_list_persistence.cs b/tests/Commands/SaveCommand/with_poco_list_persistence.cs new file mode 100644 index 0000000..46d24d1 --- /dev/null +++ b/tests/Commands/SaveCommand/with_poco_list_persistence.cs @@ -0,0 +1,19 @@ +using Machine.Specifications; +using Relax.Impl.Commands; +using Relax.Impl.Json; + +namespace Relax.Tests.Commands.SaveCommand +{ + public abstract class with_poco_list_persistence : with_poco_list + { + protected static BulkPersist persist; + protected static string json; + protected static ISaveDocuments command; + + private Establish context = () => + { + persist = new BulkPersist(true, false, testDocs); + command = factory.CreateSaveDocumentsCommand(); + }; + } +} \ No newline at end of file diff --git a/tests/Commands/SaveCommand/with_poco_persistence.cs b/tests/Commands/SaveCommand/with_poco_persistence.cs new file mode 100644 index 0000000..516aa9c --- /dev/null +++ b/tests/Commands/SaveCommand/with_poco_persistence.cs @@ -0,0 +1,19 @@ +using Machine.Specifications; +using Relax.Impl.Commands; +using Relax.Impl.Json; + +namespace Relax.Tests.Commands.SaveCommand +{ + public abstract class with_poco_persistence : with_poco_list + { + protected static BulkPersist persist; + protected static string json; + protected static ISaveDocument command; + + private Establish context = () => + { + persist = new BulkPersist(true, false, testDocs); + command = factory.CreateSaveDocumentCommand(); + }; + } +} \ No newline at end of file diff --git a/tests/Commands/SaveCommand/with_serialized_bulk_persist.cs b/tests/Commands/SaveCommand/with_serialized_bulk_persist.cs index efc92e3..91271ed 100644 --- a/tests/Commands/SaveCommand/with_serialized_bulk_persist.cs +++ b/tests/Commands/SaveCommand/with_serialized_bulk_persist.cs @@ -1,11 +1,7 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using Machine.Specifications; +using Machine.Specifications; using Relax.Impl.Commands; using Relax.Impl.Json; -using Symbiote.Core.Extensions; +using Symbiote.Core.Serialization; namespace Relax.Tests.Commands.SaveCommand { diff --git a/tests/Commands/SavingAttachments/when_saving_document_attachment.cs b/tests/Commands/SavingAttachments/when_saving_document_attachment.cs index a0937ca..43339d1 100644 --- a/tests/Commands/SavingAttachments/when_saving_document_attachment.cs +++ b/tests/Commands/SavingAttachments/when_saving_document_attachment.cs @@ -1,7 +1,7 @@ using System.Linq; using Machine.Specifications; -namespace Relax.Tests.Commands.SaveAttachmentCommand +namespace Relax.Tests.Commands.SavingAttachments { public class when_saving_document_attachment : with_save_attachment_command { diff --git a/tests/Commands/SavingAttachments/with_save_attachment_command.cs b/tests/Commands/SavingAttachments/with_save_attachment_command.cs index bacdbb8..b8adbb5 100644 --- a/tests/Commands/SavingAttachments/with_save_attachment_command.cs +++ b/tests/Commands/SavingAttachments/with_save_attachment_command.cs @@ -1,11 +1,9 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; +using System.Text; using Machine.Specifications; +using Relax.Impl.Commands; using Relax.Impl.Http; -namespace Relax.Tests.Commands.SaveAttachmentCommand +namespace Relax.Tests.Commands.SavingAttachments { public abstract class with_save_attachment_command : with_command_factory { @@ -13,7 +11,7 @@ public abstract class with_save_attachment_command : with_command_factory protected static string attachment; protected static byte[] bytes; protected static TestDoc document; - protected static Impl.Commands.SaveAttachmentCommand command; + protected static SaveAttachmentCommand command; private Establish context = () => { @@ -26,7 +24,6 @@ public abstract class with_save_attachment_command : with_command_factory mockAction .Setup(x => x.SaveAttachment(Moq.It.Is(u => u.ToString() == url), "text", bytes)) .Returns(@"{rev:2}"); - command = factory.CreateSaveAttachmentCommand(); }; } diff --git a/tests/Commands/TestDoc.cs b/tests/Commands/TestDoc.cs index b4e0478..04e03e4 100644 --- a/tests/Commands/TestDoc.cs +++ b/tests/Commands/TestDoc.cs @@ -1,7 +1,29 @@ -namespace Relax.Tests.Commands +using Symbiote.Core; + +namespace Relax.Tests.Commands { public class TestDoc : CouchDocument { public virtual string Message { get; set; } } + + public class MyPocoKeyAccessor : IKeyAccessor + { + public string GetId( MyPoco actor ) + { + return actor.MyId; + } + + public void SetId( MyPoco actor, TKey key ) + { + actor.MyId = key.ToString(); + } + } + + + public class MyPoco + { + public string MyId { get; set; } + public string Message { get; set; } + } } \ No newline at end of file diff --git a/tests/Commands/with_command_factory.cs b/tests/Commands/with_command_factory.cs index 8a7572d..90c7e5c 100644 --- a/tests/Commands/with_command_factory.cs +++ b/tests/Commands/with_command_factory.cs @@ -1,6 +1,6 @@ using Machine.Specifications; using Relax.Impl.Commands; -using StructureMap; +using Symbiote.Core; namespace Relax.Tests.Commands { @@ -10,7 +10,7 @@ public abstract class with_command_factory : with_mock_http_action private Establish context = () => { - factory = ObjectFactory.GetInstance(); + factory = Assimilate.GetInstanceOf(); }; } } \ No newline at end of file diff --git a/tests/Commands/with_configuration.cs b/tests/Commands/with_configuration.cs index 5626885..76af612 100644 --- a/tests/Commands/with_configuration.cs +++ b/tests/Commands/with_configuration.cs @@ -1,7 +1,5 @@ using Machine.Specifications; -using Relax.Config; using Symbiote.Core; -using Symbiote.StructureMap; namespace Relax.Tests.Commands { @@ -9,7 +7,7 @@ public abstract class with_configuration { private Establish context = () => { - RelaxConfiguration.Configure(x => x.UseDefaults()); + Assimilate.Initialize(); }; } } \ No newline at end of file diff --git a/tests/Commands/with_mock_http_action.cs b/tests/Commands/with_mock_http_action.cs index 590bcfb..2212d5f 100644 --- a/tests/Commands/with_mock_http_action.cs +++ b/tests/Commands/with_mock_http_action.cs @@ -1,7 +1,8 @@ using Machine.Specifications; using Moq; using Relax.Impl.Http; -using StructureMap; +using Symbiote.Core; +using It = Machine.Specifications.It; namespace Relax.Tests.Commands { @@ -13,7 +14,12 @@ public abstract class with_mock_http_action : with_configuration private Establish context = () => { mockAction = new Mock(); - ObjectFactory.Configure(x => x.For().Use(y => action)); + Assimilate.Dependencies( x => x.For().CreateWith( c => action ) ); }; } + + public class when_testing_blank_action : with_mock_http_action + { + It should_not_be_null = () => { mockAction.ShouldNotBeNull(); }; + } } \ No newline at end of file diff --git a/tests/Configuration/TestDatabaseResolver.cs b/tests/Configuration/TestDatabaseResolver.cs index 98185ce..203735d 100644 --- a/tests/Configuration/TestDatabaseResolver.cs +++ b/tests/Configuration/TestDatabaseResolver.cs @@ -1,9 +1,4 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; - -namespace Relax.Tests.Configuration +namespace Relax.Tests.Configuration { public class TestDatabaseResolver : IResolveDatabaseNames { diff --git a/tests/Configuration/when_providing_custom_configuration.cs b/tests/Configuration/when_providing_custom_configuration.cs index b4fb1c0..7c1bdb5 100644 --- a/tests/Configuration/when_providing_custom_configuration.cs +++ b/tests/Configuration/when_providing_custom_configuration.cs @@ -12,12 +12,10 @@ public class when_providing_custom_configuration : with_couch_configuration .Server("couchdb") .TimeOut(1000) .DefaultDatabase("defaultdb") - .BreakDocumentGraphsIntoSeperateDocuments() .ExcludeTypeSpecificationFromJson() .FailedGetShouldThrowException() - .WithConventions("DocId","DocRev") .AssignDatabaseToType("TeStIngDoC") - .RelaxQueryServiceUrl("http://localhost/bogus") + .CouchQueryServiceUrl("http://localhost/bogus") .UseDatabaseTypeResolver(); private It should_use_http_as_protocol = () => configuration.Protocol.ShouldEqual("https"); @@ -28,19 +26,11 @@ public class when_providing_custom_configuration : with_couch_configuration private It should_have_password = () => configuration.Password.ShouldEqual("test"); private It should_have_six_second_timeout = () => configuration.TimeOut.ShouldEqual(1000); private It should_not_use_cache = () => configuration.Cache.ShouldBeFalse(); - private It should_breakdown_document_graphs = () => configuration.BreakDownDocumentGraphs.ShouldBeTrue(); private It should_have_default_database_name = () => configuration.GetDatabaseNameForType().ShouldEqual("defaultdb"); private It should_exclude_type_spec_from_json = () => configuration.IncludeTypeSpecification.ShouldBeFalse(); private It should_throw_exception_on_failed_calls = () => configuration.Throw404Exceptions.ShouldBeTrue(); - private It should_have_relax_query_service_url = () => configuration.RelaxQueryServiceUrl.ShouldEqual("http://localhost/bogus"); - private It should_have_custom_document_conventions = () => - { - configuration.Conventions.IdPropertyName. - ShouldEqual("DocId"); - configuration.Conventions.RevisionPropertyName. - ShouldEqual("DocRev"); - }; - + private It should_have_Couch_query_service_url = () => configuration.CouchQueryServiceUrl.ShouldEqual("http://localhost/bogus"); + private It should_get_database_name_from_type_resolver = () => configuration.GetDatabaseNameForType().ShouldEqual("testdocument"); } } \ No newline at end of file diff --git a/tests/Configuration/when_using_cache_without_a_cache_provider.cs b/tests/Configuration/when_using_cache_without_a_cache_provider.cs index 4e1a466..0f0602f 100644 --- a/tests/Configuration/when_using_cache_without_a_cache_provider.cs +++ b/tests/Configuration/when_using_cache_without_a_cache_provider.cs @@ -1,30 +1,27 @@ using System; using Machine.Specifications; -using Relax.Config; -using StructureMap; +using Relax.Tests.Caching; +using Symbiote.Core; using Symbiote.Core.Cache; namespace Relax.Tests.Configuration { - public class when_using_cache_without_a_cache_provider : with_couch_configuration + public class when_using_cache_without_a_cache_provider : with_couch_cache_provider { private static Exception exception; private Because of = () => { - configurator - .Https() - .Port(1234) - .Server("couchdb") - .TimeOut(1000) - .Cache(TimeSpan.FromMinutes(15)); - - ObjectFactory.EjectAllInstancesOf(); - - exception = Catch.Exception(() => RelaxConfiguration.Configure(configuration)); + var assimilate = Assimilate.Initialize(); + Assimilate.Dependencies( x => x.For().Use( null ) ); + exception = Catch.Exception(() => assimilate.Couch( x => x.Https().Port( 1234 ).Server( "couchdb" ).TimeOut( 1000 ).Cache() )); + + //Assimilate.Dependencies( x => x.For().Use( cacheProviderMock.Object ) ); }; - private It should_produce_relax_configuration_exception = () => exception.ShouldBe(typeof(RelaxConfigurationException)); - private It should_have_clear_exception_message = () => exception.Message.ShouldEqual("You must have an implementation of ICacheProvider configured to use caching in Relax. Consider referencing Symbiote.Eidetic and adding the .Eidetic() call before this in your assimilation to utilize memcached or memcachedb as the cache provider for Relax."); + //private It should_not_have_cache_provider = + // () => Assimilate.Assimilation.DependencyAdapter.HasPluginFor().ShouldBeFalse(); + //private It should_produce_Couch_configuration_exception = () => exception.ShouldBe(typeof(CouchConfigurationException)); + //private It should_have_clear_exception_message = () => exception.Message.ShouldEqual("You must have an implementation of ICacheProvider configured to use caching in Couch. Consider referencing Symbiote.Eidetic and adding the .Eidetic() call before this in your assimilation to utilize memcached or memcachedb as the cache provider for Couch."); } } \ No newline at end of file diff --git a/tests/Configuration/when_using_defaults.cs b/tests/Configuration/when_using_defaults.cs index ae2f114..c2e8524 100644 --- a/tests/Configuration/when_using_defaults.cs +++ b/tests/Configuration/when_using_defaults.cs @@ -11,18 +11,10 @@ public class when_using_defaults : with_couch_configuration private It should_not_require_preauthorization = () => configuration.Preauthorize.ShouldBeFalse(); private It should_have_six_second_timeout = () => configuration.TimeOut.ShouldEqual(6000); private It should_not_use_cache = () => configuration.Cache.ShouldBeFalse(); - private It should_not_break_documents = () => configuration.BreakDownDocumentGraphs.ShouldBeFalse(); private It should_use_solution_as_default_database = () => configuration.GetDatabaseNameForType().ShouldEqual("relax"); private It should_include_type_specification_in_json = () => configuration.IncludeTypeSpecification.ShouldBeTrue(); private It should_not_throw_exception_on_failed_calls = () => configuration.Throw404Exceptions.ShouldBeFalse(); - private It should_have_default_document_conventions = () => - { - configuration.Conventions.IdPropertyName. - ShouldEqual("Id"); - configuration.Conventions.RevisionPropertyName. - ShouldEqual("Rev"); - }; private It should_provide_default_couch_name_for_type = () => configuration .GetDatabaseNameForType() diff --git a/tests/Configuration/with_couch_configuration.cs b/tests/Configuration/with_couch_configuration.cs index 16719d7..111d5ba 100644 --- a/tests/Configuration/with_couch_configuration.cs +++ b/tests/Configuration/with_couch_configuration.cs @@ -1,10 +1,9 @@ using Relax.Config; -using Relax.Impl; namespace Relax.Tests.Configuration { public abstract class with_couch_configuration : with_couch_configurator { - protected static ICouchConfiguration configuration { get { return configurator.GetConfiguration(); } } + protected static ICouchConfiguration configuration { get { return configurator.Configuration; } } } } \ No newline at end of file diff --git a/tests/Configuration/with_couch_configurator.cs b/tests/Configuration/with_couch_configurator.cs index 71e5bd9..1f03051 100644 --- a/tests/Configuration/with_couch_configurator.cs +++ b/tests/Configuration/with_couch_configurator.cs @@ -1,12 +1,16 @@ using Machine.Specifications; -using Relax; using Relax.Config; +using Symbiote.Core; namespace Relax.Tests.Configuration { public abstract class with_couch_configurator { protected static CouchConfigurator configurator; - private Establish context = () => configurator = new CouchConfigurator(); + private Establish context = () => + { + configurator = new CouchConfigurator(); + Assimilate.Initialize(); + }; } } \ No newline at end of file diff --git a/tests/Document/Driver.cs b/tests/Document/Driver.cs index 385c65a..5d68061 100644 --- a/tests/Document/Driver.cs +++ b/tests/Document/Driver.cs @@ -1,6 +1,4 @@ - -using Relax.Impl; -using Relax.Impl.Model; +using Relax.Impl.Model; namespace Relax.Tests.Document { diff --git a/tests/Document/Person.cs b/tests/Document/Person.cs index b5f9784..803d45e 100644 --- a/tests/Document/Person.cs +++ b/tests/Document/Person.cs @@ -1,5 +1,4 @@ using System; -using Relax.Impl; using Relax.Impl.Model; using Symbiote.Core.Extensions; diff --git a/tests/Document/when_serializing_design_document.cs b/tests/Document/when_serializing_design_document.cs index 37bc948..8692f08 100644 --- a/tests/Document/when_serializing_design_document.cs +++ b/tests/Document/when_serializing_design_document.cs @@ -1,10 +1,5 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using Machine.Specifications; -using Relax.Impl; -using Symbiote.Core.Extensions; +using Machine.Specifications; +using Symbiote.Core.Serialization; namespace Relax.Tests.Document { diff --git a/tests/Document/when_using_custom_complex_key.cs b/tests/Document/when_using_custom_complex_key.cs index 5830ec6..cd9af38 100644 --- a/tests/Document/when_using_custom_complex_key.cs +++ b/tests/Document/when_using_custom_complex_key.cs @@ -1,6 +1,5 @@ -using System.Text.RegularExpressions; -using Machine.Specifications; -using Symbiote.Core.Extensions; +using Machine.Specifications; +using Symbiote.Core.Serialization; namespace Relax.Tests.Document { diff --git a/tests/Document/when_working_with_complex_couch_document.cs b/tests/Document/when_working_with_complex_couch_document.cs index 0d6db07..3bbed19 100644 --- a/tests/Document/when_working_with_complex_couch_document.cs +++ b/tests/Document/when_working_with_complex_couch_document.cs @@ -1,11 +1,7 @@ using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; using Machine.Specifications; using Symbiote.Core; -using Symbiote.Core.Extensions; -using Symbiote.StructureMap; +using Symbiote.Core.Serialization; namespace Relax.Tests.Document { @@ -19,8 +15,7 @@ public class when_working_with_complex_couch_document private Establish context = () => { Assimilate - .Core() - .Relax(x => x.UseDefaults()); + .Initialize(); simpleDocument = new TestDocument() {Message = "test"}; }; diff --git a/tests/Document/when_working_with_simple_couch_document.cs b/tests/Document/when_working_with_simple_couch_document.cs index 3134c92..4191885 100644 --- a/tests/Document/when_working_with_simple_couch_document.cs +++ b/tests/Document/when_working_with_simple_couch_document.cs @@ -1,8 +1,7 @@ using System; using Machine.Specifications; using Symbiote.Core; -using Symbiote.Core.Extensions; -using Symbiote.StructureMap; +using Symbiote.Core.Serialization; namespace Relax.Tests.Document { @@ -15,7 +14,7 @@ public class when_working_with_simple_couch_document private Establish context = () => { - Assimilate.Core().Relax(x => x.UseDefaults()); + Assimilate.Initialize(); simpleDocument = new SimpleDocument() { Message = "test" }; }; diff --git a/tests/Document/with_custom_document_complex_key.cs b/tests/Document/with_custom_document_complex_key.cs index a584bd6..c6cf026 100644 --- a/tests/Document/with_custom_document_complex_key.cs +++ b/tests/Document/with_custom_document_complex_key.cs @@ -1,6 +1,5 @@ using Machine.Specifications; using Symbiote.Core; -using Symbiote.StructureMap; namespace Relax.Tests.Document { @@ -10,7 +9,7 @@ public class with_custom_document_complex_key : with_custom_document_simple_key private Establish context = () => { - Assimilate.Core(); + Assimilate.Initialize(); driver = new Driver(person); }; } diff --git a/tests/Document/with_custom_document_simple_key.cs b/tests/Document/with_custom_document_simple_key.cs index 0be4659..c80fcf9 100644 --- a/tests/Document/with_custom_document_simple_key.cs +++ b/tests/Document/with_custom_document_simple_key.cs @@ -1,8 +1,4 @@ using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Text.RegularExpressions; using Machine.Specifications; namespace Relax.Tests.Document diff --git a/tests/Mocks/with_mock_repository.cs b/tests/Mocks/with_mock_repository.cs index 93d694b..378ddce 100644 --- a/tests/Mocks/with_mock_repository.cs +++ b/tests/Mocks/with_mock_repository.cs @@ -1,9 +1,4 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; - -namespace Relax.Tests.Mocks +namespace Relax.Tests.Mocks { class with_mock_repository { diff --git a/tests/Relax.Lucene.Tests/DomainHelper.cs b/tests/Relax.Lucene.Tests/DomainHelper.cs index 08ee2cf..01285de 100644 --- a/tests/Relax.Lucene.Tests/DomainHelper.cs +++ b/tests/Relax.Lucene.Tests/DomainHelper.cs @@ -42,6 +42,26 @@ public static List Create_Family_With_Two_Cars() new Car() {Make="Honda",Model="Civic",Year=2008} } }, + new Person() + { + FirstName = "Sean", + LastName = "Robson", + Age = 28, + Cars = new List() + { + new Car() {Make="Honda",Model="Accord",Year=1999} + } + }, + new Person() + { + FirstName = "Rebekah", + LastName = "Robson", + Age = 28, + Cars = new List() + { + new Car() {Make="Honda",Model="Civic",Year=2008} + } + }, }; } } diff --git a/tests/Relax.Lucene.Tests/when_searching_against_family.cs b/tests/Relax.Lucene.Tests/when_searching_against_family.cs index c743902..7843126 100644 --- a/tests/Relax.Lucene.Tests/when_searching_against_family.cs +++ b/tests/Relax.Lucene.Tests/when_searching_against_family.cs @@ -15,15 +15,13 @@ public class when_searching_against_family : with_indexed_people private Because of = () => { results = provider.GetDocumentsForQuery(x => - x.Cars.Count > 0 && - x.Cars[0].Model.StartsWith("C") && - x.Cars[0].Make == "Honda" && - x.Cars[0].Year > 2005 + x.Cars.Count > 0 && + x.Cars.Any(c => c.Year == 2010) ).ToList(); result = results[0]; }; private It should_produce_1_result = () => - results.Count.ShouldEqual(2); + results.Count.ShouldEqual(1); } } \ No newline at end of file diff --git a/tests/Relax.Lucene.Tests/with_indexed_people.cs b/tests/Relax.Lucene.Tests/with_indexed_people.cs index 6ba0ee2..b3dd373 100644 --- a/tests/Relax.Lucene.Tests/with_indexed_people.cs +++ b/tests/Relax.Lucene.Tests/with_indexed_people.cs @@ -1,4 +1,5 @@ -using Machine.Specifications; +using System.Threading.Tasks; +using Machine.Specifications; using Symbiote.Lucene; namespace Relax.Lucene.Tests @@ -6,19 +7,22 @@ namespace Relax.Lucene.Tests public abstract class with_indexed_people : with_domain_model { protected static ILuceneSearchProvider provider; - protected static JsonVisitor visitor; private Establish context = () => { provider = luceneServiceFactory.GetSearchProviderForIndex("test"); - personDocuments.ForEach(x => - { - var observer = luceneServiceFactory.GetIndexingObserverForIndex("test"); - visitor = new JsonVisitor(); - visitor.Subscribe(observer); - visitor.Accept(x); - }); + provider.IndexWriter.DeleteAll(); + provider.IndexWriter.ExpungeDeletes(); + Parallel.ForEach(personDocuments, IndexJson); }; + + protected static void IndexJson(string x) + { + var observer = luceneServiceFactory.GetIndexingObserverForIndex("test"); + var visitor = new JsonVisitor(); + visitor.Subscribe(observer); + visitor.Accept(x); + } } } \ No newline at end of file diff --git a/tests/Relax.Lucene.Tests/with_lucene.cs b/tests/Relax.Lucene.Tests/with_lucene.cs index d9a4f5f..8be5697 100644 --- a/tests/Relax.Lucene.Tests/with_lucene.cs +++ b/tests/Relax.Lucene.Tests/with_lucene.cs @@ -12,7 +12,7 @@ public abstract class with_lucene private Establish context = () => { - Assimilate.Core().Lucene(x => x.UseDefaults()); + Assimilate.Core().Relax().Lucene(); luceneServiceFactory = ObjectFactory.GetInstance(); }; } diff --git a/tests/Relax.Tests.csproj b/tests/Relax.Tests.csproj index e41a934..499c34f 100644 --- a/tests/Relax.Tests.csproj +++ b/tests/Relax.Tests.csproj @@ -35,24 +35,12 @@ ..\lib\MSpec\Machine.Specifications.dll - - ..\lib\Symbiote.Core\Microsoft.Practices.ServiceLocation.dll - ..\lib\Moq.dll - - ..\lib\Symbiote.Core\Newtonsoft.Json.dll - - - ..\lib\Symbiote.StructureMap\StructureMap.dll - ..\lib\Symbiote.Core\Symbiote.Core.dll - - ..\lib\Symbiote.StructureMap\Symbiote.StructureMap.dll - @@ -97,18 +85,28 @@ + + + + + + + + + + + + - - @@ -157,14 +155,6 @@ - - - - - - - - @@ -172,7 +162,6 @@ - @@ -196,9 +185,9 @@ - - - + + + @@ -257,15 +246,15 @@ + + + {3A8D40A3-96F9-4878-902E-7CBC3A82AEDD} Relax - - -