diff --git a/examples/Spring/Spring.AopQuickStart/src/Spring.AopQuickStart.Step7/Program.cs b/examples/Spring/Spring.AopQuickStart/src/Spring.AopQuickStart.Step7/Program.cs index d3743d27..be74d10c 100644 --- a/examples/Spring/Spring.AopQuickStart/src/Spring.AopQuickStart.Step7/Program.cs +++ b/examples/Spring/Spring.AopQuickStart/src/Spring.AopQuickStart.Step7/Program.cs @@ -21,7 +21,7 @@ #region Imports using System; -using System.Collections; +using System.Collections.Generic; using Spring.Context; using Spring.Context.Support; @@ -47,7 +47,7 @@ namespace Spring.AopQuickStart { // Create AOP proxy using Spring.NET IoC container. IApplicationContext ctx = ContextRegistry.GetContext(); - IDictionary commands = ctx.GetObjectsOfType(typeof(ICommand)); + IDictionary commands = ctx.GetObjects(); foreach (ICommand command in commands.Values) { diff --git a/examples/Spring/Spring.TxQuickStart/test/Spring/Spring.TxQuickStart.Tests/TxQuickStart/AccountManagerTests.cs b/examples/Spring/Spring.TxQuickStart/test/Spring/Spring.TxQuickStart.Tests/TxQuickStart/AccountManagerTests.cs index d9bfead1..ff480e28 100644 --- a/examples/Spring/Spring.TxQuickStart/test/Spring/Spring.TxQuickStart.Tests/TxQuickStart/AccountManagerTests.cs +++ b/examples/Spring/Spring.TxQuickStart/test/Spring/Spring.TxQuickStart.Tests/TxQuickStart/AccountManagerTests.cs @@ -21,7 +21,7 @@ #region Imports using System; -using System.Collections; +using System.Collections.Generic; using System.Data; using NUnit.Framework; using Spring.Aop.Config; @@ -30,7 +30,6 @@ using Spring.Context.Support; using Spring.Data.Common; using Spring.Data.Config; using Spring.Data.Core; -using Spring.Objects.Factory.Support; using Spring.Objects.Factory.Xml; using Spring.Transaction.Config; using Spring.TxQuickStart.Services; @@ -55,7 +54,7 @@ namespace Spring.TxQuickStart NamespaceParserRegistry.RegisterParser(typeof(TxNamespaceParser)); NamespaceParserRegistry.RegisterParser(typeof(AopNamespaceParser)); IApplicationContext context = CreateContextFromXml(); - IDictionary dict = context.GetObjectsOfType(typeof (IAccountManager)); + IDictionary dict = context.GetObjects(); accountManager = context["accountManager"] as IAccountManager; CleanDb(context); } diff --git a/lib/Net/3.5/Apache.NMS.ActiveMQ.dll b/lib/Net/3.5/Apache.NMS.ActiveMQ.dll new file mode 100644 index 00000000..fd910b6d Binary files /dev/null and b/lib/Net/3.5/Apache.NMS.ActiveMQ.dll differ diff --git a/lib/Net/3.5/Apache.NMS.ActiveMQ.xml b/lib/Net/3.5/Apache.NMS.ActiveMQ.xml new file mode 100644 index 00000000..49360cc1 --- /dev/null +++ b/lib/Net/3.5/Apache.NMS.ActiveMQ.xml @@ -0,0 +1,8199 @@ + + + + Apache.NMS.ActiveMQ + + + + + Base class for all DataStructure implementations + + + + + An OpenWire command + + + + + An OpenWire command + + + + + Represents a marshallable entity + + + + + + Get the unique identifier that this object and its own + Marshaler share. + + + + + + + Clone this object and return a new instance that the caller now owns. + + + + + + + Returns a string containing the information for this DataStructure + such as its type and value of its elements. + + + + + + + Allows a Visitor to visit this command and return a response to the + command based on the command type being visited. The command will call + the proper processXXX method in the visitor. + + + + + + + Return an answer of true to the isMessage() query. + + + + + + The correlation ID used to correlate messages with conversations or long running business processes + + + + + The destination of the message + + + + + The time in milliseconds that this message should expire in + + + + + The message ID which is set by the provider + + + + + Whether or not this message is persistent + + + + + The Priority on this message + + + + + Returns true if this message has been redelivered to this or another consumer before being acknowledged successfully. + + + + + The destination that the consumer of this message should send replies to + + + + + The timestamp the broker added to the message + + + + + The type name of this message + + + + + Returns the number of times this message has been redelivered to other consumers without being acknowledged successfully. + + + + + The Message Group ID used to group messages together to the same consumer for the same group ID value + + + + + The Message Group Sequence counter to indicate the position in a group + + + + + Returns the ID of the producers transaction + + + + + Used when the message compression is enabled to track how many bytes + the EndianBinaryWriter actually writes to the stream before compression + so that the receiving client can read off the real bodylength from the + Message before the data is actually read. + + + + + Summary description for ActiveMQDestination. + + + + + Topic Destination object + + + + + Temporary Topic Destination object + + + + + Queue Destination object + + + + + Temporary Queue Destination object + + + + + prefix for Advisory message destinations + + + + + prefix for consumer advisory destinations + + + + + prefix for producer advisory destinations + + + + + prefix for connection advisory destinations + + + + + The default target for ordered destinations + + + + + The Default Constructor + + + + + Construct the Destination with a defined physical name; + + + + + + + Returns the advisory. + + + + + The advisory to set. + + + + + true if this is a destination for Consumer advisories + + + + + true if this is a destination for Producer advisories + + + + + true if this is a destination for Connection advisories + + + + + Returns the exclusive. + + + + + The exclusive to set. + + + + + Returns the ordered. + + + + + The ordered to set. + + + + + Returns the orderedTarget. + + + + + The orderedTarget to set. + + + + A helper method to return a descriptive string for the topic or queue + + + a descriptive string for this queue or topic + + + + + + + + + + Create a Destination + + + + + + + + Create a temporary name from the clientId + + + + + + + From a temporary destination find the clientId of the Connection that created it + + + the clientId or null if not a temporary destination + + + + + object to compare + 1 if this is less than o else 0 if they are equal or -1 if this is less than o + + + + Lets sort by name first then lets sort topics greater than queues + + another destination to compare against + 1 if this is less than o else 0 if they are equal or -1 if this is less than o + + + + + Returns the Destination type + + + + Gets the Destination Type of this Destination as a String value which is one + of {Queue,Topic,TempQueue,TempTopic}. + + + The Destination Type as a String. + + + + + + string representation of this instance + + + + + hashCode for this instance + + + + if the object passed in is equivalent, return true + + the object to compare + true if this instance and obj are equivalent + + + + + true if the destination matches multiple possible destinations + + + + Factory method to create a child destination if this destination is a composite + + + the created Destination + + + + Dictionary of name/value pairs representing option values specified + in the URI used to create this Destination. A null value is returned + if no options were specified. + + + + + Returns true if this destination represents a collection of + destinations; allowing a set of destinations to be published to or subscribed + from in one NMS operation. +

+ If this destination is a composite then you can call {@link #getChildDestinations()} + to return the list of child destinations. +

+
+ + + Summary description for ActiveMQQueue. + + + + + Method GetDestinationType + + An int + + + + Method CreateDestination + + An ActiveMQDestination + A String + + + + A Temporary Queue + + + + + A Temporary Topic + + + + + Summary description for ActiveMQTopic. + + + + + Represents an exception on the broker + + + + + + Get the unique identifier that this object and its own + Marshaler share. + + + + + + + Returns a string containing the information for this DataStructure + such as its type and value of its elements. + + + + + + + Get the unique identifier that this object and its own + Marshaler share. + + + + + + + Returns a string containing the information for this DataStructure + such as its type and value of its elements. + + + + + + + Allows a Visitor to visit this command and return a response to the + command based on the command type being visited. The command will call + the proper processXXX method in the visitor. + + + + + + + Return an answer of true to the isBrokerInfo() query. + + + + + + + Get the unique identifier that this object and its own + Marshaler share. + + + + + + + Returns a string containing the information for this DataStructure + such as its type and value of its elements. + + + + + + + Allows a Visitor to visit this command and return a response to the + command based on the command type being visited. The command will call + the proper processXXX method in the visitor. + + + + + + + Return an answer of true to the isConnectionControl() query. + + + + + + + Get the unique identifier that this object and its own + Marshaler share. + + + + + + + Returns a string containing the information for this DataStructure + such as its type and value of its elements. + + + + + + + Allows a Visitor to visit this command and return a response to the + command based on the command type being visited. The command will call + the proper processXXX method in the visitor. + + + + + + + Return an answer of true to the isConnectionError() query. + + + + + + + Get the unique identifier that this object and its own + Marshaler share. + + + + + + + Returns a string containing the information for this DataStructure + such as its type and value of its elements. + + + + + + + Get the unique identifier that this object and its own + Marshaler share. + + + + + + + Returns a string containing the information for this DataStructure + such as its type and value of its elements. + + + + + + + Allows a Visitor to visit this command and return a response to the + command based on the command type being visited. The command will call + the proper processXXX method in the visitor. + + + + + + + Return an answer of true to the isConnectionInfo() query. + + + + + + + Get the unique identifier that this object and its own + Marshaler share. + + + + + + + Returns a string containing the information for this DataStructure + such as its type and value of its elements. + + + + + + + Allows a Visitor to visit this command and return a response to the + command based on the command type being visited. The command will call + the proper processXXX method in the visitor. + + + + + + + Return an answer of true to the isConsumerControl() query. + + + + + + + Get the unique identifier that this object and its own + Marshaler share. + + + + + + + Returns a string containing the information for this DataStructure + such as its type and value of its elements. + + + + + + + Get the unique identifier that this object and its own + Marshaler share. + + + + + + + Returns a string containing the information for this DataStructure + such as its type and value of its elements. + + + + + + + Allows a Visitor to visit this command and return a response to the + command based on the command type being visited. The command will call + the proper processXXX method in the visitor. + + + + + + + Return an answer of true to the isConsumerInfo() query. + + + + + + + Get the unique identifier that this object and its own + Marshaler share. + + + + + + + Returns a string containing the information for this DataStructure + such as its type and value of its elements. + + + + + + + Allows a Visitor to visit this command and return a response to the + command based on the command type being visited. The command will call + the proper processXXX method in the visitor. + + + + + + + Return an answer of true to the isControlCommand() query. + + + + + + + Get the unique identifier that this object and its own + Marshaler share. + + + + + + + Returns a string containing the information for this DataStructure + such as its type and value of its elements. + + + + + + + Allows a Visitor to visit this command and return a response to the + command based on the command type being visited. The command will call + the proper processXXX method in the visitor. + + + + + + + Return an answer of true to the isResponse() query. + + + + + + + Get the unique identifier that this object and its own + Marshaler share. + + + + + + + Returns a string containing the information for this DataStructure + such as its type and value of its elements. + + + + + + + Get the unique identifier that this object and its own + Marshaler share. + + + + + + + Returns a string containing the information for this DataStructure + such as its type and value of its elements. + + + + + + Summary description for DataStructureSupport. + + + + + + Get the unique identifier that this object and its own + Marshaler share. + + + + + + + Returns a string containing the information for this DataStructure + such as its type and value of its elements. + + + + + + + Allows a Visitor to visit this command and return a response to the + command based on the command type being visited. The command will call + the proper processXXX method in the visitor. + + + + + + + Return an answer of true to the isDestinationInfo() query. + + + + + + + Get the unique identifier that this object and its own + Marshaler share. + + + + + + + Returns a string containing the information for this DataStructure + such as its type and value of its elements. + + + + + + + Get the unique identifier that this object and its own + Marshaler share. + + + + + + + Returns a string containing the information for this DataStructure + such as its type and value of its elements. + + + + + + + Get the unique identifier that this object and its own + Marshaler share. + + + + + + + Returns a string containing the information for this DataStructure + such as its type and value of its elements. + + + + + + + Allows a Visitor to visit this command and return a response to the + command based on the command type being visited. The command will call + the proper processXXX method in the visitor. + + + + + + + Return an answer of true to the isFlushCommand() query. + + + + + + + Get the unique identifier that this object and its own + Marshaler share. + + + + + + + Returns a string containing the information for this DataStructure + such as its type and value of its elements. + + + + + + + Get the unique identifier that this object and its own + Marshaler share. + + + + + + + Returns a string containing the information for this DataStructure + such as its type and value of its elements. + + + + + + + Get the unique identifier that this object and its own + Marshaler share. + + + + + + + Returns a string containing the information for this DataStructure + such as its type and value of its elements. + + + + + + + Get the unique identifier that this object and its own + Marshaler share. + + + + + + + Returns a string containing the information for this DataStructure + such as its type and value of its elements. + + + + + + + Get the unique identifier that this object and its own + Marshaler share. + + + + + + + Returns a string containing the information for this DataStructure + such as its type and value of its elements. + + + + + + + Get the unique identifier that this object and its own + Marshaler share. + + + + + + + Returns a string containing the information for this DataStructure + such as its type and value of its elements. + + + + + + + Allows a Visitor to visit this command and return a response to the + command based on the command type being visited. The command will call + the proper processXXX method in the visitor. + + + + + + + Return an answer of true to the isKeepAliveInfo() query. + + + + + + + Get the unique identifier that this object and its own + Marshaler share. + + + + + + + Returns a string containing the information for this DataStructure + such as its type and value of its elements. + + + + + + + Get the unique identifier that this object and its own + Marshaler share. + + + + + + + Returns a string containing the information for this DataStructure + such as its type and value of its elements. + + + + + + + Get the unique identifier that this object and its own + Marshaler share. + + + + + + + Returns a string containing the information for this DataStructure + such as its type and value of its elements. + + + + + + + Get the unique identifier that this object and its own + Marshaler share. + + + + + + + Returns a string containing the information for this DataStructure + such as its type and value of its elements. + + + + + + + Get the unique identifier that this object and its own + Marshaler share. + + + + + + + Returns a string containing the information for this DataStructure + such as its type and value of its elements. + + + + + + + Allows a Visitor to visit this command and return a response to the + command based on the command type being visited. The command will call + the proper processXXX method in the visitor. + + + + + + + Return an answer of true to the isMessageAck() query. + + + + + + + Get the unique identifier that this object and its own + Marshaler share. + + + + + + + Returns a string containing the information for this DataStructure + such as its type and value of its elements. + + + + + + + Allows a Visitor to visit this command and return a response to the + command based on the command type being visited. The command will call + the proper processXXX method in the visitor. + + + + + + + Return an answer of true to the isMessageDispatch() query. + + + + + + + Get the unique identifier that this object and its own + Marshaler share. + + + + + + + Returns a string containing the information for this DataStructure + such as its type and value of its elements. + + + + + + + Allows a Visitor to visit this command and return a response to the + command based on the command type being visited. The command will call + the proper processXXX method in the visitor. + + + + + + + Return an answer of true to the isMessageDispatchNotification() query. + + + + + + + Get the unique identifier that this object and its own + Marshaler share. + + + + + + + Returns a string containing the information for this DataStructure + such as its type and value of its elements. + + + + + + Sets the value as a String + + + + + + Get the unique identifier that this object and its own + Marshaler share. + + + + + + + Returns a string containing the information for this DataStructure + such as its type and value of its elements. + + + + + + + Allows a Visitor to visit this command and return a response to the + command based on the command type being visited. The command will call + the proper processXXX method in the visitor. + + + + + + + Return an answer of true to the isMessagePull() query. + + + + + + + Get the unique identifier that this object and its own + Marshaler share. + + + + + + + Returns a string containing the information for this DataStructure + such as its type and value of its elements. + + + + + + + Get the unique identifier that this object and its own + Marshaler share. + + + + + + + Returns a string containing the information for this DataStructure + such as its type and value of its elements. + + + + + + + Allows a Visitor to visit this command and return a response to the + command based on the command type being visited. The command will call + the proper processXXX method in the visitor. + + + + + + + Return an answer of true to the isProducerAck() query. + + + + + + + Get the unique identifier that this object and its own + Marshaler share. + + + + + + + Returns a string containing the information for this DataStructure + such as its type and value of its elements. + + + + + + + Get the unique identifier that this object and its own + Marshaler share. + + + + + + + Returns a string containing the information for this DataStructure + such as its type and value of its elements. + + + + + + + Allows a Visitor to visit this command and return a response to the + command based on the command type being visited. The command will call + the proper processXXX method in the visitor. + + + + + + + Return an answer of true to the isProducerInfo() query. + + + + + + + Get the unique identifier that this object and its own + Marshaler share. + + + + + + + Returns a string containing the information for this DataStructure + such as its type and value of its elements. + + + + + + + Allows a Visitor to visit this command and return a response to the + command based on the command type being visited. The command will call + the proper processXXX method in the visitor. + + + + + + + Return an answer of true to the isRemoveInfo() query. + + + + + + + Get the unique identifier that this object and its own + Marshaler share. + + + + + + + Returns a string containing the information for this DataStructure + such as its type and value of its elements. + + + + + + + Allows a Visitor to visit this command and return a response to the + command based on the command type being visited. The command will call + the proper processXXX method in the visitor. + + + + + + + Return an answer of true to the isRemoveSubscriptionInfo() query. + + + + + + + Get the unique identifier that this object and its own + Marshaler share. + + + + + + + Returns a string containing the information for this DataStructure + such as its type and value of its elements. + + + + + + + Allows a Visitor to visit this command and return a response to the + command based on the command type being visited. The command will call + the proper processXXX method in the visitor. + + + + + + + Return an answer of true to the isReplayCommand() query. + + + + + + + Get the unique identifier that this object and its own + Marshaler share. + + + + + + + Returns a string containing the information for this DataStructure + such as its type and value of its elements. + + + + + + + Get the unique identifier that this object and its own + Marshaler share. + + + + + + + Returns a string containing the information for this DataStructure + such as its type and value of its elements. + + + + + + + Allows a Visitor to visit this command and return a response to the + command based on the command type being visited. The command will call + the proper processXXX method in the visitor. + + + + + + + Return an answer of true to the isSessionInfo() query. + + + + + + + Get the unique identifier that this object and its own + Marshaler share. + + + + + + + Returns a string containing the information for this DataStructure + such as its type and value of its elements. + + + + + + + Allows a Visitor to visit this command and return a response to the + command based on the command type being visited. The command will call + the proper processXXX method in the visitor. + + + + + + + Return an answer of true to the isShutdownInfo() query. + + + + + + + Get the unique identifier that this object and its own + Marshaler share. + + + + + + + Returns a string containing the information for this DataStructure + such as its type and value of its elements. + + + + + + + Get the unique identifier that this object and its own + Marshaler share. + + + + + + + Returns a string containing the information for this DataStructure + such as its type and value of its elements. + + + + + + + Allows a Visitor to visit this command and return a response to the + command based on the command type being visited. The command will call + the proper processXXX method in the visitor. + + + + + + + Return an answer of true to the isTransactionInfo() query. + + + + + + + Return an answer of true to the IsWireFormatInfo() query. + + + + + + + Get the unique identifier that this object and its own + Marshaler share. + + + + + + + Returns a string containing the information for this DataStructure + such as its type and value of its elements. + + + + + + Marshalling code for Open Wire Format for ActiveMQBlobMessage + + + + + Marshalling code for Open Wire Format for ActiveMQMessage + + + + + Marshalling code for Open Wire Format for Message + + + + + Marshalling code for Open Wire Format for BaseCommand + + + + + A base class with useful implementation inheritence methods + for creating marshallers of the OpenWire protocol + + + + + Converts the object to a String + + + + + Converts the object to a String + + + + + Converts the given transaction ID into a String + + + + + Creates the byte array into hexidecimal + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ActiveMQBytesMessage + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ActiveMQDestination + + + + + Marshalling code for Open Wire Format for ActiveMQMapMessage + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ActiveMQObjectMessage + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ActiveMQQueue + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ActiveMQStreamMessage + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ActiveMQTempDestination + + + + + Marshalling code for Open Wire Format for ActiveMQTempQueue + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ActiveMQTempTopic + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ActiveMQTextMessage + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ActiveMQTopic + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for BrokerId + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for BrokerInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ConnectionControl + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ConnectionError + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ConnectionId + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ConnectionInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ConsumerControl + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ConsumerId + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ConsumerInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ControlCommand + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for DataArrayResponse + + + + + Marshalling code for Open Wire Format for Response + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for DataResponse + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for DestinationInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for DiscoveryEvent + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ExceptionResponse + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for FlushCommand + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for IntegerResponse + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for JournalQueueAck + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for JournalTopicAck + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for JournalTrace + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for JournalTransaction + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for KeepAliveInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for LastPartialCommand + + + + + Marshalling code for Open Wire Format for PartialCommand + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for LocalTransactionId + + + + + Marshalling code for Open Wire Format for TransactionId + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Used to create marshallers for a specific version of the OpenWire protocol. + Each non-abstract DataStructure object has a registered Marshaller that is + created and added to the OpenWireFormat objects format collection. + + + + + Adds the Marshallers for this version of the OpenWire protocol to the + Collection of Marshallers stored in the OpenWireFormat class. + + + + + Marshalling code for Open Wire Format for MessageAck + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for MessageDispatch + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for MessageDispatchNotification + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for MessageId + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for MessagePull + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for NetworkBridgeFilter + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ProducerAck + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ProducerId + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ProducerInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for RemoveInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for RemoveSubscriptionInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ReplayCommand + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for SessionId + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for SessionInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ShutdownInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for SubscriptionInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for TransactionInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for WireFormatInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for XATransactionId + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ActiveMQBlobMessage + + + + + Marshalling code for Open Wire Format for ActiveMQMessage + + + + + Marshalling code for Open Wire Format for Message + + + + + Marshalling code for Open Wire Format for BaseCommand + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ActiveMQBytesMessage + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ActiveMQDestination + + + + + Marshalling code for Open Wire Format for ActiveMQMapMessage + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ActiveMQObjectMessage + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ActiveMQQueue + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ActiveMQStreamMessage + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ActiveMQTempDestination + + + + + Marshalling code for Open Wire Format for ActiveMQTempQueue + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ActiveMQTempTopic + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ActiveMQTextMessage + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ActiveMQTopic + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for BrokerId + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for BrokerInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ConnectionControl + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ConnectionError + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ConnectionId + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ConnectionInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ConsumerControl + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ConsumerId + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ConsumerInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ControlCommand + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for DataArrayResponse + + + + + Marshalling code for Open Wire Format for Response + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for DataResponse + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for DestinationInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for DiscoveryEvent + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ExceptionResponse + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for FlushCommand + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for IntegerResponse + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for JournalQueueAck + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for JournalTopicAck + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for JournalTrace + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for JournalTransaction + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for KeepAliveInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for LastPartialCommand + + + + + Marshalling code for Open Wire Format for PartialCommand + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for LocalTransactionId + + + + + Marshalling code for Open Wire Format for TransactionId + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Used to create marshallers for a specific version of the OpenWire protocol. + Each non-abstract DataStructure object has a registered Marshaller that is + created and added to the OpenWireFormat objects format collection. + + + + + Adds the Marshallers for this version of the OpenWire protocol to the + Collection of Marshallers stored in the OpenWireFormat class. + + + + + Marshalling code for Open Wire Format for MessageAck + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for MessageDispatch + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for MessageDispatchNotification + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for MessageId + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for MessagePull + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for NetworkBridgeFilter + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ProducerAck + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ProducerId + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ProducerInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for RemoveInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for RemoveSubscriptionInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ReplayCommand + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for SessionId + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for SessionInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ShutdownInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for SubscriptionInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for TransactionInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for WireFormatInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for XATransactionId + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ActiveMQBlobMessage + + + + + Marshalling code for Open Wire Format for ActiveMQMessage + + + + + Marshalling code for Open Wire Format for Message + + + + + Marshalling code for Open Wire Format for BaseCommand + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ActiveMQBytesMessage + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ActiveMQDestination + + + + + Marshalling code for Open Wire Format for ActiveMQMapMessage + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ActiveMQObjectMessage + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ActiveMQQueue + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ActiveMQStreamMessage + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ActiveMQTempDestination + + + + + Marshalling code for Open Wire Format for ActiveMQTempQueue + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ActiveMQTempTopic + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ActiveMQTextMessage + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ActiveMQTopic + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for BrokerId + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for BrokerInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ConnectionControl + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ConnectionError + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ConnectionId + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ConnectionInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ConsumerControl + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ConsumerId + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ConsumerInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ControlCommand + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for DataArrayResponse + + + + + Marshalling code for Open Wire Format for Response + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for DataResponse + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for DestinationInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for DiscoveryEvent + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ExceptionResponse + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for FlushCommand + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for IntegerResponse + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for JournalQueueAck + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for JournalTopicAck + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for JournalTrace + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for JournalTransaction + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for KeepAliveInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for LastPartialCommand + + + + + Marshalling code for Open Wire Format for PartialCommand + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for LocalTransactionId + + + + + Marshalling code for Open Wire Format for TransactionId + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Used to create marshallers for a specific version of the OpenWire protocol. + Each non-abstract DataStructure object has a registered Marshaller that is + created and added to the OpenWireFormat objects format collection. + + + + + Adds the Marshallers for this version of the OpenWire protocol to the + Collection of Marshallers stored in the OpenWireFormat class. + + + + + Marshalling code for Open Wire Format for MessageAck + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for MessageDispatch + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for MessageDispatchNotification + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for MessageId + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for MessagePull + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for NetworkBridgeFilter + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ProducerAck + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ProducerId + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ProducerInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for RemoveInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for RemoveSubscriptionInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ReplayCommand + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for SessionId + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for SessionInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ShutdownInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for SubscriptionInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for TransactionInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for WireFormatInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for XATransactionId + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ActiveMQBlobMessage + + + + + Marshalling code for Open Wire Format for ActiveMQMessage + + + + + Marshalling code for Open Wire Format for Message + + + + + Marshalling code for Open Wire Format for BaseCommand + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ActiveMQBytesMessage + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ActiveMQDestination + + + + + Marshalling code for Open Wire Format for ActiveMQMapMessage + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ActiveMQObjectMessage + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ActiveMQQueue + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ActiveMQStreamMessage + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ActiveMQTempDestination + + + + + Marshalling code for Open Wire Format for ActiveMQTempQueue + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ActiveMQTempTopic + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ActiveMQTextMessage + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ActiveMQTopic + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for BrokerId + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for BrokerInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ConnectionControl + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ConnectionError + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ConnectionId + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ConnectionInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ConsumerControl + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ConsumerId + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ConsumerInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ControlCommand + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for DataArrayResponse + + + + + Marshalling code for Open Wire Format for Response + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for DataResponse + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for DestinationInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for DiscoveryEvent + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ExceptionResponse + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for FlushCommand + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for IntegerResponse + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for JournalQueueAck + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for JournalTopicAck + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for JournalTrace + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for JournalTransaction + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for KeepAliveInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for LastPartialCommand + + + + + Marshalling code for Open Wire Format for PartialCommand + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for LocalTransactionId + + + + + Marshalling code for Open Wire Format for TransactionId + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Used to create marshallers for a specific version of the OpenWire protocol. + Each non-abstract DataStructure object has a registered Marshaller that is + created and added to the OpenWireFormat objects format collection. + + + + + Adds the Marshallers for this version of the OpenWire protocol to the + Collection of Marshallers stored in the OpenWireFormat class. + + + + + Marshalling code for Open Wire Format for MessageAck + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for MessageDispatch + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for MessageDispatchNotification + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for MessageId + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for MessagePull + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for NetworkBridgeFilter + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ProducerAck + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ProducerId + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ProducerInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for RemoveInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for RemoveSubscriptionInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ReplayCommand + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for SessionId + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for SessionInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ShutdownInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for SubscriptionInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for TransactionInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for WireFormatInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for XATransactionId + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ActiveMQBlobMessage + + + + + Marshalling code for Open Wire Format for ActiveMQMessage + + + + + Marshalling code for Open Wire Format for Message + + + + + Marshalling code for Open Wire Format for BaseCommand + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ActiveMQBytesMessage + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ActiveMQDestination + + + + + Marshalling code for Open Wire Format for ActiveMQMapMessage + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ActiveMQObjectMessage + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ActiveMQQueue + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ActiveMQStreamMessage + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ActiveMQTempDestination + + + + + Marshalling code for Open Wire Format for ActiveMQTempQueue + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ActiveMQTempTopic + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ActiveMQTextMessage + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ActiveMQTopic + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for BrokerId + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for BrokerInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ConnectionControl + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ConnectionError + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ConnectionId + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ConnectionInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ConsumerControl + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ConsumerId + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ConsumerInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ControlCommand + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for DataArrayResponse + + + + + Marshalling code for Open Wire Format for Response + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for DataResponse + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for DestinationInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for DiscoveryEvent + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ExceptionResponse + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for FlushCommand + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for IntegerResponse + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for JournalQueueAck + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for JournalTopicAck + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for JournalTrace + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for JournalTransaction + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for KeepAliveInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for LastPartialCommand + + + + + Marshalling code for Open Wire Format for PartialCommand + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for LocalTransactionId + + + + + Marshalling code for Open Wire Format for TransactionId + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Used to create marshallers for a specific version of the OpenWire protocol. + Each non-abstract DataStructure object has a registered Marshaller that is + created and added to the OpenWireFormat objects format collection. + + + + + Adds the Marshallers for this version of the OpenWire protocol to the + Collection of Marshallers stored in the OpenWireFormat class. + + + + + Marshalling code for Open Wire Format for MessageAck + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for MessageDispatch + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for MessageDispatchNotification + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for MessageId + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for MessagePull + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for NetworkBridgeFilter + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ProducerAck + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ProducerId + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ProducerInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for RemoveInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for RemoveSubscriptionInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ReplayCommand + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for SessionId + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for SessionInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ShutdownInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for SubscriptionInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for TransactionInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for WireFormatInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for XATransactionId + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ActiveMQBlobMessage + + + + + Marshalling code for Open Wire Format for ActiveMQMessage + + + + + Marshalling code for Open Wire Format for Message + + + + + Marshalling code for Open Wire Format for BaseCommand + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ActiveMQBytesMessage + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ActiveMQDestination + + + + + Marshalling code for Open Wire Format for ActiveMQMapMessage + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ActiveMQObjectMessage + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ActiveMQQueue + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ActiveMQStreamMessage + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ActiveMQTempDestination + + + + + Marshalling code for Open Wire Format for ActiveMQTempQueue + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ActiveMQTempTopic + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ActiveMQTextMessage + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ActiveMQTopic + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for BrokerId + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for BrokerInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ConnectionControl + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ConnectionError + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ConnectionId + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ConnectionInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ConsumerControl + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ConsumerId + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ConsumerInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ControlCommand + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for DataArrayResponse + + + + + Marshalling code for Open Wire Format for Response + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for DataResponse + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for DestinationInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for DiscoveryEvent + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ExceptionResponse + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for FlushCommand + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for IntegerResponse + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for JournalQueueAck + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for JournalTopicAck + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for JournalTrace + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for JournalTransaction + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for KeepAliveInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for LastPartialCommand + + + + + Marshalling code for Open Wire Format for PartialCommand + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for LocalTransactionId + + + + + Marshalling code for Open Wire Format for TransactionId + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Used to create marshallers for a specific version of the OpenWire protocol. + Each non-abstract DataStructure object has a registered Marshaller that is + created and added to the OpenWireFormat objects format collection. + + + + + Adds the Marshallers for this version of the OpenWire protocol to the + Collection of Marshallers stored in the OpenWireFormat class. + + + + + Marshalling code for Open Wire Format for MessageAck + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for MessageDispatch + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for MessageDispatchNotification + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for MessageId + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for MessagePull + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for NetworkBridgeFilter + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ProducerAck + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ProducerId + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ProducerInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for RemoveInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for RemoveSubscriptionInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ReplayCommand + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for SessionId + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for SessionInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ShutdownInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for SubscriptionInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for TransactionInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for WireFormatInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for XATransactionId + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Represents a stream of boolean flags + + + + + Implements the OpenWire protocol. + + + + + Represents the marshalling of commands to and from an IO stream + + + + + Marshalls the given command object onto the stream + + + + + Unmarshalls the next command object from the stream + + + + + Gets the Transport that own this WireFormat instnace. + + + + + Gets the current version of the protocol that this WireFormat instance + supports + + + + + Tracks the state of a connection so a newly established transport can be + re-initialized to the state that was tracked. + + + + + + + null if the command is not state tracked. + + + + + + + + + + + + + + + + + + + + + + + + + + + + A Composite task is one of N tasks that can be managed by a + CompositTaskRunner instance. The CompositeTaskRunner checks each + task when its wakeup method is called to determine if the Task has + any work it needs to complete, if no tasks have any pending work + then the CompositeTaskRunner can return to its sleep state until + the next time its wakeup method is called or it is shut down. + + + + + Represents a task that may take a few iterations to complete. + + + + + Performs some portion of the work that this Task object is + assigned to complete. When the task is entirely finished this + method should return false. + + + A this indicates if this Task should + be run again. + + + + + Indicates if this Task has any pending work. + + + + + A TaskRunner that dedicates a single thread to running a single Task. + + + + + Allows you to request a thread execute the associated Task. + + + + + Wakeup the TaskRunner and have it check for any pending work that + needs to be completed. If none is found it will go back to sleep + until another Wakeup call is made. + + + + + Attempt to Shutdown the TaskRunner, this method will wait indefinitely + for the TaskRunner to quite if the task runner is in a call to its Task's + run method and that never returns. + + + + + Performs a timed wait for the TaskRunner to shutdown. If the TaskRunner + is in a call to its Task's run method and that does not return before the + timeout expires this method returns and the TaskRunner may remain in the + running state. + + + A + + + + + Performs a timed wait for the TaskRunner to shutdown. If the TaskRunner + is in a call to its Task's run method and that does not return before the + timeout expires this method sends an Abort to the Task thread and return. + + + A + + + + + A TaskRunner that dedicates a single thread to running a single Task. + + + + + We Expect MANY wakeup calls on the same TaskRunner. + + + + + shut down the task + + + + + + Manages the thread pool for long running tasks. Long running tasks are not + always active but when they are active, they may need a few iterations of + processing for them to become idle. The manager ensures that each task is + processes but that no one task overtakes the system. This is kina like + cooperative multitasking. + + If your OS/JVM combination has a good thread model, you may want to avoid + using a thread pool to run tasks and use a DedicatedTaskRunner instead. + + + + + This class provides a wrapper around the ThreadPool mechanism in .NET + to allow for serial execution of jobs in the ThreadPool and provide + a means of shutting down the execution of jobs in a deterministic + way. + + + + + Represents an asynchronous task that is executed on the ThreadPool + at some point in the future. + + + + + Interface for a Logger object used to store and retrieve Recovery + Information needed to recover distributed transactions that operate + in the Microsoft Distributed Transaction Context. + + + + + The Unique Id of the Resource Manager that this logger is currently + logging recovery information for. + + + + + The Path to the location on disk where the recovery log is written + to and read from. + + + + + Indiciate that the Logger should create and sibdirs of the + given location that don't currently exist. + + + + + Attribute that decorates IRecoveryLoggerFactory implementations to allow + the Recovery Policy to find all the available factories dynamically. + + + + + Indexed by service name + + + + + This property indicates whether or not async send is enabled. + + + + + A Transport that is made reliable by being able to fail over to another + transport when a transport failure is detected. + + + + + Represents the logical networking transport layer. Transports implment the low + level protocol specific portion of the Communication between the Client and a Broker + such as TCP, UDP, etc. Transports make use of WireFormat objects to handle translateing + the cononical OpenWire Commands used in this client into binary wire level packets that + can be sent to the Broker or Service that the Transport connects to. + + + + + Sends a Command object on the Wire but does not wait for any response from the + receiver before returning. + + + A + + + + + Sends a Command object which requires a response from the Broker but does not + wait for the response, instead a FutureResponse object is returned that the + caller can use to wait on the Broker's response. + + + A + + + A + + + + + Sends a Command to the Broker and waits for a Response to that Command before + returning, this version waits indefinitely for a response. + + + A + + + A + + + + + Sends a Command to the Broker and waits for the given TimeSpan to expire for a + response before returning. + + + A + + + A + + + A + + + + + Allows a caller to find a specific type of Transport in the Chain of + Transports that is created. This allows a caller to find a specific + object in the Transport chain and set or get properties on that specific + instance. If the requested type isn't in the chain than Null is returned. + + + A + + + A + + + + + Updates the Uri's that this Transport is aware of and will use to + connect itself to. If the rebalance option is true this method will + terminate any current connection and reconnect to another available + Uri. + + + A + + + A + + + + + Timeout in milliseconds to wait for sending synchronous messages or commands. + Set to -1 for infinite timeout. + + + + + Timeout in milliseconds to wait for sending asynchronous messages or commands. + Set to -1 for infinite timeout. + + + + + Indicates if this Transport has already been disposed and can no longer + be used. + + + + + Indicates if this Transport is Fault Tolerant or not. A fault Tolerant + Transport handles low level connection errors internally allowing a client + to remain unaware of wire level disconnection and reconnection details. + + + + + Indiciates if the Transport is current Connected to is assigned URI. + + + + + The Remote Address that this transport is currently connected to. + + + + + Returns true if this Transport supports reconnections. + + + + + Returns true if this Transport can accept updated lists of connection Uri's. + + + + + Returns the IWireFormat object that this transport uses to marshal and + unmarshal Command objects. + + + + + Adds a new set of Uris to the list of Uris that this Transport can connect to. + + + A + Should the current connection be broken and a new one created. + + + A + + + + + Remove the given Uris from this Transports list of known Uris. + + + A + Should the current connection be broken and a new one created. + + + A + + + + + Gets or sets a value indicating whether to asynchronously connect to sockets + + true if [async connect]; otherwise, false. + + + + If doing an asynchronous connect, the milliseconds before timing out if no connection can be made + + The async timeout. + + + + This class is a helper for the asynchronous connect option + + + + + callback to properly set chosen transport + + + + + Uri to try connecting to + + + + + Failover transport issuing the connection attempt + + + + + Initializes a new instance of the class. + + The set transport. + The URI. + The transport. + + + + Does the connect. + + + + + + + + + + + Defines an Interface for a Command Response Builder used by the MockTransport + to answer Commands sent via the Request and AsnycRequest methods. + + + + + Given a Command, check if it requires a response and return the + appropriate Response that the Broker would send for this Command + + + + + When called the ResponseBuilder must construct all the Responses or + Asynchronous commands that would be sent to this client by the Broker + upon receipt of the passed command. + + + + + Transport used for testing, mimics the behaviour of a normal Transport and allows + messages to be sent and received + + + + + Injects a Command into the Transports inbound message queue, the Commands in the + inbound Queue are dispatched to the registered CommnadHandler instance for + processing, this simulates receiving a message from an external source, e.g. + receiving a new message from the Broker. + + + A + + + + + Timeout in milliseconds to wait for sending synchronous messages or commands. + Set to -1 for infinite timeout. + + + + + Timeout in milliseconds to wait for sending asynchronous messages or commands. + Set to -1 for infinite timeout. + + + + + Factory class to create the MockTransport when given on a URI as mock://XXX + + + + + Builds responses using the internal Cononical OpenWire Commands format. + + + + + An implementation of ITransport that uses sockets to communicate with the broker + + + + + Method Start + + + + + Property IsStarted + + + + + Timeout in milliseconds to wait for sending synchronous messages or commands. + Set to -1 for infinite timeout. + + + + + Timeout in milliseconds to wait for sending asynchronous messages or commands. + Set to -1 for infinite timeout. + + + + + Indicates the name of the Server's Certificate. By default the Host name + of the remote server is used, however if this doesn't match the name of the + Server's certificate then this option can be set to override the default. + + + + + Indicates the location of the Client Certificate to use when the Broker + is configured for Client Auth (not common). The SslTransport will supply + this certificate to the SslStream via the SelectLocalCertificate method. + + + + + Password for the Client Certificate specified via configuration. + + + + + Indicates if the SslTransport should ignore any errors in the supplied Broker + certificate and connect anyway, this is useful in testing with a default AMQ + broker certificate that is self signed. + + + + + Should the Inactivity Monitor be enabled on this Transport. + + + + + Size in bytes of the receive buffer. + + + + + Size in bytes of send buffer. + + + + + The time-out value, in milliseconds. The default value is 0, which indicates + an infinite time-out period. Specifying -1 also indicates an infinite time-out period. + + + + + The time-out value, in milliseconds. If you set the property with a value between 1 and 499, + the value will be changed to 500. The default value is 0, which indicates an infinite + time-out period. Specifying -1 also indicates an infinite time-out period. + + + + + Override in a subclass to create the specific type of transport that is + being implemented. + + + + + Attribute that decorates ITransportFactory implementations to allow + the TransportFactory to find all the available factories dynamically. + + + + + Handles asynchronous responses + + + + + This class make sure that the connection is still alive, + by monitoring the reception of commands from the peer of + the transport. + + + + + Used to implement a filter on the transport layer. + + + + + Method Oneway + + A Command + + + + Method AsyncRequest + + A FutureResponse + A Command + + + + Method Request + + A Response + A Command + + + + Method Request with time out for Response. + + A Response + A Command + Timeout in milliseconds + + + + Method Start + + + + + Method Dispose + + + + + Property IsStarted + + + + + Timeout in milliseconds to wait for sending synchronous messages or commands. + Set to -1 for infinite timeout. + + + + + Timeout in milliseconds to wait for sending asynchronous messages or commands. + Set to -1 for infinite timeout. + + + + + Constructor or the Inactivity Monitor + + + + + + Check the write to the broker + + + + + Checks if we should allow the read check(if less than 90% of the read + check time elapsed then we dont do the readcheck + + + + + + + A Transport filter that is used to log the commands sent and received. + + + + + A Transport which guards access to the next transport using a mutex. + + + + + A Transport that correlates asynchronous send/receive messages into single request/response. + + + + + Creates a normal transport. + + + the transport + + + + Create a transport factory for the scheme. If we do not support the transport protocol, + an NMSConnectionException will be thrown. + + + + + + + A Transport which negotiates the wire format + + + + + A FIFO based MessageDispatchChannel. + + + + + Defines an interface for a Message Channel used to dispatch incoming + Messages to a Session or MessageConsumer. The implementation controls + how the messages are dequeued from the channel, one option is for a + FIFO ordering while another might be to sort the Message's based on the + set Message Priority. + + + + Construct an IdGenerator + + + + Generate a Unique Id + + + A + + + + + Generate a unique ID - that is friendly for a URL or file system + + + A + + + + + From a generated id - return the seed (i.e. minus the count) + + + A + + + A + + + + + From a generated id - return the generator count + + + A + + + A + + + + + Does a proper compare on the ids + + + A + + + A + + + A + + + + + As we have to find the hostname as a side-affect of generating a unique + stub, we allow it's easy retrevial here + + + + + Utility class used to provide conveince methods that apply named property + settings to objects. + + + + + Sets the public properties of a target object using a string map. + This method uses .Net reflection to identify public properties of + the target object matching the keys from the passed map. + + The object whose properties will be set. + Map of key/value pairs. + + + + Sets the public properties of a target object using a string map. + This method uses .Net reflection to identify public properties of + the target object matching the keys from the passed map. + + The object whose properties will be set. + Map of key/value pairs. + Key value prefix. This is prepended to the property name + before searching for a matching key value. + + + + Utility class for Tracking Memory Usage with an imposed limit on the amount + available. Provides methods for objects to wait on more space to become + available if the memory limit is reached. + + + + + If no space is available then this method blocks until more becomes available. + + + + + If no space is available then this method blocks until more becomes available + or until the specified timeout expires. + + + A + + + + + Attempts to increase the amount of Memory Used, if non is available to fill + then this method blocks until more is freed. + + + A + + + + + Increase the level of Usage. + + + A + + + + + Decrease the level of Usage. + + + A + + + + + Checks if the Usage Windows has become full, is so returns true + otherwise returns false. + + + A + + + + + Consumes Advisory Messages for Temp Destination creation on deletion so that + the connection can track valid destinations for its sessions, and session resources. + + + + + Interface that provides for a Class to provide dispatching service for + an OpenWire MessageDispatch command. + + + + + Exception thrown when the broker returns an error + + + + + Initializes a new instance of the BrokerException class with serialized data. + Throws System.ArgumentNullException if the info parameter is null. + Throws System.Runtime.Serialization.SerializationException if the class name is null or System.Exception.HResult is zero (0). + + The SerializationInfo that holds the serialized object data about the exception being thrown. + The StreamingContext that contains contextual information about the source or destination. + + + + When overridden in a derived class, sets the SerializationInfo + with information about the exception. + + The SerializationInfo that holds the serialized object data about the exception being thrown. + The StreamingContext that contains contextual information about the source or destination. + + + + Generates a nice textual stack trace + + + + + Default Compression policy for NMS.ActiveMQ uses the built in GZipStream + to compress and decompress the message body. This is not compatible with + compression used by ActiveMQ so users should use this with caution. + + + + + Policy interface for Message Compression, the policy should return + a new Stream for compression or decompression upon request that wraps + the provided Stream instance. + + + + + Represents a connection with a message broker + + + + + Starts asynchronous message delivery of incoming messages for this connection. + Synchronous delivery is unaffected. + + + + + Temporarily stop asynchronous delivery of inbound messages for this connection. + The sending of outbound messages is unaffected. + + + + + Creates a new session to work on this connection + + + + + Creates a new session to work on this connection + + + + + Performs a synchronous request-response with the broker + + + + + + Performs a synchronous request-response with the broker for requested timeout duration. + + + + + + + + Check and ensure that the connection objcet is connected. If it is not + connected or is closed, a ConnectionClosedException is thrown. + + + + + Handle incoming commands + + An ITransport + A Command + + + + Creates a new local transaction ID + + + + + A delegate that can receive transport level exceptions. + + + + + An asynchronous listener that is notified when a Fault tolerant connection + has been interrupted. + + + + + An asynchronous listener that is notified when a Fault tolerant connection + has been resumed. + + + + + This property indicates what version of the Protocol we are using to + communicate with the Broker, if not set we return the lowest version + number to indicate we support only the basic command set. + + + + + This property indicates whether or not async send is enabled. + + + + + This property indicates whether or not async close is enabled. + When the connection is closed, it will either send a synchronous + DisposeOf command to the broker and wait for confirmation (if true), + or it will send the DisposeOf command asynchronously. + + + + + This property indicates whether or not async sends are used for + message acknowledgement messages. Sending Acks async can improve + performance but may decrease reliability. + + + + + This property sets the acknowledgment mode for the connection. + The URI parameter connection.ackmode can be set to a string value + that maps to the enumeration value. + + + + + This property is the maximum number of bytes in memory that a producer will transmit + to a broker before waiting for acknowledgement messages from the broker that it has + accepted the previously sent messages. In other words, this how you configure the + producer flow control window that is used for async sends where the client is responsible + for managing memory usage. The default value of 0 means no flow control at the client + + + + + This property forces all messages that are sent to be sent synchronously overriding + any usage of the AsyncSend flag. This can reduce performance in some cases since the + only messages we normally send synchronously are Persistent messages not sent in a + transaction. This options guarantees that no send will return until the broker has + acknowledge receipt of the message + + + + + This property indicates whether Message's should be copied before being sent via + one of the Connection's send methods. Copying the Message object allows the user + to resuse the Object over for another send. If the message isn't copied performance + can improve but the user must not reuse the Object as it may not have been sent + before they reset its payload. + + + + + Enable or Disable the use of Compression on Message bodies. When enabled all + messages have their body compressed using the Deflate compression algorithm. + The recipient of the message must support the use of message compression as well + otherwise the receiving client will receive a message whose body appears in the + compressed form. + + + + + Indicate whether or not the resources of this Connection should support the + Message Priority value of incoming messages and dispatch them accordingly. + When disabled Message are always dispatched to Consumers in FIFO order. + + + + + synchronously or asynchronously by the broker. + + + + + The Default Client Id used if the ClientId property is not set explicity. + + + + + Get/or set the redelivery policy for this connection. + + + + + This property determines if the asynchronous message delivery of incoming + messages has been started for this connection. + + + + + Exception thrown when a connection is used that it already closed + + + + + Initializes a new instance of the ConnectionClosedException class with serialized data. + Throws System.ArgumentNullException if the info parameter is null. + Throws System.Runtime.Serialization.SerializationException if the class name is null or System.Exception.HResult is zero (0). + + The SerializationInfo that holds the serialized object data about the exception being thrown. + The StreamingContext that contains contextual information about the source or destination. + + + + Represents a connection with a message broker + + + + + Get/or set the broker Uri. + + + + + A Delegate that is called each time a Message is dispatched to allow the client to do + any necessary transformations on the received message before it is delivered. The + ConnectionFactory sets the provided delegate instance on each Connection instance that + is created from this factory, each connection in turn passes the delegate along to each + Session it creates which then passes that along to the Consumers it creates. + + + + + A delegate that is called each time a Message is sent from this Producer which allows + the application to perform any needed transformations on the Message before it is sent. + The ConnectionFactory sets the provided delegate instance on each Connection instance that + is created from this factory, each connection in turn passes the delegate along to each + Session it creates which then passes that along to the Producers it creates. + + + + + Exception thrown when a connection is used that it has failed in some way. + + + + + Initializes a new instance of the ConnectionFailedException class with serialized data. + Throws System.ArgumentNullException if the info parameter is null. + Throws System.Runtime.Serialization.SerializationException if the class name is null or System.Exception.HResult is zero (0). + + The SerializationInfo that holds the serialized object data about the exception being thrown. + The StreamingContext that contains contextual information about the source or destination. + + + + Implements the Connection Meta-Data feature for Apache.NMS.ActiveMQ + + + + + Exception thrown when a consumer is used that it already closed + + + + + Initializes a new instance of the ConsumerClosedException class with serialized data. + Throws System.ArgumentNullException if the info parameter is null. + Throws System.Runtime.Serialization.SerializationException if the class name is null or System.Exception.HResult is zero (0). + + The SerializationInfo that holds the serialized object data about the exception being thrown. + The StreamingContext that contains contextual information about the source or destination. + + + + Summary description for DestinationFilter. + + + + + Exception thrown when an IO error occurs + + + + + Called before a commit or rollback is applied. + + + + + Called after a commit + + + + + Called after a transaction rollback + + + + + An object capable of receiving messages from some destination + + + + + Called from the parent Session of this Consumer to indicate that its + parent session is closing and this Consumer should close down but not + send any message to the Broker as the parent close will take care of + removing its child resources at the broker. + + + + + Used to get an enqueued message from the unconsumedMessages list. The + amount of time this method blocks is based on the timeout value. if + timeout == Timeout.Infinite then it blocks until a message is received. + if timeout == 0 then it it tries to not block at all, it returns a + message if it is available if timeout > 0 then it blocks up to timeout + amount of time. Expired messages will consumed by this method. + + + A + + + A + + + + + A Delegate that is called each time a Message is dispatched to allow the client to do + any necessary transformations on the received message before it is delivered. + + + + + An object capable of sending messages to some destination + + + + + Called from the Parent session to deactivate this Producer, when a parent + is closed all children are automatically removed from the broker so this + method circumvents the need to send a Remove command to the broker. + + + + + Extends the basic Connection class to provide a transacted Connection + instance that operates within the bounds of a .NET Scoped Transaction. + + The default Session creation methods of Connection are overriden here + to always return a TX capable session instance. + + + + + Policy class used to configure the options associated with TX + recovery. + + + + + Default provider of ISession + + + + + Private object used for synchronization, instead of public "this" + + + + + Delete a destination (Queue, Topic, Temp Queue, Temp Topic). + + + + + Ensures that a transaction is started + + + + + Prevents message from throwing an exception if a client calls Acknoweldge on + a message that is part of a transaction either being produced or consumed. The + JMS Spec indicates that users should be able to call Acknowledge with no effect + if the message is in a transaction. + + + A + + + + + Sets the prefetch size, the maximum number of messages a broker will dispatch to consumers + until acknowledgements are received. + + + + + Sets the maximum number of messages to keep around per consumer + in addition to the prefetch window for non-durable topics until messages + will start to be evicted for slow consumers. + Must be > 0 to enable this feature + + + + + Enables or disables whether asynchronous dispatch should be used by the broker + + + + + Enables or disables exclusive consumers when using queues. An exclusive consumer means + only one instance of a consumer is allowed to process messages on a queue to preserve order + + + + + Enables or disables retroactive mode for consumers; i.e. do they go back in time or not? + + + + + Sets the default consumer priority for consumers + + + + + A Delegate that is called each time a Message is dispatched to allow the client to do + any necessary transformations on the received message before it is delivered. + The Session instance sets the delegate on each Consumer it creates. + + + + + A delegate that is called each time a Message is sent from this Producer which allows + the application to perform any needed transformations on the Message before it is sent. + The Session instance sets the delegate on each Producer it creates. + + + + + Manually Enlists in the given Transaction. This can be used to when the + client is using the Session in Asynchronous listener mode since the Session + cannot atuomatically join in this case as there is no Ambient transaction in + the Message Dispatch thread. This also allows for clients to use the explicit + exception model when necessary. + + + + + Reports Transacted whenever there is an Ambient Transaction or the internal + TransactionContext is still involed in a .NET Transaction beyond the lifetime + of an ambient transaction (can happen during a scoped transaction disposing + without Complete being called and a Rollback is in progress.) + + + + + Class used to define the various limits that should be used for the Prefetch + limit on destination based on the type of Destination in use. + + + + + Exception thrown when an Request times out. + + + + + Method AddSynchronization + + + + + Should be called from NetTxSession when created to check if any TX + data is stored for recovery and whether the Broker has matching info + stored. If an Transaction is found that belongs to this client and is + still alive on the Broker it will be recovered, otherwise the stored + data should be cleared. + + +
+
diff --git a/lib/Net/3.5/Apache.NMS.dll b/lib/Net/3.5/Apache.NMS.dll new file mode 100644 index 00000000..b9dc125a Binary files /dev/null and b/lib/Net/3.5/Apache.NMS.dll differ diff --git a/lib/Net/3.5/Apache.NMS.xml b/lib/Net/3.5/Apache.NMS.xml new file mode 100644 index 00000000..385b480c --- /dev/null +++ b/lib/Net/3.5/Apache.NMS.xml @@ -0,0 +1,2736 @@ + + + + Apache.NMS + + + + + A BinaryWriter that switches the endian orientation of the write operations so that they + are compatible across platforms. + + + + + Method Write + + A long + + + + Method Write + + An ushort + + + + Method Write + + An int + + + + Method Write + + A char[] + An int + An int + + + + Method Write + + A char[] + + + + Method Write + + An uint + + + + Method Write + + A char + + + + Method Write + + An ulong + + + + Method Write + + A short + + + + Method Write, writes a string to the output using the WriteString16 + method. + + A string + + + + Method WriteString16, writes a string to the output using the Java + standard modified UTF-8 encoding with an unsigned short value written first to + indicate the length of the encoded data, the short is read as an unsigned + value so the max amount of data this method can write is 65535 encoded bytes. + + Unlike the WriteString32 method this method does not encode the length + value to -1 if the string is null, this is to match the behaviour of + the Java DataOuputStream class's writeUTF method. + + Because modified UTF-8 encding can result in a number of bytes greater that + the size of the String this method must first check that the encoding proces + will not result in a value that cannot be written becuase it is greater than + the max value of an unsigned short. + + A string + + + + Method WriteString32, writes a string to the output using the Openwire + standard modified UTF-8 encoding which an int value written first to + indicate the length of the encoded data, the int is read as an signed + value so the max amount of data this method can write is 2^31 encoded bytes. + + In the case of a null value being passed this method writes a -1 to the + stream to indicate that the string is null. + + Because modified UTF-8 encding can result in a number of bytes greater that + the size of the String this method must first check that the encoding proces + will not result in a value that cannot be written becuase it is greater than + the max value of an int. + + A string + + + + Method Write + + A double + + + + Method Write + + A double + + + + A BinaryWriter that switches the endian orientation of the read operations so that they + are compatible across platforms. + + + + + Method Read + + An int + A char[] + An int + An int + + + + Method ReadChars + + A char[] + An int + + + + Method ReadInt16 + + A short + + + + Method ReadChar + + A char + + + + Method ReadInt64 + + A long + + + + Method ReadUInt64 + + An ulong + + + + Method ReadUInt32 + + An uint + + + + Method ReadUInt16 + + An ushort + + + + Method ReadInt32 + + An int + + + + Method ReadString + + A string + + + + Method ReadString16, reads a String value encoded in the Java modified + UTF-8 format with a length index encoded as a 16bit unsigned short. + + A string + + + + Method ReadString32, reads a String value encoded in the Java modified + UTF-8 format with a length index encoded as a singed integer value. + + A string + + + + Decrement the count, releasing any waiting Threads when the count reaches Zero. + + + + + Causes the current Thread to wait for the count to reach zero, unless + the Thread is interrupted. + + + + + Causes the current thread to wait until the latch has counted down to zero, unless + the thread is interrupted, or the specified waiting time elapses. + + + + + Gets the current count for this Latch. + + + + + A StreamMessage object is used to send a stream of primitive types in the + .NET programming language. It is filled and read sequentially. It inherits + from the Message interface and adds a stream message body. + + The primitive types can be read or written explicitly using methods for each + type. They may also be read or written generically as objects. For instance, + a call to IStreamMessage.WriteInt32(6) is equivalent to + StreamMessage.WriteObject( (Int32)6 ). Both forms are provided, because the + explicit form is convenient for static programming, and the object form is + needed when types are not known at compile time. + + When the message is first created, and when ClearBody is called, the body of + the message is in write-only mode. After the first call to reset has been made, + the message body is in read-only mode. After a message has been sent, the + client that sent it can retain and modify it without affecting the message + that has been sent. The same message object can be sent multiple times. When a + message has been received, the provider has called reset so that the message + body is in read-only mode for the client. + + If ClearBody is called on a message in read-only mode, the message body is + cleared and the message body is in write-only mode. + + If a client attempts to read a message in write-only mode, a + MessageNotReadableException is thrown. + + If a client attempts to write a message in read-only mode, a + MessageNotWriteableException is thrown. + + IStreamMessage objects support the following conversion table. The marked cases + must be supported. The unmarked cases must throw a NMSException. The + String-to-primitive conversions may throw a runtime exception if the primitive's + valueOf() method does not accept it as a valid String representation of the + primitive. + + A value written as the row type can be read as the column type. + + | | boolean byte short char int long float double String byte[] + |---------------------------------------------------------------------- + |boolean | X X + |byte | X X X X X + |short | X X X X + |char | X X + |int | X X X + |long | X X + |float | X X X + |double | X X + |String | X X X X X X X X + |byte[] | X + |---------------------------------------------------------------------- + + + + + + Represents a message either to be sent to a message broker or received from a message broker. + + + + + If using client acknowledgement mode on the session, then this method will acknowledge that the + message has been processed correctly. + + + + + Clears out the message body. Clearing a message's body does not clear its header + values or property entries. + + If this message body was read-only, calling this method leaves the message body in + the same state as an empty body in a newly created message. + + + + + Clears a message's properties. + + The message's header fields and body are not cleared. + + + + + Provides access to the message properties (headers). + + + + + The correlation ID used to correlate messages from conversations or long running business processes. + + + + + The destination of the message. This property is set by the IMessageProducer. + + + + + The amount of time for which this message is valid. Zero if this message does not expire. + + + + + The message ID which is set by the provider. + + + + + Whether or not this message is persistent. + + + + + The Priority of this message. + + + + + Returns true if this message has been redelivered to this or another consumer before being acknowledged successfully. + + + + + The destination that the consumer of this message should send replies to + + + + + The timestamp of when the message was pubished in UTC time. If the publisher disables setting + the timestamp on the message, the time will be set to the start of the UNIX epoc (1970-01-01 00:00:00). + + + + + The type name of this message. + + + + + Reads a boolean from the stream message. + + + A + + + if the NMS provider fails to read the message due to some internal error. + + + if unexpected end of message stream has been reached. + + + if this type conversion is invalid. + + + if the message is in write-only mode. + + + + + Reads a byte from the stream message. + + + A + + + if the NMS provider fails to read the message due to some internal error. + + + if unexpected end of message stream has been reached. + + + if this type conversion is invalid. + + + if the message is in write-only mode. + + + + + Reads a byte array field from the stream message into the specified byte[] + object (the read buffer). + + To read the field value, ReadBytes should be successively called until it returns + a value less than the length of the read buffer. The value of the bytes in the + buffer following the last byte read is undefined. + + If ReadBytes returns a value equal to the length of the buffer, a subsequent + ReadBytes call must be made. If there are no more bytes to be read, this call + returns -1. + + If the byte array field value is null, ReadBytes returns -1. + If the byte array field value is empty, ReadBytes returns 0. + + Once the first ReadBytes call on a byte[] field value has been made, the full + value of the field must be read before it is valid to read the next field. + An attempt to read the next field before that has been done will throw a + MessageFormatException. + + To read the byte field value into a new byte[] object, use the ReadObject method. + + + A + + + A + the total number of bytes read into the buffer, or -1 if there is no more data + because the end of the byte field has been reached + + + if the NMS provider fails to read the message due to some internal error. + + + if unexpected end of message stream has been reached. + + + if this type conversion is invalid. + + + if the message is in write-only mode. + + + + + + Reads a char from the stream message. + + + A + + + if the NMS provider fails to read the message due to some internal error. + + + if unexpected end of message stream has been reached. + + + if this type conversion is invalid. + + + if the message is in write-only mode. + + + + + Reads a short from the stream message. + + + A + + + if the NMS provider fails to read the message due to some internal error. + + + if unexpected end of message stream has been reached. + + + if this type conversion is invalid. + + + if the message is in write-only mode. + + + + + Reads a int from the stream message. + + + A + + + if the NMS provider fails to read the message due to some internal error. + + + if unexpected end of message stream has been reached. + + + if this type conversion is invalid. + + + if the message is in write-only mode. + + + + + Reads a long from the stream message. + + + A + + + if the NMS provider fails to read the message due to some internal error. + + + if unexpected end of message stream has been reached. + + + if this type conversion is invalid. + + + if the message is in write-only mode. + + + + + Reads a float from the stream message. + + + A + + + if the NMS provider fails to read the message due to some internal error. + + + if unexpected end of message stream has been reached. + + + if this type conversion is invalid. + + + if the message is in write-only mode. + + + + + Reads a double from the stream message. + + + A + + + if the NMS provider fails to read the message due to some internal error. + + + if unexpected end of message stream has been reached. + + + if this type conversion is invalid. + + + if the message is in write-only mode. + + + + + Reads a string from the stream message. + + + A + + + if the NMS provider fails to read the message due to some internal error. + + + if unexpected end of message stream has been reached. + + + if this type conversion is invalid. + + + if the message is in write-only mode. + + + + + Reads a Object from the stream message. + + + A + + + if the NMS provider fails to read the message due to some internal error. + + + if unexpected end of message stream has been reached. + + + if this type conversion is invalid. + + + if the message is in write-only mode. + + + + + Writes a boolean to the stream message. + + + A + + + if the NMS provider fails to write to the message due to some internal error. + + + if the message is in read-only mode. + + + + + Writes a byte to the stream message. + + + A + + + if the NMS provider fails to write to the message due to some internal error. + + + if the message is in read-only mode. + + + + + Writes a byte array field to the stream message. + + The byte array value is written to the message as a byte array field. + Consecutively written byte array fields are treated as two distinct + fields when the fields are read. + + + A + + + if the NMS provider fails to write to the message due to some internal error. + + + if the message is in read-only mode. + + + + + Writes a portion of a byte array as a byte array field to the stream message. + + The a portion of the byte array value is written to the message as a byte + array field. Consecutively written byte array fields are treated as two distinct + fields when the fields are read. + + + A + + + A value that indicates the point in the buffer to + begin writing to the stream message. + + + A value that indicates how many bytes in the buffer + to write to the stream message. + + + if the NMS provider fails to write to the message due to some internal error. + + + if the message is in read-only mode. + + + + + Writes a char to the stream message. + + + A + + + if the NMS provider fails to write to the message due to some internal error. + + + if the message is in read-only mode. + + + + + Writes a short to the stream message. + + + A + + + if the NMS provider fails to write to the message due to some internal error. + + + if the message is in read-only mode. + + + + + Writes a int to the stream message. + + + A + + + if the NMS provider fails to write to the message due to some internal error. + + + if the message is in read-only mode. + + + + + Writes a long to the stream message. + + + A + + + if the NMS provider fails to write to the message due to some internal error. + + + if the message is in read-only mode. + + + + + Writes a float to the stream message. + + + A + + + if the NMS provider fails to write to the message due to some internal error. + + + if the message is in read-only mode. + + + + + Writes a double to the stream message. + + + A + + + if the NMS provider fails to write to the message due to some internal error. + + + if the message is in read-only mode. + + + + + Writes a string to the stream message. + + + A + + + if the NMS provider fails to write to the message due to some internal error. + + + if the message is in read-only mode. + + + + + Writes a boolean to the stream message. + + + A + + + if the NMS provider fails to write to the message due to some internal error. + + + if the message is in read-only mode. + + + + + Puts the message body in read-only mode and repositions the stream to the beginning. + + + Thrown when the Message has an invalid format. + + + Thrown when there is an unhandled exception thrown from the provider. + + + + + A lifecycle for NMS objects to indicate they can be started + + + + + A delegate that can receive messages async. + + + + + A delegate that a client can register that will be called each time a consumer dispatches a message + to the client code to allow the client to Transform a received message from one type to another, + StreamMessage to TextMessage, ObjectMessage to TextMessage containing XML, etc. This allows a + client to create a consumer that will automatically transform a message to a type that the client is + capable of processing or adding additional information to a received message. For messages that do + not need to be processed the client should return null from this method, in this case the original + message will be dispatched to the client. + + + + + A consumer of messages + + + + + Waits until a message is available and returns it + + + + + If a message is available within the timeout duration it is returned otherwise this method returns null + + + + + Receives the next message if one is immediately available for delivery on the client side + otherwise this method returns null. It is never an error for this method to return null, the + time of Message availability varies so your client cannot rely on this method to receive a + message immediately after one has been sent. + + + + + Closes the message consumer. + + + Clients should close message consumers them when they are not needed. + This call blocks until a receive or message listener in progress has completed. + A blocked message consumer receive call returns null when this message consumer is closed. + + + + + An asynchronous listener which can be used to consume messages asynchronously + + + + + A Delegate that is called each time a Message is dispatched to allow the client to do + any necessary transformations on the received message before it is delivered. + + + + + A Factory of IConnection objects + + + + + Creates a new connection + + + + + Creates a new connection with the given user name and password + + + + + Get/or set the broker Uri. + + + + + Get/or set the redelivery policy that new IConnection objects are + assigned upon creation. + + + + + A Delegate that is called each time a Message is dispatched to allow the client to do + any necessary transformations on the received message before it is delivered. The + ConnectionFactory sets the provided delegate instance on each Connection instance that + is created from this factory, each connection in turn passes the delegate along to each + Session it creates which then passes that along to the Consumers it creates. + + + + + A delegate that is called each time a Message is sent from this Producer which allows + the application to perform any needed transformations on the Message before it is sent. + The ConnectionFactory sets the provided delegate instance on each Connection instance that + is created from this factory, each connection in turn passes the delegate along to each + Session it creates which then passes that along to the Producers it creates. + + + + + The start of the Windows epoch + + + + + The start of the Java epoch + + + + + The difference between the Windows epoch and the Java epoch + in milliseconds. + + + + + Represents a connection failure. + + + + + Represents an NMS exception + + + + + Initializes a new instance of the NMSException class with serialized data. + Throws System.ArgumentNullException if the info parameter is null. + Throws System.Runtime.Serialization.SerializationException if the class name is null or System.Exception.HResult is zero (0). + + The SerializationInfo that holds the serialized object data about the exception being thrown. + The StreamingContext that contains contextual information about the source or destination. + + + + When overridden in a derived class, sets the SerializationInfo with information about the exception. + + The SerializationInfo that holds the serialized object data about the exception being thrown. + The StreamingContext that contains contextual information about the source or destination. + + + + Returns the error code for the exception, if one has been provided. + + + + + Initializes a new instance of the NMSConnectionException class with serialized data. + Throws System.ArgumentNullException if the info parameter is null. + Throws System.Runtime.Serialization.SerializationException if the class name is null or System.Exception.HResult is zero (0). + + The SerializationInfo that holds the serialized object data about the exception being thrown. + The StreamingContext that contains contextual information about the source or destination. + + + + A lifecycle for NMS objects to indicate they can be stopped + + + + + The time in milliseconds to delay a redelivery + + The redelivered counter. + + + + + Gets or sets the collision avoidance percent. This causes the redelivery delay + to be adjusted in order to avoid possible collision when messages are redelivered + to concurrent consumers. + + The collision avoidance factor. + + + + Gets or sets a value indicating whether to [use collision avoidance]. + + + true if [use collision avoidance]; otherwise, false. + + + + + The time in milliseconds to initially delay a redelivery + + The initial redelivery delay. + + + + Gets or sets the maximum redeliveries. A value less than zero indicates + that there is no maximum and the NMS provider should retry forever. + + The maximum redeliveries. + + + + Gets or sets a value indicating whether [use exponential back off]. + + + true if [use exponential back off]; otherwise, false. + + + + + Gets or sets the back off multiplier. + + The back off multiplier. + + + + Represents an Object message which contains a serializable .Net object. + + + + + Represents the type of the destination such as a queue or topic. + + + + + A base interface for destinations such as queues or topics + + + + + Support class that switches from one endian to the other. + + + + + Initializes a new instance of the ResourceAllocationException class with serialized data. + Throws System.ArgumentNullException if the info parameter is null. + Throws System.Runtime.Serialization.SerializationException if the class name is null or System.Exception.HResult is zero (0). + + The SerializationInfo that holds the serialized object data about the exception being thrown. + The StreamingContext that contains contextual information about the source or destination. + + + + Represents a text based message + + + + + The INetTxSession interface extends the capability of Session by adding access to a NMS + provider's support for the Distributed Transactions (optional). The transaction support + leverages the .NET Frameworks System.Transactions API. + + The NMS Provider implements this interface by participating in the current ambient transaction + as defined by the System.Transactions.Transaction.Current static member. Whenever a new + Transaction is entered the NMS provider should enlist in that transaction. When there is no + ambient transaction then the NMS Prodiver should allow the INetTxSession instance to behave + as a session that is in Auto Acknowledge mode. + + Calling the Commit or Rollback methods on a INetTxSession instance should throw an exception + as those operations are controlled by the Transaction Manager. + + The INetTxSession interface is optional. NMS providers are not required to support this + interface. This interface is for use by NMS providers to support transactional environments. + + + + + Represents a single unit of work on an IConnection. + So the ISession can be used to perform transactional receive and sends + + + + + Creates a producer of messages + + + + + Creates a producer of messages on a given destination + + + + + Creates a consumer of messages on a given destination + + + + + Creates a consumer of messages on a given destination with a selector + + + + + Creates a consumer of messages on a given destination with a selector + + + + + Creates a named durable consumer of messages on a given destination with a selector + + + + + Deletes a durable consumer created with CreateDurableConsumer(). + + Name of the durable consumer + + + + Creates a QueueBrowser object to peek at the messages on the specified queue. + + + A + + + A + + + If the Prodiver does not support creation of Queue Browsers. + + + + + Creates a QueueBrowser object to peek at the messages on the specified queue + using a message selector. + + + A + + + A + + + A + + + If the Prodiver does not support creation of Queue Browsers. + + + + + Returns the queue for the given name + + + + + Returns the topic for the given name + + + + + Creates a temporary queue + + + + + Creates a temporary topic + + + + + Delete a destination (Queue, Topic, Temp Queue, Temp Topic). + + + + + Creates a new message with an empty body + + + + + Creates a new text message with an empty body + + + + + Creates a new text message with the given body + + + + + Creates a new Map message which contains primitive key and value pairs + + + + + Creates a new Object message containing the given .NET object as the body + + + + + Creates a new binary message + + + + + Creates a new binary message with the given body + + + + + Creates a new stream message + + + + + Closes the session. There is no need to close the producers and consumers + of a closed session. + + + + + If this is a transactional session then commit all message + send and acknowledgements for producers and consumers in this session + + + + + If this is a transactional session then rollback all message + send and acknowledgements for producers and consumers in this session + + + + + A Delegate that is called each time a Message is dispatched to allow the client to do + any necessary transformations on the received message before it is delivered. + The Session instance sets the delegate on each Consumer it creates. + + + + + A delegate that is called each time a Message is sent from this Producer which allows + the application to perform any needed transformations on the Message before it is sent. + The Session instance sets the delegate on each Producer it creates. + + + + + Initializes a new instance of the IllegalStateException class with serialized data. + Throws System.ArgumentNullException if the info parameter is null. + Throws System.Runtime.Serialization.SerializationException if the class name is null or System.Exception.HResult is zero (0). + + The SerializationInfo that holds the serialized object data about the exception being thrown. + The StreamingContext that contains contextual information about the source or destination. + + + + A policy used to customize exactly how you want the redelivery to work. + + + + + Clone this object and return a new instance that the caller now owns. + + + + + Gets the random number generator. + + The random number generator. + + + + Gets the next boolean + + true if [next bool]; otherwise, false. + + + + Initializes a new instance of the InvalidSelectorException class with serialized data. + Throws System.ArgumentNullException if the info parameter is null. + Throws System.Runtime.Serialization.SerializationException if the class name is null or System.Exception.HResult is zero (0). + + The SerializationInfo that holds the serialized object data about the exception being thrown. + The StreamingContext that contains contextual information about the source or destination. + + + + Represents a topic in a message broker. A message sent to a topic + is delivered to all consumers on the topic who are interested in the message. + + + + + Represents a Map message which contains key and value pairs which are + of primitive types + + + + + Initializes a new instance of the MessageNotWriteableException class with serialized data. + Throws System.ArgumentNullException if the info parameter is null. + Throws System.Runtime.Serialization.SerializationException if the class name is null or System.Exception.HResult is zero (0). + + The SerializationInfo that holds the serialized object data about the exception being thrown. + The StreamingContext that contains contextual information about the source or destination. + + + + Represents a temporary topic which exists for the duration + of the IConnection which created it. + + + + + Deletes this Temporary Destination, If there are existing receivers + still using it, a NMSException will be thrown. + + + If NMS Provider fails to Delete the Temp Destination or the client does + not support this operation. + + + + + An attempt is made to access an invalid destination + + + + + Initializes a new instance of the InvalidDestinationException class with serialized data. + Throws System.ArgumentNullException if the info parameter is null. + Throws System.Runtime.Serialization.SerializationException if the class name is null or System.Exception.HResult is zero (0). + + The SerializationInfo that holds the serialized object data about the exception being thrown. + The StreamingContext that contains contextual information about the source or destination. + + + + + A BytesMessage object is used to send a message containing a stream of uninterpreted + bytes. It inherits from the Message interface and adds a bytes message body. The + receiver of the message supplies the interpretation of the bytes. + + This message type is for client encoding of existing message formats. If possible, + one of the other self-defining message types should be used instead. + + Although the NMS API allows the use of message properties with byte messages, they + are typically not used, since the inclusion of properties may affect the format. + + When the message is first created, and when ClearBody is called, the body of the + message is in write-only mode. After the first call to Reset has been made, the + message body is in read-only mode. After a message has been sent, the client that + sent it can retain and modify it without affecting the message that has been sent. + The same message object can be sent multiple times. When a message has been received, + the provider has called Reset so that the message body is in read-only mode for the + client. + + If ClearBody is called on a message in read-only mode, the message body is cleared and + the message is in write-only mode. + + If a client attempts to read a message in write-only mode, a MessageNotReadableException + is thrown. + + If a client attempts to write a message in read-only mode, a MessageNotWriteableException + is thrown. + + + + + Reads a byte from the Message Stream. + + + A + + + Thrown when the Message is in write-only mode. + + + Thrown when an unexpected end of bytes has been reached. + + + Thrown when there is an unhandled exception thrown from the provider. + + + + + Writes a byte to the Message stream. + + + A + + + Thrown when the Message is in read-only mode. + + + Thrown when there is an unhandled exception thrown from the provider. + + + + + Reads a boolean from the Message Stream. + + + A + + + Thrown when the Message is in write-only mode. + + + Thrown when an unexpected end of bytes has been reached. + + + Thrown when there is an unhandled exception thrown from the provider. + + + + + Write a one byte value to the message stream representing the boolean + value passed. + + + A + + + Thrown when the Message is in read-only mode. + + + Thrown when there is an unhandled exception thrown from the provider. + + + + + Reads a char from the Message Stream. + + + A + + + Thrown when the Message is in write-only mode. + + + Thrown when an unexpected end of bytes has been reached. + + + Thrown when there is an unhandled exception thrown from the provider. + + + + + Write a two byte value to the message stream representing the character + value passed. High byte first. + + + A + + + Thrown when the Message is in read-only mode. + + + Thrown when there is an unhandled exception thrown from the provider. + + + + + Reads a Short from the Message Stream. + + + A + + + Thrown when the Message is in write-only mode. + + + Thrown when an unexpected end of bytes has been reached. + + + Thrown when there is an unhandled exception thrown from the provider. + + + + + Write a two byte value to the message stream representing the short + value passed. High byte first. + + + A + + + Thrown when the Message is in read-only mode. + + + Thrown when there is an unhandled exception thrown from the provider. + + + + + Reads an int from the Message Stream. + + + A + + + Thrown when the Message is in write-only mode. + + + Thrown when an unexpected end of bytes has been reached. + + + Thrown when there is an unhandled exception thrown from the provider. + + + + + Write a four byte value to the message stream representing the integer + value passed. High byte first. + + + A + + + Thrown when the Message is in read-only mode. + + + Thrown when there is an unhandled exception thrown from the provider. + + + + + Reads a long from the Message Stream. + + + A + + + Thrown when the Message is in write-only mode. + + + Thrown when an unexpected end of bytes has been reached. + + + Thrown when there is an unhandled exception thrown from the provider. + + + + + Write a eight byte value to the message stream representing the long + value passed. High byte first. + + + A + + + Thrown when the Message is in read-only mode. + + + Thrown when there is an unhandled exception thrown from the provider. + + + + + Reads a float from the Message Stream. + + + A + + + Thrown when the Message is in write-only mode. + + + Thrown when an unexpected end of bytes has been reached. + + + Thrown when there is an unhandled exception thrown from the provider. + + + + + Write a four byte value to the message stream representing the float + value passed. High byte first. + + + A + + + Thrown when the Message is in read-only mode. + + + Thrown when there is an unhandled exception thrown from the provider. + + + + + Reads an double from the Message Stream. + + + A + + + Thrown when the Message is in write-only mode. + + + Thrown when an unexpected end of bytes has been reached. + + + Thrown when there is an unhandled exception thrown from the provider. + + + + + Write a eight byte value to the message stream representing the double + value passed. High byte first. + + + A + + + Thrown when the Message is in read-only mode. + + + Thrown when there is an unhandled exception thrown from the provider. + + + + + Reads a byte array from the bytes message stream. + + If the length of array value is less than the number of bytes remaining to + be read from the stream, the array should be filled. A subsequent call reads + the next increment, and so on. + + If the number of bytes remaining in the stream is less than the length of array + value, the bytes should be read into the array. The return value of the total number + of bytes read will be less than the length of the array, indicating that there are + no more bytes left to be read from the stream. The next read of the stream returns -1. + + + The byte array that will be used as a buffer to read into. + + + A + The number of bytes read into the passed byte array, or -1 if there are no more + bytes left to be read from the stream. + + + Thrown when there is an unhandled exception thrown from the provider. + + + Thrown when the Message is in write-only mode. + + + + + Reads a portion of the bytes message stream. + + If the length of array value is less than the number of bytes remaining to be + read from the stream, the array should be filled. A subsequent call reads the + next increment, and so on. + + If the number of bytes remaining in the stream is less than the length of array + value, the bytes should be read into the array. The return value of the total + number of bytes read will be less than the length of the array, indicating that + there are no more bytes left to be read from the stream. The next read of the + stream returns -1. + + If length is negative, or length is greater than the length of the array value, + then an Exception is thrown. No bytes will be read from the stream for this + exception case. + + + The byte array that will be used as a buffer to read into. + + + The amount of bytes to read into the buffer. + + + A + The number of bytes read into the passed byte array, or -1 if there are no more + bytes left to be read from the stream. + + + Thrown when the Message is in write-only mode. + + + Thrown when there is an unhandled exception thrown from the provider. + + + + + Writes a byte array to the bytes message stream. + + + A + + + Thrown when the Message is in read-only mode. + + + Thrown when there is an unhandled exception thrown from the provider. + + + + + Writes a portion of a byte array to the bytes message stream. + + + A + + + A + + + A + + + Thrown when the Message is in read-only mode. + + + Thrown when there is an unhandled exception thrown from the provider. + + + + + Reads a string that has been encoded using a modified UTF-8 format from the bytes + message stream. + + + A + + + Thrown when the Message is in write-only mode. + + + Thrown when an unexpected end of bytes has been reached. + + + Thrown when there is an unhandled exception thrown from the provider. + + + + + Writes a string to the bytes message stream using UTF-8 encoding in a + machine-independent manner. + + + A + + + Thrown when the Message is in read-only mode. + + + Thrown when there is an unhandled exception thrown from the provider. + + + + + Writes an object to the bytes message stream. + + This method works only for the objectified primitive object types + (Int32, Double, Boolean ...), String objects, and byte arrays. + + + A + the object in the .NET programming language to be written; it must not be null + + + Thrown when the Message has an invalid format. + + + Thrown when the Message is in read-only mode. + + + Thrown when there is an unhandled exception thrown from the provider. + + + + + Puts the message body in read-only mode and repositions the stream of bytes to the beginning. + + + Thrown when the Message has an invalid format. + + + Thrown when there is an unhandled exception thrown from the provider. + + + + + Gets the number of bytes of the message body when the message is in read-only mode. + The value returned can be used to allocate a byte array. The value returned is the + entire length of the message body, regardless of where the pointer for reading the + message is currently located. + + + Thrown when the Message is in write-only mode. + + + Thrown when there is an unhandled exception thrown from the provider. + + + + + Utility class used to set NMS properties via introspection for IMessage derived + instances. This class allows IMessage classes to define Message specific properties + that can be accessed using the standard property get / set semantics. + + This is especially useful for NMSX type properties which can vary by provider and + are obtianed via a call to IConnectionMetaData.NMSXPropertyNames. The client can + set the properties on an IMessage instance without a direct cast to the providers + specific Message types. + + Properties accessed in this way are treated as NMS Message headers which are never + read-only therefore there is no exception thrown if the message itself is in the + read-only property mode. + + + + + This class provides a mechanism to intercept calls to a IPrimitiveMap + instance and perform validation, handle type conversion, or some other + function necessary to use the PrimitiveMap in a Message or other NMS + object. + + Be default this class enforces the standard conversion policy for primitive + types in NMS shown in the table below: + + | | boolean byte short char int long float double String byte[] + |---------------------------------------------------------------------- + |boolean | X X + |byte | X X X X X + |short | X X X X + |char | X X + |int | X X X + |long | X X + |float | X X X + |double | X X + |String | X X X X X X X X + |byte[] | X + |---------------------------------------------------------------------- + + + + + + Represents a Map of primitive types where the keys are all string instances + and the values are strings or numbers. + + + + + Initializes a new instance of the MessageFormatException class with serialized data. + Throws System.ArgumentNullException if the info parameter is null. + Throws System.Runtime.Serialization.SerializationException if the class name is null or System.Exception.HResult is zero (0). + + The SerializationInfo that holds the serialized object data about the exception being thrown. + The StreamingContext that contains contextual information about the source or destination. + + + + Initializes a new instance of the InvalidClientIDException class with serialized data. + Throws System.ArgumentNullException if the info parameter is null. + Throws System.Runtime.Serialization.SerializationException if the class name is null or System.Exception.HResult is zero (0). + + The SerializationInfo that holds the serialized object data about the exception being thrown. + The StreamingContext that contains contextual information about the source or destination. + + + + Initializes a new instance of the MessageEOFException class with serialized data. + Throws System.ArgumentNullException if the info parameter is null. + Throws System.Runtime.Serialization.SerializationException if the class name is null or System.Exception.HResult is zero (0). + + The SerializationInfo that holds the serialized object data about the exception being thrown. + The StreamingContext that contains contextual information about the source or destination. + + + + A client uses a QueueBrowser object to look at messages on a queue without removing them. + + The Enumeration method returns a java.util.Enumeration that is used to scan the queue's + messages. It may be an enumeration of the entire content of a queue, or it may contain + only the messages matching a message selector. + + Messages may be arriving and expiring while the scan is done. The NMS API does not + require the content of an enumeration to be a static snapshot of queue content. Whether + these changes are visible or not depends on the NMS provider. + + + + + Closes the QueueBrowser. + + + If NMS Provider fails to close the Browser for some reason. + + + + + Gets this queue browser's message selector expression. If no Message + selector was specified than this method returns null. + + + If NMS Provider fails to get the Message Selector for some reason. + + + + + Gets the queue associated with this queue browser. + + + If NMS Provider fails to retrieve the IQueue associated with the Browser + doe to some internal error. + + + + + A default implementation of IPrimitiveMap + + + + + Method ToString + + A string + + + + Unmarshalls the map from the given data or if the data is null just + return an empty map + + + + + Unmarshals a PrimitiveMap directly from a Stream object. This + allows for clients to read PrimitiveMaps from Compressed or other + wise encoded streams without this class needing to know about it. + + + A + + + A + + + + + Marshals a PrimitiveMap directly to a Stream object. This + allows a client to write a PrimitiveMap in a compressed or + otherwise encoded form without this class needing to know + about it. + + + A + + + + + Marshals the primitive type map to a byte array + + + + + Unmarshals the primitive type map from the given byte array + + + + + Represents a security failure. + + + + + Initializes a new instance of the NMSSecurityException class with serialized data. + Throws System.ArgumentNullException if the info parameter is null. + Throws System.Runtime.Serialization.SerializationException if the class name is null or System.Exception.HResult is zero (0). + + The SerializationInfo that holds the serialized object data about the exception being thrown. + The StreamingContext that contains contextual information about the source or destination. + + + + Initializes a new instance of the MessageNotReadableException class with serialized data. + Throws System.ArgumentNullException if the info parameter is null. + Throws System.Runtime.Serialization.SerializationException if the class name is null or System.Exception.HResult is zero (0). + + The SerializationInfo that holds the serialized object data about the exception being thrown. + The StreamingContext that contains contextual information about the source or destination. + + + + The INetTxConnection extends the functionality of the IConnection interface by + adding the createNetTxSession method (optional). + + The INetTxConnection interface is optional. NMS providers are not required to support this + interface. This interface is for use by NMS providers to support transactional environments. + + + + + Represents a connection with a message broker + + + + + Creates a new session to work on this connection + + + + + Creates a new session to work on this connection + + + + + Closes the connection. + + + + + An asynchronous listener which can be notified if an error occurs + + + + + An asynchronous listener that is notified when a Fault tolerant connection + has been interrupted. + + + + + An asynchronous listener that is notified when a Fault tolerant connection + has been resumed. + + + + + A Delegate that is called each time a Message is dispatched to allow the client to do + any necessary transformations on the received message before it is delivered. The + Connection sets the provided delegate instance on each Session it creates which then + passes that along to the Consumers it creates. + + + + + A delegate that is called each time a Message is sent from this Producer which allows + the application to perform any needed transformations on the Message before it is sent. + The Connection sets the provided delegate instance on each Session it creates which then + passes that along to the Producer it creates. + + + + + The default timeout for network requests. + + + + + The default acknowledgement mode + + + + + Sets the unique clienet ID for this connection before Start() or returns the + unique client ID after the connection has started + + + + + Get/or set the redelivery policy for this connection. + + + + + Gets the Meta Data for the NMS Connection instance. + + + + + Creates a INetTxSession object. + + + + + A delegate that a client can register that will be called each time a Producer's send method is + called to allow the client to Transform a sent message from one type to another, StreamMessage to + TextMessage, ObjectMessage to TextMessage containing XML, etc. This allows a client to create a + producer that will automatically transform a message to a type that some receiving client is + capable of processing or adding additional information to a sent message such as additional message + headers, etc. For messages that do not need to be processed the client should return null from + this method, in this case the original message will be sent. + + + + + An object capable of sending messages to some destination + + + + + Sends the message to the default destination for this producer + + + + + Sends the message to the default destination with the explicit QoS configuration + + + + + Sends the message to the given destination + + + + + Sends the message to the given destination with the explicit QoS configuration + + + + + Close the producer. + + + + + Creates a new message with an empty body + + + + + Creates a new text message with an empty body + + + + + Creates a new text message with the given body + + + + + Creates a new Map message which contains primitive key and value pairs + + + + + Creates a new Object message containing the given .NET object as the body + + + + + Creates a new binary message + + + + + Creates a new binary message with the given body + + + + + Creates a new stream message + + + + + A delegate that is called each time a Message is sent from this Producer which allows + the application to perform any needed transformations on the Message before it is sent. + + + + + The mode used to acknowledge messages after they are consumed + + + + + With this acknowledgment mode, the session will not + acknowledge receipt of a message since the broker assumes + successful receipt of a message after the onMessage handler + has returned without error. + + + + + With this acknowledgment mode, the session automatically + acknowledges a client's receipt of a message either when + the session has successfully returned from a call to receive + or when the message listener the session has called to + process the message successfully returns. Acknowlegements + may be delayed in this mode to increase performance at + the cost of the message being redelivered this client fails. + + + + + With this acknowledgment mode, the client acknowledges a + consumed message by calling the message's acknowledge method. + This acknowledgement acknowledges the given message and all + unacknowedged messages that have preceeded it for the session + in which the message was delivered. + + + + + Messages will be consumed when the transaction commits. + + + + + With this acknowledgment mode, the client acknowledges a + consumed message by calling the message's acknowledge method. + This acknowledgement mode allows the client to acknowledge a + single message. This mode is not required to be supported by + all NMS providers, however the provider should throw an appropriate + exception to indicate that the mode is unsupported. + + + + + A delegate that can receive transport level exceptions. + + + + + A delegate that is used by Fault tolerant NMS Implementation to notify their + clients that the Connection is not currently active to due some error. + + + + + A delegate that is used by Fault tolerant NMS Implementation to notify their + clients that the Connection that was interrupted has now been restored. + + + + + Class to provide support for working with Xml objects. + + + + + From xml spec valid chars: + #x9 | #xA | #xD | [#x20-#xD7FF] | [#xE000-#xFFFD] | [#x10000-#x10FFFF] + any Unicode character, excluding the surrogate blocks, FFFE, and FFFF. + + + + + Static class constructor. + + + + + Serialize the object to XML format. The XML encoding will be UTF-8. A Byte Order Mark (BOM) + will NOT be placed at the beginning of the string. + + + + + + + This removes characters that are invalid for xml encoding + + Text to be encoded. + Text with invalid xml characters removed. + + + + Convert the acknowledgment mode string into AcknowledgementMode enum. + + + Equivalent enum value. If unknown string is encounted, it will default to AutoAcknowledge. + + + + Convert an object into a text message. The object must be serializable to XML. + + + + + Convert an object into a text message. The object must be serializable to XML. + + + + + Convert a text message into an object. The object must be serializable from XML. + + + + + Serialize the object as XML into the Text body of the message. + Set the NMSType to the full name of the object type. + + + + + + + + Deserialize the object from the text message. The object must be serializable from XML. + + + + + + + Get the runtime type for the class name. This routine will search all loaded + assemblies in the current App Domain to find the type. + + Full name of the type. + Type object if found, or null if not found. + + + + Represents a queue in a message broker. A message sent to a queue is delivered + to at most one consumer on the queue. + + + + + Class to provide support for Uri query parameters which uses .Net reflection + to identify and set properties. + + + + + Given a string that could be a Composite Uri that uses syntax not compatible + with the .NET Uri class such as an ActiveMQ failover Uri formatted as + "failover://(tcp://localhost:61616)", the initial '://' must be changed + to ':(' so that the Uri class doesn't attempt to parse the '(tcp:' as + the Uri's Authority as that is not a valid host name. + + + A string that could be a Composite Uri that uses syntax not compatible + with the .NET Uri class + + + + + Parse a Uri query string of the form ?x=y&z=0 + into a map of name/value pairs. + + The query string to parse. This string should not contain + Uri escape characters. + + + + Sets the public properties of a target object using a string map. + This method uses .Net reflection to identify public properties of + the target object matching the keys from the passed map. + + The object whose properties will be set. + Map of key/value pairs. + + + + Sets the public properties of a target object using a string map. + This method uses .Net reflection to identify public properties of + the target object matching the keys from the passed map. + + The object whose properties will be set. + Map of key/value pairs. + Key value prefix. This is prepended to the property name + before searching for a matching key value. + + + + + + + + + + + + + + + + Represents a temporary queue which exists for the duration + of the IConnection which created it. + + + + + Deletes this Temporary Destination, If there are existing receivers + still using it, a NMSException will be thrown. + + + If NMS Provider fails to Delete the Temp Destination or the client does + not support this operation. + + + + + Initializes a new instance of the TransactionRolledBackException class with serialized data. + Throws System.ArgumentNullException if the info parameter is null. + Throws System.Runtime.Serialization.SerializationException if the class name is null or System.Exception.HResult is zero (0). + + The SerializationInfo that holds the serialized object data about the exception being thrown. + The StreamingContext that contains contextual information about the source or destination. + + + + Initializes a new instance of the TransactionInProgressException class with serialized data. + Throws System.ArgumentNullException if the info parameter is null. + Throws System.Runtime.Serialization.SerializationException if the class name is null or System.Exception.HResult is zero (0). + + The SerializationInfo that holds the serialized object data about the exception being thrown. + The StreamingContext that contains contextual information about the source or destination. + + + + Provider implementation mapping class. + + + + + Implementation of a factory for instances. + + + + + Static class constructor + + + + + The ConnectionFactory object must define a constructor that takes as a minimum a Uri object. + Any additional parameters are optional, but will typically include a Client ID string. + + The URI for the ActiveMQ provider. + Optional parameters to use when creating the ConnectionFactory. + + + + The ConnectionFactory object must define a constructor that takes as a minimum a Uri object. + Any additional parameters are optional, but will typically include a Client ID string. + + The URI for the ActiveMQ provider. + Optional parameters to use when creating the ConnectionFactory. + + + + Create a connection factory that can create connections for the given scheme in the URI. + + The URI for the ActiveMQ provider. + Optional parameters to use when creating the ConnectionFactory. + A implementation that will be used. + + + + Finds the associated with the given scheme. + + The scheme (e.g. tcp, activemq or stomp). + The of the ConnectionFactory that will be used + to create the connection for the specified . + + + + Lookup the connection factory assembly filename and class name. + Read an external configuration file that maps scheme to provider implementation. + Load XML config files named: nmsprovider-{scheme}.config + Following is a sample configuration file named nmsprovider-jms.config. Replace + the parenthesis with angle brackets for proper XML formatting. + + (?xml version="1.0" encoding="utf-8" ?) + (configuration) + (provider assembly="MyCompany.NMS.JMSProvider.dll" classFactory="MyCompany.NMS.JMSProvider.ConnectionFactory"/) + (/configuration) + + This configuration file would be loaded and parsed when a connection uri with a scheme of 'jms' + is used for the provider. In this example the connection string might look like: + jms://localhost:7222 + + + Folder paths to look in. + The scheme. + Name of the assembly file. + Name of the factory class. + true if the configuration file for the specified could + be found; otherwise, false. + + + + Get an array of search paths to look for config files. + + + A collection of search paths, including the current directory, the current AppDomain's + BaseDirectory and the current AppDomain's RelativeSearchPath. + + + + + Converts a params object[] collection into a plain object[]s, to pass to the constructor. + + The first parameter in the collection. + The remaining parameters. + An array of instances. + + + + Creates a new connection. + + An created by the requested ConnectionFactory. + + + + Creates a new connection with the given and credentials. + + The username to use when establishing the connection. + The password to use when establishing the connection. + An created by the requested ConnectionFactory. + + + + Get/or set the broker Uri. + + + + + The actual IConnectionFactory implementation that is being used. This implementation + depends on the scheme of the URI used when constructed. + + + + + Get/or Set the IRedeliveryPolicy instance using the IConnectionFactory implementation + that is being used. + + + + + Get/or Set the ConsumerTransformerDelegate using the IConnectionFactory implementation + that is currently being used. + + + + + Get/or Set the ProducerTransformerDelegate using the IConnectionFactory implementation + that is currently being used. + + + + + The ITrace interface is used internally by ActiveMQ to log messages. + The client aplication may provide an implementation of ITrace if it wishes to + route messages to a specific destination. + + + + Use the class to register an instance of ITrace as the + active trace destination. + + + + + + Provides information describing the NMS IConnection instance. + + + + + Get the Major version number of the NMS API this Provider supports. + + + + + Get the Minor version number of the NMS API this Provider supports. + + + + + Get the name of this NMS Provider. + + + + + Gets a formatted string detailing the NMS API version this Provider supports. + + + + + Gets a String array of all the NMSX property names this NMS Provider supports. + + + + + Gets the Providers Major version number. + + + + + Gets the Providers Minor version number. + + + + + Gets a formatted string detailing the version of this NMS Provider. + + + + + Class to provide support for working with Session objects. + + + + + Get the destination by parsing the embedded type prefix. Default is Queue if no prefix is + embedded in the destinationName. + + Session object to use to get the destination. + Name of destination with embedded prefix. The embedded prefix can be one of the following: + + queue:// + topic:// + temp-queue:// + temp-topic:// + + + + + + + Get the destination by parsing the embedded type prefix. + + Session object to use to get the destination. + Name of destination with embedded prefix. The embedded prefix can be one of the following: + + queue:// + topic:// + temp-queue:// + temp-topic:// + + + Default type if no embedded prefix is specified. + + + + + Delete the named destination by parsing the embedded type prefix. Default is Queue if no prefix is + embedded in the destinationName. + + Session object to use to get the destination. + Name of destination with embedded prefix. The embedded prefix can be one of the following: + + queue:// + topic:// + temp-queue:// + temp-topic:// + + + + + + + Delete the named destination by parsing the embedded type prefix. + + Session object to use to get the destination. + Name of destination with embedded prefix. The embedded prefix can be one of the following: + + queue:// + topic:// + temp-queue:// + temp-topic:// + + + Default type if no embedded prefix is specified. + + + + + Base Utility class for conversion between IMessage type objects for different + NMS providers. + + + + + Copies the standard NMS and user defined properties from the givem + message to the specified message, the class version transforms the + Destination instead of just doing a straight copy. + + + + + Copies the standard NMS and user defined properties from the givem + message to the specified message, this method makes no attempt to convert + the values in the Message to native provider implementations. + + + + + Define an enumerated array of message priorities. + + + + + Define an enumerated array of message delivery modes. Provider-specific + values can be used to extend this enumerated mode. TIBCO is known to + provide a third value of ReliableDelivery. At minimum, a provider must + support Persistent and NonPersistent. + + + + + Defines a number of constants + + + + + Some application servers provide support for use in a .NET transactions (optional). + + To include NMS API transactions in a MSDTC transaction, an application server requires a + .NET Transaction aware NMS provider that is capable of mapping the MSDTC transaction model + into operations that are supported by the application server. An NMS provider exposes its + .NET Transaction support using an INetTxConnectionFactory object, which an application + server uses to create INetTxConnection objects. + + The INetTxConnectionFactory interface is optional. NMS providers are not required to support this + interface. This interface is for use by NMS providers to support transactional environments. + + + + + Creates a new connection + + + + + Creates a new connection with the given user name and password + + + + diff --git a/lib/Net/3.5/Common.Logging.dll b/lib/Net/3.5/Common.Logging.dll new file mode 100644 index 00000000..5c1feac9 Binary files /dev/null and b/lib/Net/3.5/Common.Logging.dll differ diff --git a/lib/Net/3.5/Ionic.Zlib.dll b/lib/Net/3.5/Ionic.Zlib.dll new file mode 100644 index 00000000..7c29e8cc Binary files /dev/null and b/lib/Net/3.5/Ionic.Zlib.dll differ diff --git a/lib/Net/3.5/NUnitAsp.dll b/lib/Net/3.5/NUnitAsp.dll new file mode 100644 index 00000000..9f45eff8 Binary files /dev/null and b/lib/Net/3.5/NUnitAsp.dll differ diff --git a/lib/Net/3.5/NUnitAspEx.dll b/lib/Net/3.5/NUnitAspEx.dll new file mode 100644 index 00000000..030f906e Binary files /dev/null and b/lib/Net/3.5/NUnitAspEx.dll differ diff --git a/lib/Net/3.5/NUnitAspEx.xml b/lib/Net/3.5/NUnitAspEx.xml new file mode 100644 index 00000000..41bacde7 --- /dev/null +++ b/lib/Net/3.5/NUnitAspEx.xml @@ -0,0 +1,139 @@ + + + + NUnitAspEx + + + + + Encapsulates a request from within a testsuite using the "asptest://" pseudo-protocol. + + + + + Encapsulates the ugly details of deriving from HttpWebRequest. + + + Since various frameworks like NUnitAsp rely on the output of WebRequest.Create() being of type HttpWebRequest + but HttpWebRequest is not customizable the easy way, this class shields further derived classes from the ugly reflection details. + + + + + Creates a new instance for the given uri. + + the to create this request for. + + + + + + + + + + + Override this method in your derived class and call to set the response object. + + + + + Create the stream to be used for uploading content. + + + + + + Encapsulates a response from an . + + + + + Encapsulates the ugly details of deriving from HttpWebResponse. + + + + + Summary description for HttpReflectionUtils. + + + + + Summary description for HttpWebClient. + + + + + An AspFixtureHost lives inside it's own AppDomain with an initialized HttpRuntime. + + + + + Summary description for IAspFixtureHost. + + + + + Creates a new Host instance within a new AppDomain based on the passed in Properties. + + + You must not call this method from within an existing Host's AppDomain. + + + + + Unload the passed Host's AppDomain. + + + + + Return null to avoid timing out of remoting references + + + + + + Initializes the newly created host instance. + + + + + Use this property to gain access to the Host from within the Host's AppDomain + + + This property is set only within the Host's AppDomain. + Outside the AppDomain it will always return null. + + + + + Use to synchronize access to this host instance + + + + + Returns a reference to the AppDomain, that created this Host instance + + + + + Returns the physical assembly reference location this AppDomain has been created from. + + + + + Summary description for AspTestClient. + + + + + Summary description for AspTestContext. + + + + + Summary description for AspTestExecutionModule. + + + + diff --git a/lib/Net/3.5/NVelocity.dll b/lib/Net/3.5/NVelocity.dll new file mode 100644 index 00000000..9b44dfeb Binary files /dev/null and b/lib/Net/3.5/NVelocity.dll differ diff --git a/lib/Net/3.5/Rhino.Mocks.dll b/lib/Net/3.5/Rhino.Mocks.dll new file mode 100644 index 00000000..3fc4b2ae Binary files /dev/null and b/lib/Net/3.5/Rhino.Mocks.dll differ diff --git a/lib/Net/3.5/Rhino.Mocks.xml b/lib/Net/3.5/Rhino.Mocks.xml new file mode 100644 index 00000000..b1f76384 --- /dev/null +++ b/lib/Net/3.5/Rhino.Mocks.xml @@ -0,0 +1,5624 @@ + + + + Rhino.Mocks + + + + + Defines constraints and return values for arguments of a mock. + Only use Arg inside a method call on a mock that is recording. + Example: + ExpectCall( + mock.foo( + Arg<int>.Is.GreaterThan(2), + Arg<string>.Is.Anything + )); + Use Arg.Text for string specific constraints + Use Arg<ListClass>.List for list specific constraints + + + + + + Register the predicate as a constraint for the current call. + + The predicate. + default(T) + + Allow you to use code to create constraints + + demo.AssertWasCalled(x => x.Bar(Arg{string}.Matches(a => a.StartsWith("b") && a.Contains("ba")))); + + + + + + Define a complex constraint for this argument by passing several constraints + combined with operators. (Use Is in simple cases.) + Example: Arg<string>.Matches(Is.Equal("Hello") || Text.EndsWith("u")); + + Constraints using Is, Text and List + Dummy to satisfy the compiler + + + + Define a Ref argument. + + Constraints for this argument + value returned by the mock + + + + + Define a out parameter. Use it together with the keyword out and use the + Dummy field available by the return value. + Example: mock.foo( out Arg<string>.Out("hello").Dummy ); + + + + + + + Define a simple constraint for this argument. (Use Matches in simple cases.) + Example: + Arg<int>.Is.Anthing + Arg<string>.Is.Equal("hello") + + + + + Define Constraints on list arguments. + + + + + Use the Arg class (without generic) to define Text constraints + + + + + Evaluate an equal constraint for . + + The object the parameter should equal to + + + + Define constraints on text arguments. + + + + + Used to manage the static state of the Arg<T> class"/> + + + + + Resets the static state + + + + + Returns return values for the out and ref parameters + Note: the array returned has the size of the number of out and ref + argument definitions + + + + + + Returns the constraints for all arguments. + Out arguments have an Is.Anything constraint and are also in the list. + + + + + + What should BackToRecord clear + + + + + Retain all expectations and behaviors and return to mock + + + + + All expectations + + + + + Event subscribers for this instance + + + + + Methods that should be forwarded to the base class implementation + + + + + Properties that should behave like properties + + + + + Remove all the behavior of the object + + + + + Interface for constraints + + + + + Determines if the object pass the constraints + + + + + And operator for constraints + + + + + Not operator for constraints + + + + + Or operator for constraints + + + + + Allow overriding of || or && + + + + + + + Allow overriding of || or && + + + + + + + Gets the message for this constraint + + + + + + Constrain that the public field has a specified value + + + + + Constrain that the public field matches another constraint. + + + + + Creates a new instance. + + Name of the public field. + Constraint to place on the public field value. + + + + Creates a new instance, specifying a disambiguating + for the public field. + + The type that declares the public field, used to disambiguate between public fields. + Name of the public field. + Constraint to place on the public field value. + + + + Determines if the object passes the constraint. + + + + + Gets the message for this constraint + + + + + + Creates a new instance. + + Name of the public field. + Expected value. + + + + Creates a new instance, specifying a disambiguating + for the public field. + + The type that declares the public field, used to disambiguate between public fields. + Name of the public field. + Expected value. + + + + Constrain that the property has a specified value + + + + + Constrain that the property matches another constraint. + + + + + Creates a new instance. + + Name of the property. + Constraint to place on the property value. + + + + Creates a new instance, specifying a disambiguating + for the property. + + The type that declares the property, used to disambiguate between properties. + Name of the property. + Constraint to place on the property value. + + + + Determines if the object passes the constraint. + + + + + Gets the message for this constraint + + + + + + Creates a new instance. + + Name of the property. + Expected value. + + + + Creates a new instance, specifying a disambiguating + for the property. + + The type that declares the property, used to disambiguate between properties. + Name of the property. + Expected value. + + + + Constrain that the parameter must be of the specified type + + + + + Creates a new instance. + + Type. + + + + Determines if the object pass the constraints + + + + + Gets the message for this constraint + + + + + + Constraint that determines whether an object is the same object as another. + + + + + Creates a new instance. + + Obj. + + + + Determines if the object passes the constraints. + + + + + Gets the message for this constraint. + + + + + Evaluate a parameter using constraints + + + + + Create new instance + + + + + + Determines if the object pass the constraints + + + + + Gets the message for this constraint + + + + + + A constraint based on lambda expression, we are using Expression{T} + because we want to be able to get good error reporting on that. + + + + + Initializes a new instance of the class. + + The expr. + + + + Determines if the object pass the constraints + + + + + + + Gets the message for this constraint + + + + + + Constrain that the list contains the same items as the parameter list + + + + + Creates a new instance. + + In list. + + + + Determines if the object pass the constraints + + + + + Gets the message for this constraint + + + + + + Constrain that the parameter is one of the items in the list + + + + + Creates a new instance. + + In list. + + + + Determines if the object pass the constraints + + + + + Gets the message for this constraint + + + + + + Constrain that the object is inside the parameter list + + + + + Creates a new instance. + + In list. + + + + Determines if the object pass the constraints + + + + + Gets the message for this constraint + + + + + + Applies another AbstractConstraint to the collection count. + + + + + Creates a new instance. + + The constraint that should be applied to the collection count. + + + + Determines if the parameter conforms to this constraint. + + + + + Gets the message for this constraint. + + + + + Applies another AbstractConstraint to a specific list element. + + + + + Creates a new instance. + + The zero-based index of the list element. + The constraint that should be applied to the list element. + + + + Determines if the parameter conforms to this constraint. + + + + + Gets the message for this constraint + + + + + + Applies another AbstractConstraint to a specific generic keyed list element. + + + + + Creates a new instance. + + The key of the list element. + The constraint that should be applied to the list element. + + + + Determines if the parameter conforms to this constraint. + + + + + Gets the message for this constraint + + + + + + Constrains that all elements are in the parameter list + + + + + Initializes a new instance of the class. + + The these. + + + + Determines if the object pass the constraints + + + + + + + Gets the message for this constraint + + + + + + Combines two constraints, constraint pass if either is fine. + + + + + Creates a new instance. + + C1. + C2. + + + + Determines if the object pass the constraints + + + + + Gets the message for this constraint + + + + + + Negate a constraint + + + + + Creates a new instance. + + C1. + + + + Determines if the object pass the constraints + + + + + Gets the message for this constraint + + + + + + Combines two constraints + + + + + + Creates a new instance. + + C1. + C2. + + + + Determines if the object pass the constraints + + + + + Gets the message for this constraint + + + + + + Constrain the argument to validate according to regex pattern + + + + + Creates a new instance. + + Pattern. + + + + Determines if the object pass the constraints + + + + + Gets the message for this constraint + + + + + + Constraint that evaluate whatever an argument contains the specified string. + + + + + Creates a new instance. + + Inner string. + + + + Determines if the object pass the constraints + + + + + Gets the message for this constraint + + + + + + Constraint that evaluate whatever an argument ends with the specified string + + + + + Creates a new instance. + + End. + + + + Determines if the object pass the constraints + + + + + Gets the message for this constraint + + + + + + Constraint that evaluate whatever an argument start with the specified string + + + + + Creates a new instance. + + Start. + + + + Determines if the object pass the constraints + + + + + Gets the message for this constraint + + + + + + Constraint that evaluate whatever an object equals another + + + + + Creates a new instance. + + Obj. + + + + Determines if the object pass the constraints + + + + + Gets the message for this constraint + + + + + + Constraint that always returns true + + + + + Determines if the object pass the constraints + + + + + Gets the message for this constraint + + + + + + Constraint that evaluate whatever a comparable is greater than another + + + + + Creates a new instance. + + + + + Determines if the object pass the constraints + + + + + Gets the message for this constraint + + + + + + Initializes a new constraint object. + + The expected object, The actual object is passed in as a parameter to the method + + + + Evaluate this constraint. + + The actual object that was passed in the method call to the mock. + True when the constraint is met, else false. + + + + Checks if the properties of the object + are the same as the properies of the object. + + The expected object + The actual object + True when both objects have the same values, else False. + + + + + + + + + This is the real heart of the beast. + + + + Used by CheckReferenceType to check all properties of the reference type. + + The expected object + The actual object + True when both objects have the same values, else False. + + + + Used by CheckReferenceType to check all fields of the reference type. + + The expected object + The actual object + True when both objects have the same values, else False. + + + + Checks the items of both collections + + The expected collection + + True if both collections contain the same items in the same order. + + + + Builds a propertyname from the Stack _properties like 'Order.Product.Price' + to be used in the error message. + + A nested property name. + + + + Rhino.Mocks uses this property to generate an error message. + + + A message telling the tester why the constraint failed. + + + + + Provides access to the constraintes defined in the class to be used in context + with the syntax. + + The type of the argument + + + + Evaluate a greater than constraint for . + + The object the parameter should be greater than + + + + Evaluate a less than constraint for . + + The object the parameter should be less than + + + + Evaluate a less than or equal constraint for . + + The object the parameter should be less than or equal to + + + + Evaluate a greater than or equal constraint for . + + The object the parameter should be greater than or equal to + + + + Evaluate an equal constraint for . + + The object the parameter should equal to + + + + Converts the object type to a better match if this is a primitive type. + + The obj. + + + + + Converts the object type to match. + + + Because of implicit conversions and the way ArgConstraints this method is needed to check + object type and potentially change the object type for a better "match" so that obj1.Equals(obj2) + will return the proper "answer" + + The obj. + + + + + Evaluate a not equal constraint for . + + The object the parameter should not equal to + + + + Evaluate a same as constraint. + + The object the parameter should the same as. + + + + Evaluate a not same as constraint. + + The object the parameter should not be the same as. + + + + Throws NotSupportedException. Don't use Equals to define constraints. Use Equal instead. + + + + + + + Serves as a hash function for a particular type. + + + A hash code for the current . + + + + + A constraints that accept anything + + + + + + A constraint that accept only nulls + + + + + + A constraint that accept only non null values + + + + + + A constraint that accept only value of the specified type. + The check is performed on the type that has been defined + as the argument type. + + + + + Provides access to the constraints defined in the class to be used in context + with the syntax. + + + + + Determines whether the specified object is in the parameter. + The parameter must be IEnumerable. + + Obj. + + + + + Determines whatever the parameter is in the collection. + + + + + Determines that the parameter collection is identical to the specified collection + + + + + Determines that the parameter collection has the specified number of elements. + + The constraint that should be applied to the collection count. + + + + Determines that an element of the parameter collections conforms to another AbstractConstraint. + + The zero-based index of the list element. + The constraint which should be applied to the list element. + + + + Determines that all elements of the specified collection are in the the parameter collection + + The collection to compare against + The constraint which should be applied to the list parameter. + + + + Throws NotSupportedException. Don't use Equals to define constraints. Use Equal instead. + + + + + + + Serves as a hash function for a particular type. + + + A hash code for the current . + + + + + Provides a dummy field to pass as out or ref argument. + + + + + + Dummy field to satisfy the compiler. Used for out and ref arguments. + + + + + Central location for constraints for object's public fields + + + + + Constrains the parameter to have a public field with the specified value + + Name of the public field. + Expected value. + + + + + Constrains the parameter to have a public field with the specified value. + + The type that declares the public field, used to disambiguate between public fields. + Name of the public field. + Expected value. + + + + + Constrains the parameter to have a public field satisfying a specified constraint. + + Name of the public field. + Constraint for the public field. + + + + Constrains the parameter to have a public field satisfying a specified constraint. + + The type that declares the public field, used to disambiguate between public fields. + Name of the public field. + Constraint for the public field. + + + + Determines whether the parameter has the specified public field and that it is null. + + Name of the public field. + + + + + Determines whether the parameter has the specified public field and that it is null. + + The type that declares the public field, used to disambiguate between public fields. + Name of the public field. + + + + + Determines whether the parameter has the specified public field and that it is not null. + + Name of the public field. + + + + + Determines whether the parameter has the specified public field and that it is not null. + + The type that declares the public field, used to disambiguate between public fields. + Name of the public field. + + + + + Central location for constraints + + + + + Evaluate a greater than constraint for . + + The object the parameter should be greater than + + + + Evaluate a less than constraint for . + + The object the parameter should be less than + + + + Evaluate a less than or equal constraint for . + + The object the parameter should be less than or equal to + + + + Evaluate a greater than or equal constraint for . + + The object the parameter should be greater than or equal to + + + + Evaluate an equal constraint for . + + The object the parameter should equal to + + + + Evaluate a not equal constraint for . + + The object the parameter should not equal to + + + + Evaluate a same as constraint. + + The object the parameter should the same as. + + + + Evaluate a not same as constraint. + + The object the parameter should not be the same as. + + + + A constraints that accept anything + + + + + + A constraint that accept only nulls + + + + + + A constraint that accept only non null values + + + + + + A constraint that accept only value of the specified type + + + + + A constraint that accept only value of the specified type + + + + + Evaluate a parameter using a predicate + + The predicate to use + + + + Central location for constraints about lists and collections + + + + + Determines whether the specified obj is in the parameter. + The parameter must be IEnumerable. + + Obj. + + + + + Determines whatever the parameter is in the collection. + + + + + Determines that the parameter collection is identical to the specified collection + + + + + Determines that the parameter collection has the specified number of elements. + + The constraint that should be applied to the collection count. + + + + Determines that an element of the parameter collections conforms to another AbstractConstraint. + + The zero-based index of the list element. + The constraint which should be applied to the list element. + + + + Determines that an element of the parameter collections conforms to another AbstractConstraint. + + The key of the element. + The constraint which should be applied to the element. + + + + Determines that all elements of the specified collection are in the the parameter collection + + The collection to compare against + The constraint which should be applied to the list parameter. + + + + Central location for constraints for object's properties + + + + + Constrains the parameter to have property with the specified value + + Name of the property. + Expected value. + + + + + Constrains the parameter to have property with the specified value. + + The type that declares the property, used to disambiguate between properties. + Name of the property. + Expected value. + + + + + Constrains the parameter to have a property satisfying a specified constraint. + + Name of the property. + Constraint for the property. + + + + Constrains the parameter to have a property satisfying a specified constraint. + + The type that declares the property, used to disambiguate between properties. + Name of the property. + Constraint for the property. + + + + Determines whether the parameter has the specified property and that it is null. + + Name of the property. + + + + + Determines whether the parameter has the specified property and that it is null. + + The type that declares the property, used to disambiguate between properties. + Name of the property. + + + + + Determines whether the parameter has the specified property and that it is not null. + + Name of the property. + + + + + Determines whether the parameter has the specified property and that it is not null. + + The type that declares the property, used to disambiguate between properties. + Name of the property. + + + + + constraints the parameter to have the exact same property values as the expected object. + + An object, of the same type as the parameter, whose properties are set with the expected values. + An instance of the constraint that will do the actual check. + + The parameter's public property values and public field values will be matched against the expected object's + public property values and public field values. The first mismatch will be reported and no further matching is done. + The matching is recursive for any property or field that has properties or fields of it's own. + Collections are supported through IEnumerable, which means the constraint will check if the actual and expected + collection contain the same values in the same order, where the values contained by the collection can have properties + and fields of their own that will be checked as well because of the recursive nature of this constraint. + + + + + Central location for all text related constraints + + + + + Constrain the argument to starts with the specified string + + + + + Constrain the argument to end with the specified string + + + + + Constrain the argument to contain the specified string + + + + + Constrain the argument to validate according to regex pattern + + + + + Provides access to the constraintes defined in the class to be used in context + with the syntax. + + + + + Constrain the argument to starts with the specified string + + + + + + Constrain the argument to end with the specified string + + + + + Constrain the argument to contain the specified string + + + + + Constrain the argument to validate according to regex pattern + + + + + Throws NotSupportedException. Don't use Equals to define constraints. Use Equal instead. + + + + + + + Serves as a hash function for a particular type. + + + A hash code for the current . + + + + + This class defines a lot of method signatures, which we will use + to allow compatability on net-2.0 + + + + + dummy + + + + + dummy + + + + + dummy + + + + + dummy + + + + + dummy + + + + + dummy + + + + + dummy + + + + + dummy + + + + + dummy + + + + + dummy + + + + + dummy + + + + + dummy + + + dummy + + + + + dummy + + + + + dummy + + + + + dummy + + + + + dummy + + + + + dummy + + + + + dummy + + + + + dummy + + + + + dummy + + + + + dummy + + + + + Allows expectations to be set on methods that should never be called. + For methods with void return value, you need to use LastCall or + DoNotExpect.Call() with a delegate. + + + + + Sets LastCall.Repeat.Never() on /any/ proxy on /any/ repository on the current thread. + This method if not safe for multi threading scenarios. + + + + + Accepts a delegate that will execute inside the method which + LastCall.Repeat.Never() will be applied to. + It is expected to be used with anonymous delegates / lambda expressions and only one + method should be called. + + + IService mockSrv = mocks.CreateMock(typeof(IService)) as IService; + DoNotExpect.Call(delegate{ mockSrv.Stop(); }); + ... + + + + + An expectaton violation was detected. + + + + + Creates a new instance. + + Message. + + + + Serialization constructor + + + + + Signals that an object was call on a mock repository which doesn't + belong to this mock repository or not a mock + + + + + Creates a new instance. + + Message. + + + + Serialization constructor + + + + + Allows to set expectation on methods that has return values. + For methods with void return value, you need to use LastCall + + + + + The method options for the last call on /any/ proxy on /any/ repository on the current thread. + This method if not safe for multi threading scenarios, use . + + + + + Accepts a delegate that will execute inside the method, and then return the resulting + instance. + It is expected to be used with anonymous delegates / lambda expressions and only one + method should be called. + + + IService mockSrv = mocks.CreateMock(typeof(IService)) as IService; + Expect.Call(delegate{ mockSrv.Start(); }).Throw(new NetworkException()); + ... + + + + + Get the method options for the last method call on the mockInstance. + + + + + A delegate that can be used to get better syntax on Expect.Call(delegate { foo.DoSomething(); }); + + + + + Abstract class that holds common information for + expectations. + + + + + Interface to validate that a method call is correct. + + + + + Validate the arguments for the method. + This method can be called numerous times, so be careful about side effects + + The arguments with which the method was called + + + + Add an actual method call to this expectation + + + + + Returns the return value or throw the exception and setup any output / ref parameters + that has been set. + + + + + Builds the verification failure message. + + + + + + Gets the error message. + + + + + + Range of expected calls + + + + + Number of call actually made for this method + + + + + If this expectation is still waiting for calls. + + + + + The return value for a method matching this expectation + + + + + Gets or sets the exception to throw on a method matching this expectation. + + + + + Gets a value indicating whether this instance's action is staisfied. + A staisfied instance means that there are no more requirements from + this method. A method with non void return value must register either + a return value or an exception to throw. + + + + + Gets the method this expectation is for. + + + + + Gets or sets what special condtions there are for this method + repeating. + + + + + Gets a value indicating whether this expectation was satisfied + + + + + Specify whatever this expectation has a return value set + You can't check ReturnValue for this because a valid return value include null. + + + + + An action to execute when the method is matched. + + + + + Set the out / ref parameters for the method call. + The indexing is zero based and ignores any non out/ref parameter. + It is possible not to pass all the parameters. This method can be called only once. + + + + + Documentation Message + + + + + Gets the invocation for this expectation + + The invocation. + + + + Occurs when the exceptation is match on a method call + + + + + Allow to set the return value in the future, if it was already set. + + + + + Number of actuall calls made that passed this expectation + + + + + Range of expected calls that should pass this expectation. + + + + + The return value for a method matching this expectation + + + + + The exception to throw on a method matching this expectation. + + + + + The method this expectation is for. + + + + + The return value for this method was set + + + + + Whether this method will repeat + unlimited number of times. + + + + + A delegate that will be run when the + expectation is matched. + + + + + The arguments that matched this expectation. + + + + + Documentation message + + + + + The method originalInvocation + + + + + Get the hash code + + + + + Add an actual actualMethodCall call to this expectation + + + + + Builds the verification failure message. + + + + + + Returns the return value or throw the exception and setup output / ref parameters + + + + + Validate the arguments for the method on the child methods + + The arguments with which the method was called + + + + Creates a new instance. + + The originalInvocation for this method, required because it contains the generic type infromation + Number of method calls for this expectations + + + + Creates a new instance. + + Expectation. + + + + Validate the arguments for the method on the child methods + + The arguments with which the method was called + + + + Determines if this object equal to obj + + + + + The error message for these arguments + + + + + Asserts that the delegate has the same parameters as the expectation's method call + + + + + Setter for the outpur / ref parameters for this expecataion. + Can only be set once. + + + + + Specify whether this expectation has a return value set + You can't check ReturnValue for this because a valid return value include null. + + + + + Gets the method this expectation is for. + + + + + Gets the originalInvocation for this expectation + + The originalInvocation. + + + + Gets or sets what special condtions there are for this method + + + + + Range of expected calls + + + + + Number of call actually made for this method + + + + + If this expectation is still waiting for calls. + + + + + Gets a value indicating whether this expectation was satisfied + + + + + The return value for a method matching this expectation + + + + + An action to execute when the method is matched. + + + + + Gets or sets the exception to throw on a method matching this expectation. + + + + + Gets a value indicating whether this instance's action is staisfied. + A staisfied instance means that there are no more requirements from + this method. A method with non void return value must register either + a return value or an exception to throw or an action to execute. + + + + + Documentation message + + + + + Occurs when the exceptation is match on a method call + + + + + Allow to set the return value in the future, if it was already set. + + + + + Gets the error message. + + + + + + Expectation that matches any arguments for the method. + + + + + Creates a new instance. + + Invocation for this expectation + Number of method calls for this expectations + + + + Creates a new instance. + + Expectation. + + + + Validate the arguments for the method. + + The arguments with which the method was called + + + + Determines if the object equal to expectation + + + + + Get the hash code + + + + + Gets the error message. + + + + + + Summary description for ArgsEqualExpectation. + + + + + Creates a new instance. + + Expected args. + The invocation for this expectation + Number of method calls for this expectations + + + + Validate the arguments for the method. + + The arguments with which the method was called + + + + Determines if the object equal to expectation + + + + + Get the hash code + + + + + Gets the error message. + + + + + + Get the expected args. + + + + + Call a specified callback to verify the expectation + + + + + Creates a new instance. + + Expectation. + Callback. + + + + Creates a new instance. + + Invocation for this expectation + Callback. + Number of method calls for this expectations + + + + Validate the arguments for the method on the child methods + + The arguments with which the method was called + + + + Determines if the object equal to expectation + + + + + Get the hash code + + + + + Gets the error message. + + + + + + Expect the method's arguments to match the contraints + + + + + Creates a new instance. + + Invocation for this expectation + Constraints. + Number of method calls for this expectations + + + + Creates a new instance. + + Expectation. + Constraints. + + + + Validate the arguments for the method. + + The arguments with which the method was called + + + + Determines if the object equal to expectation + + + + + Get the hash code + + + + + Gets the error message. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Summary for AndSpecification + + + + + + + + + + + + + + + + + + + + + + Summary description for FollowsEventNamingStandard + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Summary descritpion for NamedEventExistsOnDeclaringType + + + + + + + + + Doesn't log anything, just makes happy noises + + + + + Log expectations - allows to see what is going on inside Rhino Mocks + + + + + Logs the expectation as is was recorded + + The invocation. + The expectation. + + + + Logs the expectation as it was recorded + + The invocation. + The expectation. + + + + Logs the unexpected method call. + + The invocation. + The message. + + + + Logs the expectation as is was recorded + + The invocation. + The expectation. + + + + Logs the expectation as it was recorded + + The invocation. + The expectation. + + + + Logs the unexpected method call. + + The invocation. + The message. + + + + Operation on a remoting proxy + + + It is not possible to directly communicate to a real proxy via transparent proxy. + Transparent proxy impersonates a user type and only methods of that user type are callable. + The only methods that are guaranteed to exist on any transparent proxy are methods defined + in Object: namely ToString(), GetHashCode(), and Equals()). + + These three methods are the only way to tell the real proxy to do something. + Equals() is the most suitable of all, since it accepts an arbitrary object parameter. + The RemotingProxy code is built so that if it is compared to an IRemotingProxyOperation, + transparentProxy.Equals(operation) will call operation.Process(realProxy). + This way we can retrieve a real proxy from transparent proxy and perform + arbitrary operation on it. + + + + + Generates remoting proxies and provides utility functions + + + + + Create the proxy using remoting + + + + + Check whether an object is a transparent proxy with a RemotingProxy behind it + + Object to check + true if the object is a transparent proxy with a RemotingProxy instance behind it, false otherwise + We use Equals() method to communicate with the real proxy behind the object. + See IRemotingProxyOperation for more details + + + + Retrieve a mocked object from a transparent proxy + + Transparent proxy with a RemotingProxy instance behind it + Mocked object associated with the proxy + We use Equals() method to communicate with the real proxy behind the object. + See IRemotingProxyOperation for more details + + + + Implementation of IInvocation based on remoting proxy + + Some methods are marked NotSupported since they either don't make sense + for remoting proxies, or they are never called by Rhino Mocks + + + + Rudimetry implementation that simply logs methods calls as text. + + + + + Initializes a new instance of the class. + + The writer. + + + + Logs the expectation as it was recorded + + The invocation. + The expectation. + + + + Logs the expectation as it was recorded + + The invocation. + The expectation. + + + + Logs the unexpected method call. + + The invocation. + The message. + + + + Behave like a stub, all properties and events acts normally, methods calls + return default values by default (but can use expectations to set them up), etc. + + + + + Records all the expectations for a mock + + + + + Different actions on this mock + + + + + Add a method call for this state' mock. + + The invocation for this method + The method that was called + The arguments this method was called with + + + + Verify that this mock expectations have passed. + + + + + Verify that we can move to replay state and move + to the reply state. + + + + + Gets a mock state that match the original mock state of the object. + + + + + Get the options for the last method call + + + + + Set the exception to throw when Verify is called. + This is used to report exception that may have happened but where caught in the code. + This way, they are reported anyway when Verify() is called. + + + + + This method is called to indicate that a property behavior call. + This is done so we generate good error message in the common case of people using + Stubbed properties with Return(). + + + + + Gets the matching verify state for this state + + + + + Get the options for the last method call + + + + + Get the options for the last method call + + + + + Set the exception to throw when Verify is called. + This is used to report exception that may have happened but where caught in the code. + This way, they are reported anyway when Verify() is called. + + + + + This method is called to indicate that a property behavior call. + This is done so we generate good error message in the common case of people using + Stubbed properties with Return(). + + + + + Creates a new instance. + + Repository. + The proxy that generates the method calls + + + + Add a method call for this state' mock. + + The invocation for this method + The method that was called + The arguments this method was called with + + + + Verify that we can move to replay state and move + to the reply state. + + + + + Verify that we can move to replay state and move + to the reply state. + + + + + Verify that this mock expectations have passed. + + + + + Gets a mock state that match the original mock state of the object. + + + + + Asserts the previous method is closed (had an expectation set on it so we can replay it correctly) + + + + + Get the default call count range expectation + + + + + + Gets the last expectation. + + + + + Gets the total method calls count. + + + + + Get the options for the last method call + + + + + Gets the matching verify state for this state + + + + + Initializes a new instance of the class. + + The proxy that generates the method calls + Repository. + + + + We don't care much about expectations here, so we will remove the expectation if + it is not closed. + + + + + Verify that we can move to replay state and move + to the reply state. + + + + + + Get the default call count range expectation + + + + + + Validate expectations on recorded methods, but in general completely ignoring them. + Similar to except that it would return a + when BackToRecord is called. + + + + + Validate all expectations on a mock + + + + + The repository for this state + + + + + The proxy object for this state + + + + + Get the options for the last method call + + + + + Creates a new instance. + + The previous state for this method + + + + Add a method call for this state' mock. + + The invocation for this method + The method that was called + The arguments this method was called with + + + + Add a method call for this state' mock. + This allows derived method to cleanly get a the setupresult behavior while adding + their own. + + The invocation for this method + The method that was called + The arguments this method was called with + + + + Set the exception to throw when Verify is called. + This is used to report exception that may have happened but where caught in the code. + This way, they are reported anyway when Verify() is called. + + + + + not relevant + + + + + Verify that this mock expectations have passed. + + + + + Verify that we can move to replay state and move + to the reply state. + + + + + Gets a mock state that match the original mock state of the object. + + + + + Get the options for the last method call + + + + + Gets the matching verify state for this state + + + + + Initializes a new instance of the class. + + The previous state for this method + + + + Add a method call for this state' mock. + + The invocation for this method + The method that was called + The arguments this method was called with + + + + Gets a mock state that matches the original mock state of the object. + + + + + Write rhino mocks log info to the trace + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + if set to true [log recorded]. + if set to true [log replayed]. + if set to true [log unexpected]. + + + + Logs the expectation as is was recorded + + The invocation. + The expectation. + + + + Logs the expectation as it was recorded + + The invocation. + The expectation. + + + + Logs the unexpected method call. + + The invocation. + The message. + + + + Writes log information as stack traces about rhino mocks activity + + + + + Allows to redirect output to a different location. + + + + + Logs the expectation as is was recorded + + The invocation. + The expectation. + + + + Logs the expectation as it was recorded + + The invocation. + The expectation. + + + + Logs the unexpected method call. + + The invocation. + The message. + + + + Marker interface used to indicate that this is a partial mock. + + + + + Options for CallOriginalMethod + + + + + No expectation is created, the method will be called directly + + + + + Normal expectation is created, but when the method is later called, it will also call the original method + + + + + This is a data structure that is used by + to pass + the current method to the relevant delegate + + + + + Initializes a new instance of the class. + + The invocation. + + + + Gets the args for this method invocation + + + + + Get the method that was caused this invocation + + + + + Gets or sets the return value for this method invocation + + The return value. + + + + Adds optional new usage: + using(mockRepository.Record()) { + Expect.Call(mock.Method()).Return(retVal); + } + using(mockRepository.Playback()) { + // Execute code + } + N.B. mockRepository.ReplayAll() and mockRepository.VerifyAll() + calls are taken care of by Record/Playback + + + Creates proxied instances of types. + + + + Generates a stub without needing a + Arguments for 's constructor + The of stub to create. + The stub + + + + Generates a stub without needing a + The of stub. + Arguments for the 's constructor. + The stub + + + + Generate a mock object without needing a + type of mock object to create. + Arguments for 's constructor + the mock object + + + + Generate a multi-mock object without needing a + The typeof object to generate a mock for. + A second interface to generate a multi-mock for. + Arguments for 's constructor + the multi-mock object + + + + Generate a multi-mock object without without needing a + The typeof object to generate a mock for. + An interface to generate a multi-mock for. + A second interface to generate a multi-mock for. + Arguments for 's constructor + the multi-mock object + + + + Creates a multi-mock without without needing a + The type of mock to create, this can be a class + Any extra interfaces to add to the multi-mock, these can only be interfaces. + Arguments for 's constructor + the multi-mock object + + + + Creates a strict mock without without needing a + Any arguments required for the 's constructor + The type of mock object to create. + The mock object with strict replay semantics + + + + Creates a strict multi-mock without needing a + Any arguments required for the 's constructor + The type of mock object to create, this can be a class. + An interface to generate a multi-mock for, this must be an interface! + The multi-mock object with strict replay semantics + + + + Creates a strict multi-mock without needing a + Any arguments required for the 's constructor + The type of mock object to create, this can be a class. + An interface to generate a multi-mock for, this must be an interface! + A second interface to generate a multi-mock for, this must be an interface! + The multi-mock object with strict replay semantics + + + + Creates a strict multi-mock without needing a + The type of mock object to create, this can be a class + Any extra interfaces to generate a multi-mock for, these must be interaces! + Any arguments for the 's constructor + The strict multi-mock object + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Generate a mock object with dynamic replay semantics and remoting without needing the mock repository + + + + + Generate a mock object with strict replay semantics and remoting without needing the mock repository + + + + Helper method to create a mock object without a repository instance and put the object back into replay mode. + The type of mock object to create + A delegate that uses a mock repository instance to create the underlying mock + The mock object in the replay mode. + + + + + + + + + + + + + + This is a map of types to ProxyGenerators. + + + + + This is used to record the last repository that has a method called on it. + + + + + this is used to get to the last proxy on this repository. + + + + + For mock delegates, maps the proxy instance from intercepted invocations + back to the delegate that was originally returned to client code, if any. + + + + + All the proxies in the mock repositories + + + + + This is here because we can't put it in any of the recorders, since repeatable methods + have no orderring, and if we try to handle them using the usual manner, we would get into + wierd situations where repeatable method that was defined in an orderring block doesn't + exists until we enter this block. + + + + + Creates a new instance. + + + + + Move the repository to ordered mode + + + + + Move the repository to un-ordered mode + + + + + Creates a mock for the specified type. + + Type. + Arguments for the class' constructor, if mocking a concrete class + + + + Creates a strict mock for the specified type. + + Type. + Arguments for the class' constructor, if mocking a concrete class + + + + Creates a remoting mock for the specified type. + + Type. + Arguments for the class' constructor, if mocking a concrete class + + + + Creates a strict remoting mock for the specified type. + + Type. + Arguments for the class' constructor, if mocking a concrete class + + + + Creates a remoting mock for the specified type. + + + Arguments for the class' constructor, if mocking a concrete class + + + + + Creates a strict remoting mock for the specified type. + + + Arguments for the class' constructor, if mocking a concrete class + + + + + Creates a mock from several types, with strict semantics. + Only may be a class. + + + + + Creates a strict mock from several types, with strict semantics. + Only may be a class. + + + + + Creates a mock from several types, with strict semantics. + Only may be a class. + + The main type to mock. + Extra interface types to mock. + Arguments for the class' constructor, if mocking a concrete class. + + + + Creates a strict mock from several types, with strict semantics. + Only may be a class. + + The main type to mock. + Extra interface types to mock. + Arguments for the class' constructor, if mocking a concrete class. + + + + Creates a mock from several types, with dynamic semantics. + Only may be a class. + + The main type to mock. + Extra interface types to mock. + + + + Creates a mock from several types, with dynamic semantics. + Only may be a class. + + The main type to mock. + Extra interface types to mock. + Arguments for the class' constructor, if mocking a concrete class. + + + Creates a dynamic mock for the specified type. + Type. + Arguments for the class' constructor, if mocking a concrete class + + + Creates a dynamic mock for the specified type. + Type. + Arguments for the class' constructor, if mocking a concrete class + + + Creates a dynamic mock for the specified type. + + Arguments for the class' constructor, if mocking a concrete class + + + + Creates a mock object that defaults to calling the class methods if no expectation is set on the method. + Type. + Arguments for the class' constructor. + + + Creates a mock object that defaults to calling the class methods. + Type. + Extra interface types to mock. + + + Creates a mock object that defaults to calling the class methods. + Type. + Extra interface types to mock. + Arguments for the class' constructor. + + + Creates a mock object using remoting proxies + Type to mock - must be MarshalByRefObject + Mock object + Proxy mock can mock non-virtual methods, but not static methods + Creates the mock state for this proxy + + + + Cause the mock state to change to replay, any further call is compared to the + ones that were called in the record state. + + This method *cannot* be called from inside an ordering. + the object to move to replay state + + + + Cause the mock state to change to replay, any further call is compared to the + ones that were called in the record state. + + the object to move to replay state + + + + Move the mocked object back to record state.You can (and it's recommended) to run {Verify()} before you use this method. + Will delete all current expectations! + + + + Move the mocked object back to record state. + Optionally, can delete all current expectations, but allows more granularity about how + it would behave with regard to the object state. + + + + + Verify that all the expectations for this object were fulfilled. + + the object to verify the expectations for + + + + Get the method options for the last call on + mockedInstance. + + The mock object + Method options for the last call + + + + Maps an invocation proxy back to the mock object instance that was originally + returned to client code which might have been a delegate to this proxy. + + The mock object proxy from the intercepted invocation + The mock object + + + This is provided to allow advance extention functionality, where Rhino Mocks standard functionality is not enough. + The type to mock + Delegate that create the first state of the mocked object (usualy the record state). + Additional types to be implemented, this can be only interfaces + optional arguments for the constructor + + + + + Method: GetMockedObject + Get an IProxy from a mocked object instance, or throws if the + object is not a mock object. + + + + + Method: GetMockedObjectOrNull + Get an IProxy from a mocked object instance, or null if the + object is not a mock object. + + + + Pops the recorder. + + + Pushes the recorder. + New recorder. + + + + All the mock objects in this repository will be moved + to record state. + + + + + All the mock objects in this repository will be moved + to record state. + + + + + Replay all the mocks from this repository + + + + + Verify all the mocks from this repository + + + + + Gets the proxy generator for a specific type. Having a single ProxyGenerator + with multiple types linearly degrades the performance so this implementation + keeps one ProxyGenerator per type. + + + + Set the exception to be thrown when verified is called. + + + + Creates a mock for the spesified type with strict mocking semantics. + Strict semantics means that any call that wasn't explicitly recorded is considered an error and would cause an exception to be thrown. + + Arguments for the class' constructor, if mocking a concrete class + + + + Creates a mock for the spesified type with strict mocking semantics. + Strict semantics means that any call that wasn't explicitly recorded is considered an error and would cause an exception to be thrown. + + Arguments for the class' constructor, if mocking a concrete class + + + + Creates a dynamic mock for the specified type. + + Arguments for the class' constructor, if mocking a concrete class + + + + Creates a mock object from several types. + + + + + Creates a strict mock object from several types. + + + + + Create a mock object from several types with dynamic semantics. + + + + + Create a mock object from several types with partial semantics. + + + + + Create a mock object from several types with strict semantics. + + Extra interface types to mock. + Arguments for the class' constructor, if mocking a concrete class + + + + Create a strict mock object from several types with strict semantics. + + Extra interface types to mock. + Arguments for the class' constructor, if mocking a concrete class + + + + Create a mock object from several types with dynamic semantics. + + Extra interface types to mock. + Arguments for the class' constructor, if mocking a concrete class + + + + Create a mock object from several types with partial semantics. + + Extra interface types to mock. + Arguments for the class' constructor, if mocking a concrete class + + + + Create a mock object with from a class that defaults to calling the class methods + + Arguments for the class' constructor, if mocking a concrete class + + + + Create a stub object, one that has properties and events ready for use, and + can have methods called on it. It requires an explicit step in order to create + an expectation for a stub. + + The arguments for constructor. + + + + Create a stub object, one that has properties and events ready for use, and + can have methods called on it. It requires an explicit step in order to create + an expectation for a stub. + + The type. + The arguments for constructor. + The stub + + + + Returns true if the passed mock is currently in replay mode. + + The mock to test. + True if the mock is in replay mode, false otherwise. + + + + Determines whether the specified proxy is a stub. + + The proxy. + + + + Register a call on a prperty behavior + + + + + + Gets the recorder. + + + + + + Gets the replayer for this repository. + + + + + + Gets the last proxy which had a method call. + + + + + Delegate: CreateMockState + This is used internally to cleanly handle the creation of different + RecordMockStates. + + + + + A set of extension methods that adds Arrange Act Assert mode to Rhino Mocks + + + + + Create an expectation on this mock for this action to occur + + + The mock. + The action. + + + + + Reset all expectations on this mock object + + + The mock. + + + + Reset the selected expectation on this mock object + + + The mock. + The options to reset the expectations on this mock. + + + + Cause the mock state to change to replay, any further call is compared to the + ones that were called in the record state. + + the mocked object to move to replay state + + + + Gets the mock repository for this specificied mock object + + + The mock. + + + + + Create an expectation on this mock for this action to occur + + + + The mock. + The action. + + + + + Tell the mock object to perform a certain action when a matching + method is called. + Does not create an expectation for this method. + + + The mock. + The action. + + + + + Tell the mock object to perform a certain action when a matching + method is called. + Does not create an expectation for this method. + + + + The mock. + The action. + + + + + Gets the arguments for calls made on this mock object and the method that was called + in the action. + + + The mock. + The action. + + + Here we will get all the arguments for all the calls made to DoSomething(int) + + var argsForCalls = foo54.GetArgumentsForCallsMadeOn(x => x.DoSomething(0)) + + + + + + Gets the arguments for calls made on this mock object and the method that was called + in the action and matches the given constraints + + + The mock. + The action. + The setup constraints. + + + Here we will get all the arguments for all the calls made to DoSomething(int) + + var argsForCalls = foo54.GetArgumentsForCallsMadeOn(x => x.DoSomething(0)) + + + + + + Asserts that a particular method was called on this mock object + + + The mock. + The action. + + + + Asserts that a particular method was called on this mock object that match + a particular constraint set. + + + The mock. + The action. + The setup constraints. + + + + Asserts that a particular method was called on this mock object that match + a particular constraint set. + + + The mock. + The action. + + + + Asserts that a particular method was called on this mock object that match + a particular constraint set. + + + The mock. + The action. + The setup constraints. + + + + Asserts that a particular method was NOT called on this mock object + + + The mock. + The action. + + + + Asserts that a particular method was NOT called on this mock object that match + a particular constraint set. + + + The mock. + The action. + The setup constraints. + + + + Asserts that a particular method was NOT called on this mock object + + + The mock. + The action. + + + + Asserts that a particular method was NOT called on this mock object + + + The mock. + The action. + The setup constraints. + + + + Finds the approprite implementation type of this item. + This is the class or an interface outside of the rhino mocks. + + The mocked obj. + + + + + Verifies all expectations on this mock object + + The mock object. + + + + Gets the event raiser for the event that was called in the action passed + + The type of the event source. + The mock object. + The event subscription. + + + + + Raise the specified event using the passed arguments. + The even is extracted from the passed labmda + + The type of the event source. + The mock object. + The event subscription. + The sender. + The instance containing the event data. + + + + Raise the specified event using the passed arguments. + The even is extracted from the passed labmda + + The type of the event source. + The mock object. + The event subscription. + The args. + + + TODO: Make this better! It currently breaks down when mocking classes or + ABC's that call other virtual methods which are getting intercepted too. I wish + we could just walk Expression{Action{Action{T}} to assert only a single + method is being made. + + The workaround is to not call foo.AssertWasCalled .. rather foo.VerifyAllExpectations() + The type of mock object + The mock repository + The actual mock object to assert expectations on. + + + + Fake type that disallow creating it. + Should have been System.Type, but we can't use it. + + + + + Utility class for dealing with messing generics scenarios. + + + + + There are issues with trying to get this to work correctly with open generic types, since this is an edge case, + I am letting the runtime handle it. + + + + + Gets the real type, including de-constructing and constructing the type of generic + methods parameters. + + The type. + The invocation. + + + + + Because we need to support complex types here (simple generics were handled above) we + need to be aware of the following scenarios: + List[T] and List[Foo[T]] + + + + + ExpectationsList + + + + + Dictionary + + + + + Dictionary class + + + + + Create a new instance of ProxyStateDictionary + + + + + Allows to call a method and immediately get it's options. + + + + + Interface to allow calling a method and immediately get it's options. + + + + + Get the method options for the call + + The method call should go here, the return value is ignored + + + + Creates a new instance. + + + + + Get the method options for the call + + The method call should go here, the return value is ignored + + + + Allows to call a method and immediately get it's options. + Set the expected number for the call to Any() + + + + + Creates a new instance. + + Proxy. + Mocked instance. + + + + Get the method options for the call + + The method call should go here, the return value is ignored + + + + This class is reponsible for taking a delegate and creating a wrapper + interface around it, so it can be mocked. + + + + + The scope for all the delegate interfaces create by this mock repository. + + + + + Gets a type with an "Invoke" method suitable for use as a target of the + specified delegate type. + + + + + + + Raise events for all subscribers for an event + + + + + Raise events for all subscribers for an event + + + + + Raise the event + + + + + The most common form for the event handler signature + + + + + Create an event raiser for the specified event on this instance. + + + + + Creates a new instance of EventRaiser + + + + + Raise the event + + + + + The most common signature for events + Here to allow intellisense to make better guesses about how + it should suggest parameters. + + + + + Allows to define what would happen when a method + is called. + + + + + Allows to define what would happen when a method + is called. + + + + + Set the return value for the method. + + The object the method will return + IRepeat that defines how many times the method will return this value + + + + Allow to override this return value in the future + + IRepeat that defines how many times the method will return this value + + + + Throws the specified exception when the method is called. + + Exception to throw + + + + Ignores the arguments for this method. Any argument will be matched + againt this method. + + + + + Add constraints for the method's arguments. + + + + + Set a callback method for the last call + + + + + Set a delegate to be called when the expectation is matched. + The delegate return value will be returned from the expectation. + + + + + Set a delegate to be called when the expectation is matched. + The delegate return value will be returned from the expectation. + + + + + Set a delegate to be called when the expectation is matched. + The delegate return value will be returned from the expectation. + + + + + Set a delegate to be called when the expectation is matched. + The delegate return value will be returned from the expectation. + + + + + Set a delegate to be called when the expectation is matched. + The delegate return value will be returned from the expectation. + + + + + Set a delegate to be called when the expectation is matched. + The delegate return value will be returned from the expectation. + + + + + Set a delegate to be called when the expectation is matched. + The delegate return value will be returned from the expectation. + + + + + Set a delegate to be called when the expectation is matched. + The delegate return value will be returned from the expectation. + + + + + Set a delegate to be called when the expectation is matched. + The delegate return value will be returned from the expectation. + + + + + Set a delegate to be called when the expectation is matched. + The delegate return value will be returned from the expectation. + + + + + Set a delegate to be called when the expectation is matched. + The delegate return value will be returned from the expectation. + + + + + Set a delegate to be called when the expectation is matched. + The delegate return value will be returned from the expectation. + + + + + Set a delegate to be called when the expectation is matched + and allow to optionally modify the invocation as needed + + + + + Call the original method on the class, bypassing the mocking layers. + + + + + + Call the original method on the class, optionally bypassing the mocking layers. + + + + + + Use the property as a simple property, getting/setting the values without + causing mock expectations. + + + + + Expect last (property) call as property setting, ignore the argument given + + + + + + Expect last (property) call as property setting with a given argument. + + + + + + + Get an event raiser for the last subscribed event. + + + + + Set the parameter values for out and ref parameters. + This is done using zero based indexing, and _ignoring_ any non out/ref parameter. + + + + + Documentation message for the expectation + + Message + + + + Better syntax to define repeats. + + + + + Allows to specify the number of time for method calls + + + + + Repeat the method twice. + + + + + Repeat the method once. + + + + + Repeat the method at least once, then repeat as many time as it would like. + + + + + Repeat the method any number of times. + This has special affects in that this method would now ignore orderring. + + + + + Set the range to repeat an action. + + Min. + Max. + + + + Set the amount of times to repeat an action. + + + + + This method must not appear in the replay state. + This has special affects in that this method would now ignore orderring. + + + + + Creates a new instance. + + the repository for this expectation + the recorder for this proxy + the proxy for this expectation + Expectation. + + + + Add constraints for the method's arguments. + + + + + Set a callback method for the last call + + + + + Set a callback method for the last call + + + + + Set a callback method for the last call + + + + + Set a callback method for the last call + + + + + Set a callback method for the last call + + + + + Set a callback method for the last call + + + + + Set a callback method for the last call + + + + + Set a callback method for the last call + + + + + Set a callback method for the last call + + + + + Set a callback method for the last call + + + + + Set a callback method for the last call + + + + + Set a callback method for the last call + + + + + Set a delegate to be called when the expectation is matched. + The delegate return value will be returned from the expectation. + + + + + Set a delegate to be called when the expectation is matched. + The delegate return value will be returned from the expectation. + + + + + Set the return value for the method. + + The object the method will return + IRepeat that defines how many times the method will return this value + + + + Set the return value for the method, but allow to override this return value in the future + + IRepeat that defines how many times the method will return this value + + + + Throws the specified exception when the method is called. + + Exception to throw + + + + Ignores the arguments for this method. Any argument will be matched + againt this method. + + + + + Call the original method on the class, bypassing the mocking layers. + + + + + + Call the original method on the class, optionally bypassing the mocking layers + + + + + + Use the property as a simple property, getting/setting the values without + causing mock expectations. + + + + + Expect last (property) call as property setting, ignore the argument given + + + + + + Expect last (property) call as property setting with a given argument. + + + + + + + Gets the event raiser for the last event + + + + + Set the parameter values for out and ref parameters. + This is done using zero based indexing, and _ignoring_ any non out/ref parameter. + + + + + Repeat the method twice. + + + + + Repeat the method once. + + + + + Repeat the method at least once, then repeat as many time as it would like. + + + + + This method must not appear in the replay state. + + + + + Documentation message for the expectation + + Message + + + + Repeat the method any number of times. + + + + + Set the range to repeat an action. + + Min. + Max. + + + + Set the amount of times to repeat an action. + + + + + Better syntax to define repeats. + + + + + This class will provide hash code for hashtables without needing + to call the GetHashCode() on the object, which may very well be mocked. + This class has no state so it is a singelton to avoid creating a lot of objects + that does the exact same thing. See flyweight patterns. + + + + + Get the hash code for a proxy object without calling GetHashCode() + on the object. + + + + + Compares two instances of mocked objects + + + + + Compare two mocked objects + + + + + The next hash code value for a mock object. + This is safe for multi threading. + + + + + The sole instance of + + + + + This is a dummy type that is used merely to give DynamicProxy the proxy instance that + it needs to create IProxy's types. + + + + + Interface to find the repository of a mocked object + + + + + Return true if it should call the original method on the object + instead of pass it to the message chain. + + The method to call + + + + Register a method to be called on the object directly + + + + + Register a property on the object that will behave as a simple property + + + + + Check if the method was registered as a property method. + + + + + Do get/set on the property, according to need. + + + + + Do add/remove on the event + + + + + Get the subscribers of a spesific event + + + + + Gets the declaring type of the method, taking into acccount the possible generic + parameters that it was created with. + + + + + Clears the state of the object, remove original calls, property behavior, subscribed events, etc. + + + + + Get all the method calls arguments that were made against this object with the specificed + method. + + + Only method calls in replay mode are counted + + + + + Records the method call + + + + + Mocks that are tied to this mock lifestyle + + + + + The unique hash code of this mock, which is not related + to the value of the GetHashCode() call on the object. + + + + + Gets the repository. + + + + + Gets the implemented types by this mocked object + + The implemented. + + + + Gets or sets the constructor arguments. + + The constructor arguments. + + + + The mocked instance that this is representing + + + + + Create a new instance of + + + + + Return true if it should call the original method on the object + instead of pass it to the message chain. + + The method to call + + + + Register a method to be called on the object directly + + + + + Register a property on the object that will behave as a simple property + Return true if there is already a value for the property + + + + + Check if the method was registered as a property method. + + + + + Do get/set on the property, according to need. + + + + + Do add/remove on the event + + + + + Get the subscribers of a spesific event + + + + + Gets the declaring type of the method, taking into acccount the possible generic + parameters that it was created with. + + + + + Get all the method calls arguments that were made against this object with the specificed + method. + + + + + Only method calls in replay mode are counted + + + + + Records the method call + + + + + + + Clears the state of the object, remove original calls, property behavior, subscribed events, etc. + + + + + Mocks that are tied to this mock lifestyle + + + + + The unique hash code of this proxy, which is not related + to the value of the GetHashCode() call on the object. + + + + + Gets the repository. + + + + + Gets or sets the constructor arguments. + + The constructor arguments. + + + + The mocked instance that this is representing + + + + + Gets the implemented types by this mocked object + + The implemented. + + + + Range for expected method calls + + + + + Creates a new instance. + + Min. + Max. + + + + Return the string representation of this range. + + + + + Gets or sets the min. + + + + + + Gets or sets the max. + + + + + + Records all the expectations for a mock and + return a ReplayDynamicMockState when Replay() + is called. + + + + + Creates a new instance. + + Repository. + The proxy that generates the method calls + + + + Verify that we can move to replay state and move + to the reply state. + + + + + Get the default call count range expectation + + + + + + Gets a mock state that match the original mock state of the object. + + + + + Records all the expectations for a mock and + return a ReplayPartialMockState when Replay() + is called. + + + + + Creates a new instance. + + Repository. + The proxy that generates the method calls + + + + Verify that we can move to replay state and move + to the reply state. + + + + + Gets a mock state that matches the original mock state of the object. + + + + + Options for special repeat option + + + + + This method can be called only as many times as the IMethodOptions.Expect allows. + + + + + This method should never be called + + + + + This method can be call any number of times + + + + + This method will call the original method + + + + + This method will call the original method, bypassing the mocking layer + + + + + This method will simulate simple property behavior + + + + + Validate all expectations on a mock and ignores calls to + any method that was not setup properly. + + + + + Creates a new instance. + + The previous state for this method + + + + Add a method call for this state' mock. + + The invocation for this method + The method that was called + The arguments this method was called with + + + + Gets a mock state that match the original mock state of the object. + + + + + Validate all expectations on a mock and ignores calls to + any method that was not setup properly. + + + + + Creates a new instance. + + The previous state for this method + + + + Add a method call for this state' mock. + + The invocation for this method + The method that was called + The arguments this method was called with + + + + Gets a mock state that match the original mock state of the object. + + + + + Summary description for RhinoInterceptor. + + + + + Creates a new instance. + + + + + Intercept a method call and direct it to the repository. + + + + + Validate arguments for methods + + + + + Validate that the passed argument is not null. + + The object to validate + The name of the argument + + If the obj is null, an ArgumentNullException with the passed name + is thrown. + + + + + Validate that the arguments are equal. + + Expected args. + Actual Args. + + + + Validate that the two arguments are equals, including validation for + when the arguments are collections, in which case it will validate their values. + + + + + This method is safe for use even if any of the objects is a mocked object + that override equals. + + + + + Throw an object already verified when accessed + + + + + Create a new instance of VerifiedMockState + + The previous mock state, used to get the initial record state + + + + Add a method call for this state' mock. + + The invocation for this method + The method that was called + The arguments this method was called with + + + + Verify that this mock expectations have passed. + + + + + Verify that we can move to replay state and move + to the reply state. + + + + + Gets a mock state that match the original mock state of the object. + + + + + Get the options for the last method call + + + + + Set the exception to throw when Verify is called. + This is used to report exception that may have happened but where caught in the code. + This way, they are reported anyway when Verify() is called. + + + + + not relevant + + + + + Gets the matching verify state for this state + + + + + Get the options for the last method call + + + + + Records the actions on all the mocks created by a repository. + + + + + Records the specified call with the specified args on the mocked object. + + + + + Get the expectation for this method on this object with this arguments + + + + + This check the methods that were setup using the SetupResult.For() + or LastCall.Repeat.Any() and that bypass the whole expectation model. + + + + + Gets the all expectations for a mocked object and method combination, + regardless of the expected arguments / callbacks / contraints. + + Mocked object. + Method. + List of all relevant expectation + + + + Gets the all expectations for proxy. + + Mocked object. + List of all relevant expectation + + + + Removes all the repeatable expectations for proxy. + + Mocked object. + + + + Replaces the old expectation with the new expectation for the specified proxy/method pair. + This replace ALL expectations that equal to old expectations. + + Proxy. + Method. + Old expectation. + New expectation. + + + + Adds the recorder and turn it into the active recorder. + + Recorder. + + + + Moves to previous recorder. + + + + + Gets the recorded expectation or null. + + + + + Gets the next expected calls string. + + + + + Moves to parent recorder. + + + + + Set the expectation so it can repeat any number of times. + + + + + Removes the expectation from the recorder + + + + + Clear the replayer to call (and all its chain of replayers) + This also removes it from the list of expectations, so it will never be considered again + + + + + Get the expectation for this method on this object with this arguments + + + + + Gets a value indicating whether this instance has expectations that weren't satisfied yet. + + + true if this instance has expectations; otherwise, false. + + + + + Allows to set various options for the last method call on + a specified object. + If the method has a return value, it's recommended to use Expect + + + + + Allows to get an interface to work on the last call. + + The mocked object + Interface that allows to set options for the last method call on this object + + + + Set the return value for the method. + + The object the method will return + IRepeat that defines how many times the method will return this value + + + + Set the return value for the method. This overload is needed for LastCall.Return(null) + + The object the method will return + IRepeat that defines how many times the method will return this value + + + + Throws the specified exception when the method is called. + + Exception to throw + + + + Ignores the arguments for this method. Any argument will be matched + againt this method. + + + + + Add constraints for the method's arguments. + + + + + Set a callback method for the last call + + + + + Set a callback method for the last call + + + + + Set a callback method for the last call + + + + + Set a callback method for the last call + + + + + Set a callback method for the last call + + + + + Set a callback method for the last call + + + + + Set a callback method for the last call + + + + + Set a callback method for the last call + + + + + Set a callback method for the last call + + + + + Set a callback method for the last call + + + + + Set a callback method for the last call + + + + + Set a callback method for the last call + + + + + Call the original method on the class, bypassing the mocking layers, for the last call. + + + + + Call the original method on the class, optionally bypassing the mocking layers, for the last call. + + + + + Set a delegate to be called when the expectation is matched. + The delegate return value will be returned from the expectation. + + + + + Gets an interface that will raise the last event when called. + + + + + Set the parameter values for out and ref parameters. + This is done using zero based indexing, and _ignoring_ any non out/ref parameter. + + + + + Documentation message for the expectation + + Message + + + + Use the property as a simple property, getting/setting the values without + causing mock expectations. + + + + + Better syntax to define repeats. + + + + + Base class for method recorders, handle delegating to inner recorder if needed. + + + + + List of the expected actions on for this recorder + The legal values are: + * Expectations + * Method Recorders + + + + + The current recorder. + + + + + The current replayer; + + + + + The parent recorder of this one, may be null. + + + + + This contains a list of all the replayers that should be ignored + for a spesific method call. A replayer gets into this list by calling + ClearReplayerToCall() on its parent. This list is Clear()ed on each new invocation. + + + + + All the repeatable methods calls. + + + + + Counts the recursion depth of the current expectation search stack + + + + + Creates a new instance. + + + + + Creates a new instance. + + Parent recorder. + Repeatable methods + + + + Records the specified call with the specified args on the mocked object. + + + + + Get the expectation for this method on this object with this arguments + + + + + Gets the all expectations for a mocked object and method combination, + regardless of the expected arguments / callbacks / contraints. + + Mocked object. + Method. + List of all relevant expectation + + + + Gets the all expectations for proxy. + + Mocked object. + List of all relevant expectation + + + + Replaces the old expectation with the new expectation for the specified proxy/method pair. + This replace ALL expectations that equal to old expectations. + + Proxy. + Method. + Old expectation. + New expectation. + + + + Remove the all repeatable expectations for proxy. + + Mocked object. + + + + Set the expectation so it can repeat any number of times. + + + + + Removes the expectation from the recorder + + + + + Adds the recorder and turn it into the active recorder. + + Recorder. + + + + Moves to previous recorder. + + + + + Moves to parent recorder. + + + + + Gets the recorded expectation or null. + + + + + Clear the replayer to call (and all its chain of replayers). + This also removes it from the list of expectations, so it will never be considered again + + + + + Get the expectation for this method on this object with this arguments + + + + + Gets the next expected calls string. + + + + + Handles the real getting of the recorded expectation or null. + + + + + Handle the real execution of this method for the derived class + + + + + Handle the real execution of this method for the derived class + + + + + Handle the real execution of this method for the derived class + + + + + Handle the real execution of this method for the derived class + + + + + Handle the real execution of this method for the derived class + + + + + Handle the real execution of this method for the derived class + + + + + Should this replayer be considered valid for this call? + + + + + This check the methods that were setup using the SetupResult.For() + or LastCall.Repeat.Any() and that bypass the whole expectation model. + + + + + Gets a value indicating whether this instance has expectations that weren't satisfied yet. + + + true if this instance has expectations; otherwise, false. + + + + + Handle the real execution of this method for the derived class + + + + + Ordered collection of methods, methods must arrive in specified order + in order to pass. + + + + + Unordered collection of method records, any expectation that exist + will be matched. + + + + + The parent recorder we have redirected to. + Useful for certain edge cases in orderring. + See: FieldProblem_Entropy for the details. + + + + + Creates a new instance. + + Parent recorder. + Repeatable methods + + + + Creates a new instance. + + + + + Records the specified call with the specified args on the mocked object. + + Mocked object. + Method. + Expectation. + + + + Get the expectation for this method on this object with this arguments + + Invocation for this method + Mocked object. + Method. + Args. + True is the call was recorded, false otherwise + + + + Gets the all expectations for a mocked object and method combination, + regardless of the expected arguments / callbacks / contraints. + + Mocked object. + Method. + List of all relevant expectation + + + + Gets the all expectations for proxy. + + Mocked object. + List of all relevant expectation + + + + Replaces the old expectation with the new expectation for the specified proxy/method pair. + This replace ALL expectations that equal to old expectations. + + Proxy. + Method. + Old expectation. + New expectation. + + + + Handle the real execution of this method for the derived class + + + + + Handles the real getting of the recorded expectation or null. + + + + + Handle the real execution of this method for the derived class + + + + + Gets the next expected calls string. + + + + + Create an exception for an unexpected method call. + + + + + Gets a value indicating whether this instance has expectations that weren't satisfied yet. + + + true if this instance has expectations; otherwise, false. + + + + + Creates a new instance. + + Parent recorder. + Repetable methods + + + + Creates a new instance. + + + + + Handles the real getting of the recorded expectation or null. + + + + + Get the expectation for this method on this object with this arguments + + + + + Gets the next expected calls string. + + + + + Hold an expectation for a method call on an object + + + + + Creates a new instance. + + Proxy. + Method. + Expectation. + + + + Determines if the object equal to this instance + + Obj. + + + + + Gets the hash code. + + + + + + Gets the proxy. + + + + + + Gets the method. + + + + + + Gets the expectation. + + + + + + Holds a pair of mocked object and a method + and allows to compare them against each other. + This allows us to have a distinction between mockOne.MyMethod() and + mockTwo.MyMethod()... + + + + + Creates a new instance. + + Proxy. + Method. + + + + Determines whatever obj equals to this instance. + ProxyMethodPairs are equal when they point to the same /instance/ of + an object, and to the same method. + + Obj. + + + + + Gets the hash code. + + + + + + Gets the proxy. + + + + + + Gets the method. + + + + + + Change the recorder from ordered to unordered and vice versa + + + + + Creates a new instance. + + + + + Disposes this instance. + + + + + Accessor for the current mocker + + + + + The current mocker + + + + + Used for [assembly: InternalsVisibleTo(RhinoMocks.StrongName)] + Used for [assembly: InternalsVisibleTo(RhinoMocks.NormalName)] + + + + + Strong name for the Dynamic Proxy assemblies. Used for InternalsVisibleTo specification. + + + + + Normal name for dynamic proxy assemblies. Used for InternalsVisibleTo specification. + + + + + Logs all method calls for methods + + + + + Setup method calls to repeat any number of times. + + + + + Get the method options and set the last method call to repeat + any number of times. + This also means that the method would transcend ordering + + + + + Get the method options for the last method call on the mockInstance and set it + to repeat any number of times. + This also means that the method would transcend ordering + + + + + Utility class for working with method calls. + + + + + Return the string representation of a method call and its arguments. + + The method + The method arguments + Invocation of the method, used to get the generics arguments + Delegate to format the parameter + The string representation of this method call + + + + Return the string representation of a method call and its arguments. + + The invocation of the method, used to get the generic parameters + The method + The method arguments + The string representation of this method call + + + + Delegate to format the argument for the string representation of + the method call. + + + + + Utility to get the default value for a type + + + + + The default value for a type. + Null for reference types and void + 0 for value types. + First element for enums + Note that we need to get the value even for opened generic types, such as those from + generic methods. + + Type. + The invocation. + the default value + + + + Allows easier access to MockRepository, works closely with Mocker.Current to + allow access to a context where the mock repository is automatially verified at + the end of the code block. + + + + + Initialize a code block where Mocker.Current is initialized. + At the end of the code block, all the expectation will be verified. + This overload will create a new MockRepository. + + The code that will be executed under the mock context + + + + Initialize a code block where Mocker.Current is initialized. + At the end of the code block, all the expectation will be verified. + This overload will create a new MockRepository. + + The mock repository to use, at the end of the code block, VerifyAll() will be called on the repository. + The code that will be executed under the mock context + + + + Create a FluentMocker + + The mock repository to use. + + + + A method with no arguments and no return value that will be called under the mock context. + + + + + FluentMocker implements some kind of fluent interface attempt + for saying "With the Mocks [mocks], Expecting (in same order) [things] verify [that]." + + + + + Interface to verify previously defined expectations + + + + + Verifies if a piece of code + + + + + Defines unordered expectations + + A delegate describing the expectations + an IMockVerifier + + + + Defines ordered expectations + + A delegate describing the expectations + an IMockVerifier + + + + Verifies previously defined expectations + + + + + This delegate is compatible with the System.Func{T,R} signature + We have to define our own to get compatability with 2.0 + + + + + This attribute is here so we can get better Pex integration + Using this means that Pex will not try to inspect the work of + the actual proxies being generated by Rhino Mocks + + + + diff --git a/lib/Net/3.5/log4net.dll b/lib/Net/3.5/log4net.dll new file mode 100644 index 00000000..995816f2 Binary files /dev/null and b/lib/Net/3.5/log4net.dll differ diff --git a/lib/Net/3.5/nunit.core.dll b/lib/Net/3.5/nunit.core.dll new file mode 100644 index 00000000..dd3b2e00 Binary files /dev/null and b/lib/Net/3.5/nunit.core.dll differ diff --git a/lib/Net/3.5/nunit.core.interfaces.dll b/lib/Net/3.5/nunit.core.interfaces.dll new file mode 100644 index 00000000..39a11273 Binary files /dev/null and b/lib/Net/3.5/nunit.core.interfaces.dll differ diff --git a/lib/Net/3.5/nunit.framework.dll b/lib/Net/3.5/nunit.framework.dll new file mode 100644 index 00000000..639dbb0d Binary files /dev/null and b/lib/Net/3.5/nunit.framework.dll differ diff --git a/lib/Net/3.5/nunit.framework.xml b/lib/Net/3.5/nunit.framework.xml new file mode 100644 index 00000000..e67b2cdc --- /dev/null +++ b/lib/Net/3.5/nunit.framework.xml @@ -0,0 +1,10228 @@ + + + + nunit.framework + + + + + BinaryConstraint is the abstract base of all constraints + that combine two other constraints in some fashion. + + + + + The Constraint class is the base of all built-in constraints + within NUnit. It provides the operator overloads used to combine + constraints. + + + + + The IConstraintExpression interface is implemented by all + complete and resolvable constraints and expressions. + + + + + Return the top-level constraint for this expression + + + + + + Static UnsetObject used to detect derived constraints + failing to set the actual value. + + + + + The actual value being tested against a constraint + + + + + The display name of this Constraint for use by ToString() + + + + + Argument fields used by ToString(); + + + + + The builder holding this constraint + + + + + Construct a constraint with no arguments + + + + + Construct a constraint with one argument + + + + + Construct a constraint with two arguments + + + + + Sets the ConstraintBuilder holding this constraint + + + + + Write the failure message to the MessageWriter provided + as an argument. The default implementation simply passes + the constraint and the actual value to the writer, which + then displays the constraint description and the value. + + Constraints that need to provide additional details, + such as where the error occured can override this. + + The MessageWriter on which to display the message + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Test whether the constraint is satisfied by an + ActualValueDelegate that returns the value to be tested. + The default implementation simply evaluates the delegate + but derived classes may override it to provide for delayed + processing. + + An ActualValueDelegate + True for success, false for failure + + + + Test whether the constraint is satisfied by a given reference. + The default implementation simply dereferences the value but + derived classes may override it to provide for delayed processing. + + A reference to the value to be tested + True for success, false for failure + + + + Write the constraint description to a MessageWriter + + The writer on which the description is displayed + + + + Write the actual value for a failing constraint test to a + MessageWriter. The default implementation simply writes + the raw value of actual, leaving it to the writer to + perform any formatting. + + The writer on which the actual value is displayed + + + + Default override of ToString returns the constraint DisplayName + followed by any arguments within angle brackets. + + + + + + Returns the string representation of this constraint + + + + + This operator creates a constraint that is satisfied only if both + argument constraints are satisfied. + + + + + This operator creates a constraint that is satisfied if either + of the argument constraints is satisfied. + + + + + This operator creates a constraint that is satisfied if the + argument constraint is not satisfied. + + + + + Returns a DelayedConstraint with the specified delay time. + + The delay in milliseconds. + + + + + Returns a DelayedConstraint with the specified delay time + and polling interval. + + The delay in milliseconds. + The interval at which to test the constraint. + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + Returns a ConstraintExpression by appending And + to the current constraint. + + + + + Returns a ConstraintExpression by appending And + to the current constraint. + + + + + Returns a ConstraintExpression by appending Or + to the current constraint. + + + + + Class used to detect any derived constraints + that fail to set the actual value in their + Matches override. + + + + + The first constraint being combined + + + + + The second constraint being combined + + + + + Construct a BinaryConstraint from two other constraints + + The first constraint + The second constraint + + + + AndConstraint succeeds only if both members succeed. + + + + + Create an AndConstraint from two other constraints + + The first constraint + The second constraint + + + + Apply both member constraints to an actual value, succeeding + succeeding only if both of them succeed. + + The actual value + True if the constraints both succeeded + + + + Write a description for this contraint to a MessageWriter + + The MessageWriter to receive the description + + + + Write the actual value for a failing constraint test to a + MessageWriter. The default implementation simply writes + the raw value of actual, leaving it to the writer to + perform any formatting. + + The writer on which the actual value is displayed + + + + OrConstraint succeeds if either member succeeds + + + + + Create an OrConstraint from two other constraints + + The first constraint + The second constraint + + + + Apply the member constraints to an actual value, succeeding + succeeding as soon as one of them succeeds. + + The actual value + True if either constraint succeeded + + + + Write a description for this contraint to a MessageWriter + + The MessageWriter to receive the description + + + + CollectionConstraint is the abstract base class for + constraints that operate on collections. + + + + + Construct an empty CollectionConstraint + + + + + Construct a CollectionConstraint + + + + + + Determines whether the specified enumerable is empty. + + The enumerable. + + true if the specified enumerable is empty; otherwise, false. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Protected method to be implemented by derived classes + + + + + + + CollectionItemsEqualConstraint is the abstract base class for all + collection constraints that apply some notion of item equality + as a part of their operation. + + + + + Construct an empty CollectionConstraint + + + + + Construct a CollectionConstraint + + + + + + Flag the constraint to use the supplied IComparer object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied IComparer object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied Comparison object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied IEqualityComparer object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied IEqualityComparer object. + + The IComparer object to use. + Self. + + + + Compares two collection members for equality + + + + + Return a new CollectionTally for use in making tests + + The collection to be included in the tally + + + + Flag the constraint to ignore case and return self. + + + + + EmptyCollectionConstraint tests whether a collection is empty. + + + + + Check that the collection is empty + + + + + + + Write the constraint description to a MessageWriter + + + + + + UniqueItemsConstraint tests whether all the items in a + collection are unique. + + + + + Check that all items are unique. + + + + + + + Write a description of this constraint to a MessageWriter + + + + + + CollectionContainsConstraint is used to test whether a collection + contains an expected object as a member. + + + + + Construct a CollectionContainsConstraint + + + + + + Test whether the expected item is contained in the collection + + + + + + + Write a descripton of the constraint to a MessageWriter + + + + + + CollectionEquivalentCOnstraint is used to determine whether two + collections are equivalent. + + + + + Construct a CollectionEquivalentConstraint + + + + + + Test whether two collections are equivalent + + + + + + + Write a description of this constraint to a MessageWriter + + + + + + CollectionSubsetConstraint is used to determine whether + one collection is a subset of another + + + + + Construct a CollectionSubsetConstraint + + The collection that the actual value is expected to be a subset of + + + + Test whether the actual collection is a subset of + the expected collection provided. + + + + + + + Write a description of this constraint to a MessageWriter + + + + + + CollectionOrderedConstraint is used to test whether a collection is ordered. + + + + + Construct a CollectionOrderedConstraint + + + + + Modifies the constraint to use an IComparer and returns self. + + + + + Modifies the constraint to use an IComparer<T> and returns self. + + + + + Modifies the constraint to use a Comparison<T> and returns self. + + + + + Modifies the constraint to test ordering by the value of + a specified property and returns self. + + + + + Test whether the collection is ordered + + + + + + + Write a description of the constraint to a MessageWriter + + + + + + Returns the string representation of the constraint. + + + + + + If used performs a reverse comparison + + + + + Abstract base class for constraints that compare values to + determine if one is greater than, equal to or less than + the other. + + + + + The value against which a comparison is to be made + + + + + If true, less than returns success + + + + + if true, equal returns success + + + + + if true, greater than returns success + + + + + The predicate used as a part of the description + + + + + ComparisonAdapter to be used in making the comparison + + + + + Initializes a new instance of the class. + + The value against which to make a comparison. + if set to true less succeeds. + if set to true equal succeeds. + if set to true greater succeeds. + String used in describing the constraint. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Write the constraint description to a MessageWriter + + The writer on which the description is displayed + + + + Modifies the constraint to use an IComparer and returns self + + + + + Modifies the constraint to use an IComparer<T> and returns self + + + + + Modifies the constraint to use a Comparison<T> and returns self + + + + + Tests whether a value is greater than the value supplied to its constructor + + + + + Initializes a new instance of the class. + + The expected value. + + + + Tests whether a value is greater than or equal to the value supplied to its constructor + + + + + Initializes a new instance of the class. + + The expected value. + + + + Tests whether a value is less than the value supplied to its constructor + + + + + Initializes a new instance of the class. + + The expected value. + + + + Tests whether a value is less than or equal to the value supplied to its constructor + + + + + Initializes a new instance of the class. + + The expected value. + + + + Delegate used to delay evaluation of the actual value + to be used in evaluating a constraint + + + + + ConstraintBuilder maintains the stacks that are used in + processing a ConstraintExpression. An OperatorStack + is used to hold operators that are waiting for their + operands to be reognized. a ConstraintStack holds + input constraints as well as the results of each + operator applied. + + + + + Initializes a new instance of the class. + + + + + Appends the specified operator to the expression by first + reducing the operator stack and then pushing the new + operator on the stack. + + The operator to push. + + + + Appends the specified constraint to the expresson by pushing + it on the constraint stack. + + The constraint to push. + + + + Sets the top operator right context. + + The right context. + + + + Reduces the operator stack until the topmost item + precedence is greater than or equal to the target precedence. + + The target precedence. + + + + Resolves this instance, returning a Constraint. If the builder + is not currently in a resolvable state, an exception is thrown. + + The resolved constraint + + + + Gets a value indicating whether this instance is resolvable. + + + true if this instance is resolvable; otherwise, false. + + + + + OperatorStack is a type-safe stack for holding ConstraintOperators + + + + + Initializes a new instance of the class. + + The builder. + + + + Pushes the specified operator onto the stack. + + The op. + + + + Pops the topmost operator from the stack. + + + + + + Gets a value indicating whether this is empty. + + true if empty; otherwise, false. + + + + Gets the topmost operator without modifying the stack. + + The top. + + + + ConstraintStack is a type-safe stack for holding Constraints + + + + + Initializes a new instance of the class. + + The builder. + + + + Pushes the specified constraint. As a side effect, + the constraint's builder field is set to the + ConstraintBuilder owning this stack. + + The constraint. + + + + Pops this topmost constrait from the stack. + As a side effect, the constraint's builder + field is set to null. + + + + + + Gets a value indicating whether this is empty. + + true if empty; otherwise, false. + + + + Gets the topmost constraint without modifying the stack. + + The topmost constraint + + + + EmptyConstraint tests a whether a string or collection is empty, + postponing the decision about which test is applied until the + type of the actual argument is known. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Write the constraint description to a MessageWriter + + The writer on which the description is displayed + + + + EqualConstraint is able to compare an actual value with the + expected value provided in its constructor. Two objects are + considered equal if both are null, or if both have the same + value. NUnit has special semantics for some object types. + + + + + If true, strings in error messages will be clipped + + + + + NUnitEqualityComparer used to test equality. + + + + + Initializes a new instance of the class. + + The expected value. + + + + Flag the constraint to use a tolerance when determining equality. + + Tolerance value to be used + Self. + + + + Flag the constraint to use the supplied IComparer object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied IComparer object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied IComparer object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied Comparison object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied IEqualityComparer object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied IEqualityComparer object. + + The IComparer object to use. + Self. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Write a failure message. Overridden to provide custom + failure messages for EqualConstraint. + + The MessageWriter to write to + + + + Write description of this constraint + + The MessageWriter to write to + + + + Display the failure information for two collections that did not match. + + The MessageWriter on which to display + The expected collection. + The actual collection + The depth of this failure in a set of nested collections + + + + Displays a single line showing the types and sizes of the expected + and actual collections or arrays. If both are identical, the value is + only shown once. + + The MessageWriter on which to display + The expected collection or array + The actual collection or array + The indentation level for the message line + + + + Displays a single line showing the point in the expected and actual + arrays at which the comparison failed. If the arrays have different + structures or dimensions, both values are shown. + + The MessageWriter on which to display + The expected array + The actual array + Index of the failure point in the underlying collections + The indentation level for the message line + + + + Flag the constraint to ignore case and return self. + + + + + Flag the constraint to suppress string clipping + and return self. + + + + + Flag the constraint to compare arrays as collections + and return self. + + + + + Switches the .Within() modifier to interpret its tolerance as + a distance in representable values (see remarks). + + Self. + + Ulp stands for "unit in the last place" and describes the minimum + amount a given value can change. For any integers, an ulp is 1 whole + digit. For floating point values, the accuracy of which is better + for smaller numbers and worse for larger numbers, an ulp depends + on the size of the number. Using ulps for comparison of floating + point results instead of fixed tolerances is safer because it will + automatically compensate for the added inaccuracy of larger numbers. + + + + + Switches the .Within() modifier to interpret its tolerance as + a percentage that the actual values is allowed to deviate from + the expected value. + + Self + + + + Causes the tolerance to be interpreted as a TimeSpan in days. + + Self + + + + Causes the tolerance to be interpreted as a TimeSpan in hours. + + Self + + + + Causes the tolerance to be interpreted as a TimeSpan in minutes. + + Self + + + + Causes the tolerance to be interpreted as a TimeSpan in seconds. + + Self + + + + Causes the tolerance to be interpreted as a TimeSpan in milliseconds. + + Self + + + + Causes the tolerance to be interpreted as a TimeSpan in clock ticks. + + Self + + + + SameAsConstraint tests whether an object is identical to + the object passed to its constructor + + + + + Initializes a new instance of the class. + + The expected object. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Write the constraint description to a MessageWriter + + The writer on which the description is displayed + + + + StringConstraint is the abstract base for constraints + that operate on strings. It supports the IgnoreCase + modifier for string operations. + + + + + The expected value + + + + + Indicates whether tests should be case-insensitive + + + + + Constructs a StringConstraint given an expected value + + The expected value + + + + Modify the constraint to ignore case in matching. + + + + + EmptyStringConstraint tests whether a string is empty. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Write the constraint description to a MessageWriter + + The writer on which the description is displayed + + + + NullEmptyStringConstraint tests whether a string is either null or empty. + + + + + Constructs a new NullOrEmptyStringConstraint + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Write the constraint description to a MessageWriter + + The writer on which the description is displayed + + + + SubstringConstraint can test whether a string contains + the expected substring. + + + + + Initializes a new instance of the class. + + The expected. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Write the constraint description to a MessageWriter + + The writer on which the description is displayed + + + + StartsWithConstraint can test whether a string starts + with an expected substring. + + + + + Initializes a new instance of the class. + + The expected string + + + + Test whether the constraint is matched by the actual value. + This is a template method, which calls the IsMatch method + of the derived class. + + + + + + + Write the constraint description to a MessageWriter + + The writer on which the description is displayed + + + + EndsWithConstraint can test whether a string ends + with an expected substring. + + + + + Initializes a new instance of the class. + + The expected string + + + + Test whether the constraint is matched by the actual value. + This is a template method, which calls the IsMatch method + of the derived class. + + + + + + + Write the constraint description to a MessageWriter + + The writer on which the description is displayed + + + + RegexConstraint can test whether a string matches + the pattern provided. + + + + + Initializes a new instance of the class. + + The pattern. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Write the constraint description to a MessageWriter + + The writer on which the description is displayed + + + + TypeConstraint is the abstract base for constraints + that take a Type as their expected value. + + + + + The expected Type used by the constraint + + + + + Construct a TypeConstraint for a given Type + + + + + + Write the actual value for a failing constraint test to a + MessageWriter. TypeConstraints override this method to write + the name of the type. + + The writer on which the actual value is displayed + + + + ExactTypeConstraint is used to test that an object + is of the exact type provided in the constructor + + + + + Construct an ExactTypeConstraint for a given Type + + The expected Type. + + + + Test that an object is of the exact type specified + + The actual value. + True if the tested object is of the exact type provided, otherwise false. + + + + Write the description of this constraint to a MessageWriter + + The MessageWriter to use + + + + InstanceOfTypeConstraint is used to test that an object + is of the same type provided or derived from it. + + + + + Construct an InstanceOfTypeConstraint for the type provided + + The expected Type + + + + Test whether an object is of the specified type or a derived type + + The object to be tested + True if the object is of the provided type or derives from it, otherwise false. + + + + Write a description of this constraint to a MessageWriter + + The MessageWriter to use + + + + AssignableFromConstraint is used to test that an object + can be assigned from a given Type. + + + + + Construct an AssignableFromConstraint for the type provided + + + + + + Test whether an object can be assigned from the specified type + + The object to be tested + True if the object can be assigned a value of the expected Type, otherwise false. + + + + Write a description of this constraint to a MessageWriter + + The MessageWriter to use + + + + AssignableToConstraint is used to test that an object + can be assigned to a given Type. + + + + + Construct an AssignableToConstraint for the type provided + + + + + + Test whether an object can be assigned to the specified type + + The object to be tested + True if the object can be assigned a value of the expected Type, otherwise false. + + + + Write a description of this constraint to a MessageWriter + + The MessageWriter to use + + + + ContainsConstraint tests a whether a string contains a substring + or a collection contains an object. It postpones the decision of + which test to use until the type of the actual argument is known. + This allows testing whether a string is contained in a collection + or as a substring of another string using the same syntax. + + + + + Initializes a new instance of the class. + + The expected. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Write the constraint description to a MessageWriter + + The writer on which the description is displayed + + + + Flag the constraint to ignore case and return self. + + + + + PropertyExistsConstraint tests that a named property + exists on the object provided through Match. + + Originally, PropertyConstraint provided this feature + in addition to making optional tests on the vaue + of the property. The two constraints are now separate. + + + + + Initializes a new instance of the class. + + The name of the property. + + + + Test whether the property exists for a given object + + The object to be tested + True for success, false for failure + + + + Write the constraint description to a MessageWriter + + The writer on which the description is displayed + + + + Write the actual value for a failing constraint test to a + MessageWriter. + + The writer on which the actual value is displayed + + + + Returns the string representation of the constraint. + + + + + + PropertyConstraint extracts a named property and uses + its value as the actual value for a chained constraint. + + + + + Abstract base class used for prefixes + + + + + The base constraint + + + + + Construct given a base constraint + + + + + + Initializes a new instance of the class. + + The name. + The constraint to apply to the property. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Write the constraint description to a MessageWriter + + The writer on which the description is displayed + + + + Write the actual value for a failing constraint test to a + MessageWriter. The default implementation simply writes + the raw value of actual, leaving it to the writer to + perform any formatting. + + The writer on which the actual value is displayed + + + + Returns the string representation of the constraint. + + + + + + NotConstraint negates the effect of some other constraint + + + + + Initializes a new instance of the class. + + The base constraint to be negated. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for if the base constraint fails, false if it succeeds + + + + Write the constraint description to a MessageWriter + + The writer on which the description is displayed + + + + Write the actual value for a failing constraint test to a MessageWriter. + + The writer on which the actual value is displayed + + + + AllItemsConstraint applies another constraint to each + item in a collection, succeeding if they all succeed. + + + + + Construct an AllItemsConstraint on top of an existing constraint + + + + + + Apply the item constraint to each item in the collection, + failing if any item fails. + + + + + + + Write a description of this constraint to a MessageWriter + + + + + + SomeItemsConstraint applies another constraint to each + item in a collection, succeeding if any of them succeeds. + + + + + Construct a SomeItemsConstraint on top of an existing constraint + + + + + + Apply the item constraint to each item in the collection, + succeeding if any item succeeds. + + + + + + + Write a description of this constraint to a MessageWriter + + + + + + NoItemConstraint applies another constraint to each + item in a collection, failing if any of them succeeds. + + + + + Construct a SomeItemsConstraint on top of an existing constraint + + + + + + Apply the item constraint to each item in the collection, + failing if any item fails. + + + + + + + Write a description of this constraint to a MessageWriter + + + + + + The Numerics class contains common operations on numeric values. + + + + + Checks the type of the object, returning true if + the object is a numeric type. + + The object to check + true if the object is a numeric type + + + + Checks the type of the object, returning true if + the object is a floating point numeric type. + + The object to check + true if the object is a floating point numeric type + + + + Checks the type of the object, returning true if + the object is a fixed point numeric type. + + The object to check + true if the object is a fixed point numeric type + + + + Test two numeric values for equality, performing the usual numeric + conversions and using a provided or default tolerance. If the tolerance + provided is Empty, this method may set it to a default tolerance. + + The expected value + The actual value + A reference to the tolerance in effect + True if the values are equal + + + + Compare two numeric values, performing the usual numeric conversions. + + The expected value + The actual value + The relationship of the values to each other + + + + MessageWriter is the abstract base for classes that write + constraint descriptions and messages in some form. The + class has separate methods for writing various components + of a message, allowing implementations to tailor the + presentation as needed. + + + + + Construct a MessageWriter given a culture + + + + + Method to write single line message with optional args, usually + written to precede the general failure message. + + The message to be written + Any arguments used in formatting the message + + + + Method to write single line message with optional args, usually + written to precede the general failure message, at a givel + indentation level. + + The indentation level of the message + The message to be written + Any arguments used in formatting the message + + + + Display Expected and Actual lines for a constraint. This + is called by MessageWriter's default implementation of + WriteMessageTo and provides the generic two-line display. + + The constraint that failed + + + + Display Expected and Actual lines for given values. This + method may be called by constraints that need more control over + the display of actual and expected values than is provided + by the default implementation. + + The expected value + The actual value causing the failure + + + + Display Expected and Actual lines for given values, including + a tolerance value on the Expected line. + + The expected value + The actual value causing the failure + The tolerance within which the test was made + + + + Display the expected and actual string values on separate lines. + If the mismatch parameter is >=0, an additional line is displayed + line containing a caret that points to the mismatch point. + + The expected string value + The actual string value + The point at which the strings don't match or -1 + If true, case is ignored in locating the point where the strings differ + If true, the strings should be clipped to fit the line + + + + Writes the text for a connector. + + The connector. + + + + Writes the text for a predicate. + + The predicate. + + + + Writes the text for an expected value. + + The expected value. + + + + Writes the text for a modifier + + The modifier. + + + + Writes the text for an actual value. + + The actual value. + + + + Writes the text for a generalized value. + + The value. + + + + Writes the text for a collection value, + starting at a particular point, to a max length + + The collection containing elements to write. + The starting point of the elements to write + The maximum number of elements to write + + + + Abstract method to get the max line length + + + + + Static methods used in creating messages + + + + + Static string used when strings are clipped + + + + + Returns the representation of a type as used in NUnitLite. + This is the same as Type.ToString() except for arrays, + which are displayed with their declared sizes. + + + + + + + Converts any control characters in a string + to their escaped representation. + + The string to be converted + The converted string + + + + Return the a string representation for a set of indices into an array + + Array of indices for which a string is needed + + + + Get an array of indices representing the point in a collection or + array corresponding to a single int index into the collection. + + The collection to which the indices apply + Index in the collection + Array of indices + + + + Clip a string to a given length, starting at a particular offset, returning the clipped + string with ellipses representing the removed parts + + The string to be clipped + The maximum permitted length of the result string + The point at which to start clipping + The clipped string + + + + Clip the expected and actual strings in a coordinated fashion, + so that they may be displayed together. + + + + + + + + + Shows the position two strings start to differ. Comparison + starts at the start index. + + The expected string + The actual string + The index in the strings at which comparison should start + Boolean indicating whether case should be ignored + -1 if no mismatch found, or the index where mismatch found + + + + PathConstraint serves as the abstract base of constraints + that operate on paths and provides several helper methods. + + + + + The expected path used in the constraint + + + + + Flag indicating whether a caseInsensitive comparison should be made + + + + + Construct a PathConstraint for a give expected path + + The expected path + + + + Returns the string representation of this constraint + + + + + Canonicalize the provided path + + + The path in standardized form + + + + Test whether two paths are the same + + The first path + The second path + + + + + Test whether one path is the same as or under another path + + The first path - supposed to be the parent path + The second path - supposed to be the child path + + + + + Modifies the current instance to be case-insensitve + and returns it. + + + + + Modifies the current instance to be case-sensitve + and returns it. + + + + + Summary description for SamePathConstraint. + + + + + Initializes a new instance of the class. + + The expected path + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Write the constraint description to a MessageWriter + + The writer on which the description is displayed + + + + SamePathOrUnderConstraint tests that one path is under another + + + + + Initializes a new instance of the class. + + The expected path + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Write the constraint description to a MessageWriter + + The writer on which the description is displayed + + + + EmptyDirectoryConstraint is used to test that a directory is empty + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Write the constraint description to a MessageWriter + + The writer on which the description is displayed + + + + Write the actual value for a failing constraint test to a + MessageWriter. The default implementation simply writes + the raw value of actual, leaving it to the writer to + perform any formatting. + + The writer on which the actual value is displayed + + + + SubDirectoryConstraint is used to test that one directory is a subdirectory of another. + + + + + Initializes a new instance of the class. + + The dir info. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Write the constraint description to a MessageWriter + + The writer on which the description is displayed + + + + Builds a list of DirectoryInfo objects, recursing where necessary + + directory to recurse + list of DirectoryInfo objects from the top level + + + + private method to determine whether a directory is within the path + + top-level directory to search + directory to search for + true if found, false if not + + + + Method to compare two DirectoryInfo objects + + first directory to compare + second directory to compare + true if equivalent, false if not + + + + ThrowsConstraint is used to test the exception thrown by + a delegate by applying a constraint to it. + + + + + Initializes a new instance of the class, + using a constraint to be applied to the exception. + + A constraint to apply to the caught exception. + + + + Executes the code of the delegate and captures any exception. + If a non-null base constraint was provided, it applies that + constraint to the exception. + + A delegate representing the code to be tested + True if an exception is thrown and the constraint succeeds, otherwise false + + + + Converts an ActualValueDelegate to a TestDelegate + before calling the primary overload. + + + + + + + Write the constraint description to a MessageWriter + + The writer on which the description is displayed + + + + Write the actual value for a failing constraint test to a + MessageWriter. The default implementation simply writes + the raw value of actual, leaving it to the writer to + perform any formatting. + + The writer on which the actual value is displayed + + + + Returns the string representation of this constraint + + + + + Get the actual exception thrown - used by Assert.Throws. + + + + + ThrowsNothingConstraint tests that a delegate does not + throw an exception. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True if no exception is thrown, otherwise false + + + + Write the constraint description to a MessageWriter + + The writer on which the description is displayed + + + + Write the actual value for a failing constraint test to a + MessageWriter. The default implementation simply writes + the raw value of actual, leaving it to the writer to + perform any formatting. + + The writer on which the actual value is displayed + + + + RangeConstraint tests whethe two values are within a + specified range. + + + + + Initializes a new instance of the class. + + From. + To. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Write the constraint description to a MessageWriter + + The writer on which the description is displayed + + + + Modifies the constraint to use an IComparer and returns self. + + + + + Modifies the constraint to use an IComparer<T> and returns self. + + + + + Modifies the constraint to use a Comparison<T> and returns self. + + + + + Helper class with properties and methods that supply + a number of constraints used in Asserts. + + + + + Returns a new PropertyConstraintExpression, which will either + test for the existence of the named property on the object + being tested or apply any following constraint to that property. + + + + + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + + + + + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + + + + + Returns a constraint that tests two items for equality + + + + + Returns a constraint that tests that two references are the same object + + + + + Returns a constraint that tests whether the + actual value is greater than the suppled argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the suppled argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the suppled argument + + + + + Returns a constraint that tests whether the + actual value is less than the suppled argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the suppled argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the suppled argument + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a collection containing the same elements as the + collection supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a subset of the collection supplied as an argument. + + + + + Returns a new CollectionContainsConstraint checking for the + presence of a particular object in the collection. + + + + + Returns a new CollectionContainsConstraint checking for the + presence of a particular object in the collection. + + + + + Returns a new ContainsConstraint. This constraint + will, in turn, make use of the appropriate second-level + constraint, depending on the type of the actual argument. + This overload is only used if the item sought is a string, + since any other type implies that we are looking for a + collection member. + + + + + Returns a constraint that succeeds if the actual + value contains the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value contains the substring supplied as an argument. + + + + + Returns a constraint that fails if the actual + value contains the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that fails if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that fails if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the Regex pattern supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the Regex pattern supplied as an argument. + + + + + Returns a constraint that fails if the actual + value matches the pattern supplied as an argument. + + + + + Returns a constraint that tests whether the path provided + is the same as an expected path after canonicalization. + + + + + Returns a constraint that tests whether the path provided + is the same path or under an expected path after canonicalization. + + + + + Returns a constraint that tests whether the actual value falls + within a specified range. + + + + + Returns a ConstraintExpression that negates any + following constraint. + + + + + Returns a ConstraintExpression that negates any + following constraint. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them succeed. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if at least one of them succeeds. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them fail. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Length property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Count property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Message property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the InnerException property of the object being tested. + + + + + Returns a constraint that tests for null + + + + + Returns a constraint that tests for True + + + + + Returns a constraint that tests for False + + + + + Returns a constraint that tests for NaN + + + + + Returns a constraint that tests for empty + + + + + Returns a constraint that tests whether a collection + contains all unique items. + + + + + Returns a constraint that tests whether an object graph is serializable in binary format. + + + + + Returns a constraint that tests whether an object graph is serializable in xml format. + + + + + Returns a constraint that tests whether a collection is ordered + + + + + The ConstraintOperator class is used internally by a + ConstraintBuilder to represent an operator that + modifies or combines constraints. + + Constraint operators use left and right precedence + values to determine whether the top operator on the + stack should be reduced before pushing a new operator. + + + + + The precedence value used when the operator + is about to be pushed to the stack. + + + + + The precedence value used when the operator + is on the top of the stack. + + + + + Reduce produces a constraint from the operator and + any arguments. It takes the arguments from the constraint + stack and pushes the resulting constraint on it. + + + + + + The syntax element preceding this operator + + + + + The syntax element folowing this operator + + + + + The precedence value used when the operator + is about to be pushed to the stack. + + + + + The precedence value used when the operator + is on the top of the stack. + + + + + PrefixOperator takes a single constraint and modifies + it's action in some way. + + + + + Reduce produces a constraint from the operator and + any arguments. It takes the arguments from the constraint + stack and pushes the resulting constraint on it. + + + + + + Returns the constraint created by applying this + prefix to another constraint. + + + + + + + Negates the test of the constraint it wraps. + + + + + Constructs a new NotOperator + + + + + Returns a NotConstraint applied to its argument. + + + + + Abstract base for operators that indicate how to + apply a constraint to items in a collection. + + + + + Constructs a CollectionOperator + + + + + Represents a constraint that succeeds if all the + members of a collection match a base constraint. + + + + + Returns a constraint that will apply the argument + to the members of a collection, succeeding if + they all succeed. + + + + + Represents a constraint that succeeds if any of the + members of a collection match a base constraint. + + + + + Returns a constraint that will apply the argument + to the members of a collection, succeeding if + any of them succeed. + + + + + Represents a constraint that succeeds if none of the + members of a collection match a base constraint. + + + + + Returns a constraint that will apply the argument + to the members of a collection, succeeding if + none of them succeed. + + + + + Represents a constraint that simply wraps the + constraint provided as an argument, without any + further functionality, but which modifes the + order of evaluation because of its precedence. + + + + + Constructor for the WithOperator + + + + + Returns a constraint that wraps its argument + + + + + Abstract base class for operators that are able to reduce to a + constraint whether or not another syntactic element follows. + + + + + Operator used to test for the presence of a named Property + on an object and optionally apply further tests to the + value of that property. + + + + + Constructs a PropOperator for a particular named property + + + + + Reduce produces a constraint from the operator and + any arguments. It takes the arguments from the constraint + stack and pushes the resulting constraint on it. + + + + + + Gets the name of the property to which the operator applies + + + + + Operator that tests for the presence of a particular attribute + on a type and optionally applies further tests to the attribute. + + + + + Construct an AttributeOperator for a particular Type + + The Type of attribute tested + + + + Reduce produces a constraint from the operator and + any arguments. It takes the arguments from the constraint + stack and pushes the resulting constraint on it. + + + + + Operator that tests that an exception is thrown and + optionally applies further tests to the exception. + + + + + Construct a ThrowsOperator + + + + + Reduce produces a constraint from the operator and + any arguments. It takes the arguments from the constraint + stack and pushes the resulting constraint on it. + + + + + Abstract base class for all binary operators + + + + + Reduce produces a constraint from the operator and + any arguments. It takes the arguments from the constraint + stack and pushes the resulting constraint on it. + + + + + + Abstract method that produces a constraint by applying + the operator to its left and right constraint arguments. + + + + + Gets the left precedence of the operator + + + + + Gets the right precedence of the operator + + + + + Operator that requires both it's arguments to succeed + + + + + Construct an AndOperator + + + + + Apply the operator to produce an AndConstraint + + + + + Operator that requires at least one of it's arguments to succeed + + + + + Construct an OrOperator + + + + + Apply the operator to produce an OrConstraint + + + + + ConstraintExpression represents a compound constraint in the + process of being constructed from a series of syntactic elements. + + Individual elements are appended to the expression as they are + reognized. Once an actual Constraint is appended, the expression + returns a resolvable Constraint. + + + + + ConstraintExpressionBase is the abstract base class for the + generated ConstraintExpression class, which represents a + compound constraint in the process of being constructed + from a series of syntactic elements. + + NOTE: ConstraintExpressionBase is aware of some of its + derived classes, which is an apparent violation of + encapsulation. Ideally, these classes would be a + single class, but they must be separated in order to + allow parts to be generated under .NET 1.x and to + provide proper user feedback in syntactically + aware IDEs. + + + + + The ConstraintBuilder holding the elements recognized so far + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the + class passing in a ConstraintBuilder, which may be pre-populated. + + The builder. + + + + Returns a string representation of the expression as it + currently stands. This should only be used for testing, + since it has the side-effect of resolving the expression. + + + + + + Appends an operator to the expression and returns the + resulting expression itself. + + + + + Appends a self-resolving operator to the expression and + returns a new ResolvableConstraintExpression. + + + + + Appends a constraint to the expression and returns that + constraint, which is associated with the current state + of the expression being built. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the + class passing in a ConstraintBuilder, which may be pre-populated. + + The builder. + + + + Returns a new PropertyConstraintExpression, which will either + test for the existence of the named property on the object + being tested or apply any following constraint to that property. + + + + + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + + + + + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + + + + + Returns the constraint provided as an argument - used to allow custom + custom constraints to easily participate in the syntax. + + + + + Returns the constraint provided as an argument - used to allow custom + custom constraints to easily participate in the syntax. + + + + + Returns a constraint that tests two items for equality + + + + + Returns a constraint that tests that two references are the same object + + + + + Returns a constraint that tests whether the + actual value is greater than the suppled argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the suppled argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the suppled argument + + + + + Returns a constraint that tests whether the + actual value is less than the suppled argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the suppled argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the suppled argument + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a collection containing the same elements as the + collection supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a subset of the collection supplied as an argument. + + + + + Returns a new CollectionContainsConstraint checking for the + presence of a particular object in the collection. + + + + + Returns a new CollectionContainsConstraint checking for the + presence of a particular object in the collection. + + + + + Returns a new ContainsConstraint. This constraint + will, in turn, make use of the appropriate second-level + constraint, depending on the type of the actual argument. + This overload is only used if the item sought is a string, + since any other type implies that we are looking for a + collection member. + + + + + Returns a constraint that succeeds if the actual + value contains the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value contains the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the Regex pattern supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the Regex pattern supplied as an argument. + + + + + Returns a constraint that tests whether the path provided + is the same as an expected path after canonicalization. + + + + + Returns a constraint that tests whether the path provided + is the same path or under an expected path after canonicalization. + + + + + Returns a constraint that tests whether the actual value falls + within a specified range. + + + + + Returns a ConstraintExpression that negates any + following constraint. + + + + + Returns a ConstraintExpression that negates any + following constraint. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them succeed. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if at least one of them succeeds. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them fail. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Length property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Count property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Message property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the InnerException property of the object being tested. + + + + + With is currently a NOP - reserved for future use. + + + + + Returns a constraint that tests for null + + + + + Returns a constraint that tests for True + + + + + Returns a constraint that tests for False + + + + + Returns a constraint that tests for NaN + + + + + Returns a constraint that tests for empty + + + + + Returns a constraint that tests whether a collection + contains all unique items. + + + + + Returns a constraint that tests whether an object graph is serializable in binary format. + + + + + Returns a constraint that tests whether an object graph is serializable in xml format. + + + + + Returns a constraint that tests whether a collection is ordered + + + + + BinarySerializableConstraint tests whether + an object is serializable in binary format. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Write the constraint description to a MessageWriter + + The writer on which the description is displayed + + + + Write the actual value for a failing constraint test to a + MessageWriter. The default implementation simply writes + the raw value of actual, leaving it to the writer to + perform any formatting. + + The writer on which the actual value is displayed + + + + Returns the string representation + + + + + BinarySerializableConstraint tests whether + an object is serializable in binary format. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Write the constraint description to a MessageWriter + + The writer on which the description is displayed + + + + Write the actual value for a failing constraint test to a + MessageWriter. The default implementation simply writes + the raw value of actual, leaving it to the writer to + perform any formatting. + + The writer on which the actual value is displayed + + + + Returns the string representation of this constraint + + + + + BasicConstraint is the abstract base for constraints that + perform a simple comparison to a constant value. + + + + + Initializes a new instance of the class. + + The expected. + The description. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Write the constraint description to a MessageWriter + + The writer on which the description is displayed + + + + NullConstraint tests that the actual value is null + + + + + Initializes a new instance of the class. + + + + + TrueConstraint tests that the actual value is true + + + + + Initializes a new instance of the class. + + + + + FalseConstraint tests that the actual value is false + + + + + Initializes a new instance of the class. + + + + + NaNConstraint tests that the actual value is a double or float NaN + + + + + Test that the actual value is an NaN + + + + + + + Write the constraint description to a specified writer + + + + + + AttributeExistsConstraint tests for the presence of a + specified attribute on a Type. + + + + + Constructs an AttributeExistsConstraint for a specific attribute Type + + + + + + Tests whether the object provides the expected attribute. + + A Type, MethodInfo, or other ICustomAttributeProvider + True if the expected attribute is present, otherwise false + + + + Writes the description of the constraint to the specified writer + + + + + AttributeConstraint tests that a specified attribute is present + on a Type or other provider and that the value of the attribute + satisfies some other constraint. + + + + + Constructs an AttributeConstraint for a specified attriute + Type and base constraint. + + + + + + + Determines whether the Type or other provider has the + expected attribute and if its value matches the + additional constraint specified. + + + + + Writes a description of the attribute to the specified writer. + + + + + Writes the actual value supplied to the specified writer. + + + + + Returns a string representation of the constraint. + + + + + ResolvableConstraintExpression is used to represent a compound + constraint being constructed at a point where the last operator + may either terminate the expression or may have additional + qualifying constraints added to it. + + It is used, for example, for a Property element or for + an Exception element, either of which may be optionally + followed by constraints that apply to the property or + exception. + + + + + Create a new instance of ResolvableConstraintExpression + + + + + Create a new instance of ResolvableConstraintExpression, + passing in a pre-populated ConstraintBuilder. + + + + + Resolve the current expression to a Constraint + + + + + Appends an And Operator to the expression + + + + + Appends an Or operator to the expression. + + + + + Applies a delay to the match so that a match can be evaluated in the future. + + + + + Creates a new DelayedConstraint + + The inner constraint two decorate + The time interval after which the match is performed + If the value of is less than 0 + + + + Creates a new DelayedConstraint + + The inner constraint two decorate + The time interval after which the match is performed + The time interval used for polling + If the value of is less than 0 + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for if the base constraint fails, false if it succeeds + + + + Test whether the constraint is satisfied by a delegate + + The delegate whose value is to be tested + True for if the base constraint fails, false if it succeeds + + + + Test whether the constraint is satisfied by a given reference. + Overridden to wait for the specified delay period before + calling the base constraint with the dereferenced value. + + A reference to the value to be tested + True for success, false for failure + + + + Write the constraint description to a MessageWriter + + The writer on which the description is displayed + + + + Write the actual value for a failing constraint test to a MessageWriter. + + The writer on which the actual value is displayed + + + + Returns the string representation of the constraint. + + + + Helper routines for working with floating point numbers + + + The floating point comparison code is based on this excellent article: + http://www.cygnus-software.com/papers/comparingfloats/comparingfloats.htm + + + "ULP" means Unit in the Last Place and in the context of this library refers to + the distance between two adjacent floating point numbers. IEEE floating point + numbers can only represent a finite subset of natural numbers, with greater + accuracy for smaller numbers and lower accuracy for very large numbers. + + + If a comparison is allowed "2 ulps" of deviation, that means the values are + allowed to deviate by up to 2 adjacent floating point values, which might be + as low as 0.0000001 for small numbers or as high as 10.0 for large numbers. + + + + + Compares two floating point values for equality + First floating point value to be compared + Second floating point value t be compared + + Maximum number of representable floating point values that are allowed to + be between the left and the right floating point values + + True if both numbers are equal or close to being equal + + + Floating point values can only represent a finite subset of natural numbers. + For example, the values 2.00000000 and 2.00000024 can be stored in a float, + but nothing inbetween them. + + + This comparison will count how many possible floating point values are between + the left and the right number. If the number of possible values between both + numbers is less than or equal to maxUlps, then the numbers are considered as + being equal. + + + Implementation partially follows the code outlined here: + http://www.anttirt.net/2007/08/19/proper-floating-point-comparisons/ + + + + + Compares two double precision floating point values for equality + First double precision floating point value to be compared + Second double precision floating point value t be compared + + Maximum number of representable double precision floating point values that are + allowed to be between the left and the right double precision floating point values + + True if both numbers are equal or close to being equal + + + Double precision floating point values can only represent a limited series of + natural numbers. For example, the values 2.0000000000000000 and 2.0000000000000004 + can be stored in a double, but nothing inbetween them. + + + This comparison will count how many possible double precision floating point + values are between the left and the right number. If the number of possible + values between both numbers is less than or equal to maxUlps, then the numbers + are considered as being equal. + + + Implementation partially follows the code outlined here: + http://www.anttirt.net/2007/08/19/proper-floating-point-comparisons/ + + + + + + Reinterprets the memory contents of a floating point value as an integer value + + + Floating point value whose memory contents to reinterpret + + + The memory contents of the floating point value interpreted as an integer + + + + + Reinterprets the memory contents of a double precision floating point + value as an integer value + + + Double precision floating point value whose memory contents to reinterpret + + + The memory contents of the double precision floating point value + interpreted as an integer + + + + + Reinterprets the memory contents of an integer as a floating point value + + Integer value whose memory contents to reinterpret + + The memory contents of the integer value interpreted as a floating point value + + + + + Reinterprets the memory contents of an integer value as a double precision + floating point value + + Integer whose memory contents to reinterpret + + The memory contents of the integer interpreted as a double precision + floating point value + + + + Union of a floating point variable and an integer + + + The union's value as a floating point variable + + + The union's value as an integer + + + The union's value as an unsigned integer + + + Union of a double precision floating point variable and a long + + + The union's value as a double precision floating point variable + + + The union's value as a long + + + The union's value as an unsigned long + + + + Modes in which the tolerance value for a comparison can + be interpreted. + + + + + The tolerance was created with a value, without specifying + how the value would be used. This is used to prevent setting + the mode more than once and is generally changed to Linear + upon execution of the test. + + + + + The tolerance is used as a numeric range within which + two compared values are considered to be equal. + + + + + Interprets the tolerance as the percentage by which + the two compared values my deviate from each other. + + + + + Compares two values based in their distance in + representable numbers. + + + + + The Tolerance class generalizes the notion of a tolerance + within which an equality test succeeds. Normally, it is + used with numeric types, but it can be used with any + type that supports taking a difference between two + objects and comparing that difference to a value. + + + + + Constructs a linear tolerance of a specdified amount + + + + + Constructs a tolerance given an amount and ToleranceMode + + + + + Tests that the current Tolerance is linear with a + numeric value, throwing an exception if it is not. + + + + + Returns an empty Tolerance object, equivalent to + specifying an exact match. + + + + + Gets the ToleranceMode for the current Tolerance + + + + + Gets the value of the current Tolerance instance. + + + + + Returns a new tolerance, using the current amount as a percentage. + + + + + Returns a new tolerance, using the current amount in Ulps. + + + + + Returns a new tolerance with a TimeSpan as the amount, using + the current amount as a number of days. + + + + + Returns a new tolerance with a TimeSpan as the amount, using + the current amount as a number of hours. + + + + + Returns a new tolerance with a TimeSpan as the amount, using + the current amount as a number of minutes. + + + + + Returns a new tolerance with a TimeSpan as the amount, using + the current amount as a number of seconds. + + + + + Returns a new tolerance with a TimeSpan as the amount, using + the current amount as a number of milliseconds. + + + + + Returns a new tolerance with a TimeSpan as the amount, using + the current amount as a number of clock ticks. + + + + + Returns true if the current tolerance is empty. + + + + + ComparisonAdapter class centralizes all comparisons of + values in NUnit, adapting to the use of any provided + IComparer, IComparer<T> or Comparison<T> + + + + + Returns a ComparisonAdapter that wraps an IComparer + + + + + Returns a ComparisonAdapter that wraps an IComparer<T> + + + + + Returns a ComparisonAdapter that wraps a Comparison<T> + + + + + Compares two objects + + + + + Gets the default ComparisonAdapter, which wraps an + NUnitComparer object. + + + + + Construct a ComparisonAdapter for an IComparer + + + + + Compares two objects + + + + + + + + Construct a default ComparisonAdapter + + + + + ComparisonAdapter<T> extends ComparisonAdapter and + allows use of an IComparer<T> or Comparison<T> + to actually perform the comparison. + + + + + Construct a ComparisonAdapter for an IComparer<T> + + + + + Compare a Type T to an object + + + + + Construct a ComparisonAdapter for a Comparison<T> + + + + + Compare a Type T to an object + + + + + EqualityAdapter class handles all equality comparisons + that use an IEqualityComparer, IEqualityComparer<T> + or a ComparisonAdapter. + + + + + Compares two objects, returning true if they are equal + + + + + Returns an EqualityAdapter that wraps an IComparer. + + + + + Returns an EqualityAdapter that wraps an IEqualityComparer. + + + + + Returns an EqualityAdapter that wraps an IEqualityComparer<T>. + + + + + Returns an EqualityAdapter that wraps an IComparer<T>. + + + + + Returns an EqualityAdapter that wraps a Comparison<T>. + + + + + NUnitComparer encapsulates NUnit's default behavior + in comparing two objects. + + + + + Compares two objects + + + + + + + + Returns the default NUnitComparer. + + + + + NUnitEqualityComparer encapsulates NUnit's handling of + equality tests between objects. + + + + + If true, all string comparisons will ignore case + + + + + If true, arrays will be treated as collections, allowing + those of different dimensions to be compared + + + + + If non-zero, equality comparisons within the specified + tolerance will succeed. + + + + + Comparison object used in comparisons for some constraints. + + + + + Compares two objects for equality. + + + + + Helper method to compare two arrays + + + + + Method to compare two DirectoryInfo objects + + first directory to compare + second directory to compare + true if equivalent, false if not + + + + Returns the default NUnitEqualityComparer + + + + + Gets and sets a flag indicating whether case should + be ignored in determining equality. + + + + + Gets and sets a flag indicating that arrays should be + compared as collections, without regard to their shape. + + + + + Gets and sets an external comparer to be used to + test for equality. It is applied to members of + collections, in place of NUnit's own logic. + + + + + Gets and sets a tolerance used to compare objects of + certin types. + + + + + Gets the list of failure points for the last Match performed. + + + + + Predicate constraint wraps a Predicate in a constraint, + returning success if the predicate is true. + + + + + Construct a PredicateConstraint from a predicate + + + + + Determines whether the predicate succeeds when applied + to the actual value. + + + + + Writes the description to a MessageWriter + + + + + CollectionTally counts (tallies) the number of + occurences of each object in one or more enumerations. + + + + + Construct a CollectionTally object from a comparer and a collection + + + + + Try to remove an object from the tally + + The object to remove + True if successful, false if the object was not found + + + + Try to remove a set of objects from the tally + + The objects to remove + True if successful, false if any object was not found + + + + The number of objects remaining in the tally + + + + + SetUpFixtureAttribute is used to identify a SetUpFixture + + + + + Basic Asserts on strings. + + + + + The Equals method throws an AssertionException. This is done + to make sure there is no mistake by calling this function. + + + + + + + override the default ReferenceEquals to throw an AssertionException. This + implementation makes sure there is no mistake in calling this function + as part of Assert. + + + + + + + Asserts that a string is found within another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string is found within another string. + + The expected string + The string to be examined + The message to display in case of failure + + + + Asserts that a string is found within another string. + + The expected string + The string to be examined + + + + Asserts that a string is not found within another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string is found within another string. + + The expected string + The string to be examined + The message to display in case of failure + + + + Asserts that a string is found within another string. + + The expected string + The string to be examined + + + + Asserts that a string starts with another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string starts with another string. + + The expected string + The string to be examined + The message to display in case of failure + + + + Asserts that a string starts with another string. + + The expected string + The string to be examined + + + + Asserts that a string does not start with another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string does not start with another string. + + The expected string + The string to be examined + The message to display in case of failure + + + + Asserts that a string does not start with another string. + + The expected string + The string to be examined + + + + Asserts that a string ends with another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string ends with another string. + + The expected string + The string to be examined + The message to display in case of failure + + + + Asserts that a string ends with another string. + + The expected string + The string to be examined + + + + Asserts that a string does not end with another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string does not end with another string. + + The expected string + The string to be examined + The message to display in case of failure + + + + Asserts that a string does not end with another string. + + The expected string + The string to be examined + + + + Asserts that two strings are equal, without regard to case. + + The expected string + The actual string + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that two strings are equal, without regard to case. + + The expected string + The actual string + The message to display in case of failure + + + + Asserts that two strings are equal, without regard to case. + + The expected string + The actual string + + + + Asserts that two strings are not equal, without regard to case. + + The expected string + The actual string + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that two strings are Notequal, without regard to case. + + The expected string + The actual string + The message to display in case of failure + + + + Asserts that two strings are not equal, without regard to case. + + The expected string + The actual string + + + + Asserts that a string matches an expected regular expression pattern. + + The regex pattern to be matched + The actual string + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string matches an expected regular expression pattern. + + The regex pattern to be matched + The actual string + The message to display in case of failure + + + + Asserts that a string matches an expected regular expression pattern. + + The regex pattern to be matched + The actual string + + + + Asserts that a string does not match an expected regular expression pattern. + + The regex pattern to be used + The actual string + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string does not match an expected regular expression pattern. + + The regex pattern to be used + The actual string + The message to display in case of failure + + + + Asserts that a string does not match an expected regular expression pattern. + + The regex pattern to be used + The actual string + + + + PropertyAttribute is used to attach information to a test as a name/value pair.. + + + + + Construct a PropertyAttribute with a name and string value + + The name of the property + The property value + + + + Construct a PropertyAttribute with a name and int value + + The name of the property + The property value + + + + Construct a PropertyAttribute with a name and double value + + The name of the property + The property value + + + + Constructor for derived classes that set the + property dictionary directly. + + + + + Constructor for use by derived classes that use the + name of the type as the property name. Derived classes + must ensure that the Type of the property value is + a standard type supported by the BCL. Any custom + types will cause a serialization Exception when + in the client. + + + + + Gets the property dictionary for this attribute + + + + + A set of Assert methods operationg on one or more collections + + + + + The Equals method throws an AssertionException. This is done + to make sure there is no mistake by calling this function. + + + + + + + override the default ReferenceEquals to throw an AssertionException. This + implementation makes sure there is no mistake in calling this function + as part of Assert. + + + + + + + Asserts that all items contained in collection are of the type specified by expectedType. + + IEnumerable containing objects to be considered + System.Type that all objects in collection must be instances of + + + + Asserts that all items contained in collection are of the type specified by expectedType. + + IEnumerable containing objects to be considered + System.Type that all objects in collection must be instances of + The message that will be displayed on failure + + + + Asserts that all items contained in collection are of the type specified by expectedType. + + IEnumerable containing objects to be considered + System.Type that all objects in collection must be instances of + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that all items contained in collection are not equal to null. + + IEnumerable containing objects to be considered + + + + Asserts that all items contained in collection are not equal to null. + + IEnumerable containing objects to be considered + The message that will be displayed on failure + + + + Asserts that all items contained in collection are not equal to null. + + IEnumerable of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Ensures that every object contained in collection exists within the collection + once and only once. + + IEnumerable of objects to be considered + + + + Ensures that every object contained in collection exists within the collection + once and only once. + + IEnumerable of objects to be considered + The message that will be displayed on failure + + + + Ensures that every object contained in collection exists within the collection + once and only once. + + IEnumerable of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are exactly equal. The collections must have the same count, + and contain the exact same objects in the same order. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + + + + Asserts that expected and actual are exactly equal. The collections must have the same count, + and contain the exact same objects in the same order. + If comparer is not null then it will be used to compare the objects. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The IComparer to use in comparing objects from each IEnumerable + + + + Asserts that expected and actual are exactly equal. The collections must have the same count, + and contain the exact same objects in the same order. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The message that will be displayed on failure + + + + Asserts that expected and actual are exactly equal. The collections must have the same count, + and contain the exact same objects in the same order. + If comparer is not null then it will be used to compare the objects. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The IComparer to use in comparing objects from each IEnumerable + The message that will be displayed on failure + + + + Asserts that expected and actual are exactly equal. The collections must have the same count, + and contain the exact same objects in the same order. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are exactly equal. The collections must have the same count, + and contain the exact same objects in the same order. + If comparer is not null then it will be used to compare the objects. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The IComparer to use in comparing objects from each IEnumerable + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are equivalent, containing the same objects but the match may be in any order. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + + + + Asserts that expected and actual are equivalent, containing the same objects but the match may be in any order. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The message that will be displayed on failure + + + + Asserts that expected and actual are equivalent, containing the same objects but the match may be in any order. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are not exactly equal. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + + + + Asserts that expected and actual are not exactly equal. + If comparer is not null then it will be used to compare the objects. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The IComparer to use in comparing objects from each IEnumerable + + + + Asserts that expected and actual are not exactly equal. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The message that will be displayed on failure + + + + Asserts that expected and actual are not exactly equal. + If comparer is not null then it will be used to compare the objects. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The IComparer to use in comparing objects from each IEnumerable + The message that will be displayed on failure + + + + Asserts that expected and actual are not exactly equal. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are not exactly equal. + If comparer is not null then it will be used to compare the objects. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The IComparer to use in comparing objects from each IEnumerable + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are not equivalent. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + + + + Asserts that expected and actual are not equivalent. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The message that will be displayed on failure + + + + Asserts that expected and actual are not equivalent. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that collection contains actual as an item. + + IEnumerable of objects to be considered + Object to be found within collection + + + + Asserts that collection contains actual as an item. + + IEnumerable of objects to be considered + Object to be found within collection + The message that will be displayed on failure + + + + Asserts that collection contains actual as an item. + + IEnumerable of objects to be considered + Object to be found within collection + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that collection does not contain actual as an item. + + IEnumerable of objects to be considered + Object that cannot exist within collection + + + + Asserts that collection does not contain actual as an item. + + IEnumerable of objects to be considered + Object that cannot exist within collection + The message that will be displayed on failure + + + + Asserts that collection does not contain actual as an item. + + IEnumerable of objects to be considered + Object that cannot exist within collection + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that superset is not a subject of subset. + + The IEnumerable superset to be considered + The IEnumerable subset to be considered + + + + Asserts that superset is not a subject of subset. + + The IEnumerable superset to be considered + The IEnumerable subset to be considered + The message that will be displayed on failure + + + + Asserts that superset is not a subject of subset. + + The IEnumerable superset to be considered + The IEnumerable subset to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that superset is a subset of subset. + + The IEnumerable superset to be considered + The IEnumerable subset to be considered + + + + Asserts that superset is a subset of subset. + + The IEnumerable superset to be considered + The IEnumerable subset to be considered + The message that will be displayed on failure + + + + Asserts that superset is a subset of subset. + + The IEnumerable superset to be considered + The IEnumerable subset to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Assert that an array, list or other collection is empty + + An array, list or other collection implementing IEnumerable + The message to be displayed on failure + Arguments to be used in formatting the message + + + + Assert that an array, list or other collection is empty + + An array, list or other collection implementing IEnumerable + The message to be displayed on failure + + + + Assert that an array,list or other collection is empty + + An array, list or other collection implementing IEnumerable + + + + Assert that an array, list or other collection is empty + + An array, list or other collection implementing IEnumerable + The message to be displayed on failure + Arguments to be used in formatting the message + + + + Assert that an array, list or other collection is empty + + An array, list or other collection implementing IEnumerable + The message to be displayed on failure + + + + Assert that an array,list or other collection is empty + + An array, list or other collection implementing IEnumerable + + + + Assert that an array, list or other collection is ordered + + An array, list or other collection implementing IEnumerable + The message to be displayed on failure + Arguments to be used in formatting the message + + + + Assert that an array, list or other collection is ordered + + An array, list or other collection implementing IEnumerable + The message to be displayed on failure + + + + Assert that an array, list or other collection is ordered + + An array, list or other collection implementing IEnumerable + + + + Assert that an array, list or other collection is ordered + + An array, list or other collection implementing IEnumerable + A custom comparer to perform the comparisons + The message to be displayed on failure + Arguments to be used in formatting the message + + + + Assert that an array, list or other collection is ordered + + An array, list or other collection implementing IEnumerable + A custom comparer to perform the comparisons + The message to be displayed on failure + + + + Assert that an array, list or other collection is ordered + + An array, list or other collection implementing IEnumerable + A custom comparer to perform the comparisons + + + + Summary description for FileAssert. + + + + + The Equals method throws an AssertionException. This is done + to make sure there is no mistake by calling this function. + + + + + + + override the default ReferenceEquals to throw an AssertionException. This + implementation makes sure there is no mistake in calling this function + as part of Assert. + + + + + + + We don't actually want any instances of this object, but some people + like to inherit from it to add other static methods. Hence, the + protected constructor disallows any instances of this object. + + + + + Verifies that two Streams are equal. Two Streams are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + The expected Stream + The actual Stream + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Verifies that two Streams are equal. Two Streams are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + The expected Stream + The actual Stream + The message to display if objects are not equal + + + + Verifies that two Streams are equal. Two Streams are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + The expected Stream + The actual Stream + + + + Verifies that two files are equal. Two files are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + A file containing the value that is expected + A file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Verifies that two files are equal. Two files are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + A file containing the value that is expected + A file containing the actual value + The message to display if objects are not equal + + + + Verifies that two files are equal. Two files are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + A file containing the value that is expected + A file containing the actual value + + + + Verifies that two files are equal. Two files are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + The path to a file containing the value that is expected + The path to a file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Verifies that two files are equal. Two files are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + The path to a file containing the value that is expected + The path to a file containing the actual value + The message to display if objects are not equal + + + + Verifies that two files are equal. Two files are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + The path to a file containing the value that is expected + The path to a file containing the actual value + + + + Asserts that two Streams are not equal. If they are equal + an is thrown. + + The expected Stream + The actual Stream + The message to be displayed when the two Stream are the same. + Arguments to be used in formatting the message + + + + Asserts that two Streams are not equal. If they are equal + an is thrown. + + The expected Stream + The actual Stream + The message to be displayed when the Streams are the same. + + + + Asserts that two Streams are not equal. If they are equal + an is thrown. + + The expected Stream + The actual Stream + + + + Asserts that two files are not equal. If they are equal + an is thrown. + + A file containing the value that is expected + A file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Asserts that two files are not equal. If they are equal + an is thrown. + + A file containing the value that is expected + A file containing the actual value + The message to display if objects are not equal + + + + Asserts that two files are not equal. If they are equal + an is thrown. + + A file containing the value that is expected + A file containing the actual value + + + + Asserts that two files are not equal. If they are equal + an is thrown. + + The path to a file containing the value that is expected + The path to a file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Asserts that two files are not equal. If they are equal + an is thrown. + + The path to a file containing the value that is expected + The path to a file containing the actual value + The message to display if objects are not equal + + + + Asserts that two files are not equal. If they are equal + an is thrown. + + The path to a file containing the value that is expected + The path to a file containing the actual value + + + + Attribute used to provide descriptive text about a + test case or fixture. + + + + + Construct the attribute + + Text describing the test + + + + Gets the test description + + + + + Interface implemented by a user fixture in order to + validate any expected exceptions. It is only called + for test methods marked with the ExpectedException + attribute. + + + + + Method to handle an expected exception + + The exception to be handled + + + + TextMessageWriter writes constraint descriptions and messages + in displayable form as a text stream. It tailors the display + of individual message components to form the standard message + format of NUnit assertion failure messages. + + + + + Prefix used for the expected value line of a message + + + + + Prefix used for the actual value line of a message + + + + + Length of a message prefix + + + + + Construct a TextMessageWriter + + + + + Construct a TextMessageWriter, specifying a user message + and optional formatting arguments. + + + + + + + Method to write single line message with optional args, usually + written to precede the general failure message, at a givel + indentation level. + + The indentation level of the message + The message to be written + Any arguments used in formatting the message + + + + Display Expected and Actual lines for a constraint. This + is called by MessageWriter's default implementation of + WriteMessageTo and provides the generic two-line display. + + The constraint that failed + + + + Display Expected and Actual lines for given values. This + method may be called by constraints that need more control over + the display of actual and expected values than is provided + by the default implementation. + + The expected value + The actual value causing the failure + + + + Display Expected and Actual lines for given values, including + a tolerance value on the expected line. + + The expected value + The actual value causing the failure + The tolerance within which the test was made + + + + Display the expected and actual string values on separate lines. + If the mismatch parameter is >=0, an additional line is displayed + line containing a caret that points to the mismatch point. + + The expected string value + The actual string value + The point at which the strings don't match or -1 + If true, case is ignored in string comparisons + If true, clip the strings to fit the max line length + + + + Writes the text for a connector. + + The connector. + + + + Writes the text for a predicate. + + The predicate. + + + + Write the text for a modifier. + + The modifier. + + + + Writes the text for an expected value. + + The expected value. + + + + Writes the text for an actual value. + + The actual value. + + + + Writes the text for a generalized value. + + The value. + + + + Writes the text for a collection value, + starting at a particular point, to a max length + + The collection containing elements to write. + The starting point of the elements to write + The maximum number of elements to write + + + + Write the generic 'Expected' line for a constraint + + The constraint that failed + + + + Write the generic 'Expected' line for a given value + + The expected value + + + + Write the generic 'Expected' line for a given value + and tolerance. + + The expected value + The tolerance within which the test was made + + + + Write the generic 'Actual' line for a constraint + + The constraint for which the actual value is to be written + + + + Write the generic 'Actual' line for a given value + + The actual value causing a failure + + + + Gets or sets the maximum line length for this writer + + + + + AssertionHelper is an optional base class for user tests, + allowing the use of shorter names for constraints and + asserts and avoiding conflict with the definition of + , from which it inherits much of its + behavior, in certain mock object frameworks. + + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. Works + identically to + + A Constraint to be applied + The actual value to test + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. Works + identically to + + A Constraint to be applied + The actual value to test + The message that will be displayed on failure + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. Works + identically to + + A Constraint to be applied + The actual value to test + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + A Constraint expression to be applied + An ActualValueDelegate returning the value to be tested + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + A Constraint expression to be applied + An ActualValueDelegate returning the value to be tested + The message that will be displayed on failure + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to a referenced value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + A Constraint to be applied + The actual value to test + + + + Apply a constraint to a referenced value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + A Constraint to be applied + The actual value to test + The message that will be displayed on failure + + + + Apply a constraint to a referenced value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + A Constraint to be applied + The actual value to test + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the method throws + an . Works Identically to + . + + The evaluated condition + The message to display if the condition is false + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the method throws + an . Works Identically to + . + + The evaluated condition + The message to display if the condition is false + + + + Asserts that a condition is true. If the condition is false the method throws + an . Works Identically to . + + The evaluated condition + + + + Asserts that the code represented by a delegate throws an exception + that satisfies the constraint provided. + + A TestDelegate to be executed + A ThrowsConstraint used in the test + + + + Returns a ListMapper based on a collection. + + The original collection + + + + + Abstract base for Attributes that are used to include tests + in the test run based on environmental settings. + + + + + Constructor with no included items specified, for use + with named property syntax. + + + + + Constructor taking one or more included items + + Comma-delimited list of included items + + + + Name of the item that is needed in order for + a test to run. Multiple itemss may be given, + separated by a comma. + + + + + Name of the item to be excluded. Multiple items + may be given, separated by a comma. + + + + + The reason for including or excluding the test + + + + + PlatformAttribute is used to mark a test fixture or an + individual method as applying to a particular platform only. + + + + + Constructor with no platforms specified, for use + with named property syntax. + + + + + Constructor taking one or more platforms + + Comma-deliminted list of platforms + + + + CultureAttribute is used to mark a test fixture or an + individual method as applying to a particular Culture only. + + + + + Constructor with no cultures specified, for use + with named property syntax. + + + + + Constructor taking one or more cultures + + Comma-deliminted list of cultures + + + + Summary description for SetCultureAttribute. + + + + + Construct given the name of a culture + + + + + + GlobalSettings is a place for setting default values used + by the framework in performing asserts. + + + + + Default tolerance for floating point equality + + + + + Summary description for DirectoryAssert + + + + + The Equals method throws an AssertionException. This is done + to make sure there is no mistake by calling this function. + + + + + + + override the default ReferenceEquals to throw an AssertionException. This + implementation makes sure there is no mistake in calling this function + as part of Assert. + + + + + + + We don't actually want any instances of this object, but some people + like to inherit from it to add other static methods. Hence, the + protected constructor disallows any instances of this object. + + + + + Verifies that two directories are equal. Two directories are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + A directory containing the value that is expected + A directory containing the actual value + The message to display if directories are not equal + Arguments to be used in formatting the message + + + + Verifies that two directories are equal. Two directories are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + A directory containing the value that is expected + A directory containing the actual value + The message to display if directories are not equal + + + + Verifies that two directories are equal. Two directories are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + A directory containing the value that is expected + A directory containing the actual value + + + + Verifies that two directories are equal. Two directories are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + A directory path string containing the value that is expected + A directory path string containing the actual value + The message to display if directories are not equal + Arguments to be used in formatting the message + + + + Verifies that two directories are equal. Two directories are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + A directory path string containing the value that is expected + A directory path string containing the actual value + The message to display if directories are not equal + + + + Verifies that two directories are equal. Two directories are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + A directory path string containing the value that is expected + A directory path string containing the actual value + + + + Asserts that two directories are not equal. If they are equal + an is thrown. + + A directory containing the value that is expected + A directory containing the actual value + The message to display if directories are not equal + Arguments to be used in formatting the message + + + + Asserts that two directories are not equal. If they are equal + an is thrown. + + A directory containing the value that is expected + A directory containing the actual value + The message to display if directories are not equal + + + + Asserts that two directories are not equal. If they are equal + an is thrown. + + A directory containing the value that is expected + A directory containing the actual value + + + + Asserts that two directories are not equal. If they are equal + an is thrown. + + A directory path string containing the value that is expected + A directory path string containing the actual value + The message to display if directories are equal + Arguments to be used in formatting the message + + + + Asserts that two directories are not equal. If they are equal + an is thrown. + + A directory path string containing the value that is expected + A directory path string containing the actual value + The message to display if directories are equal + + + + Asserts that two directories are not equal. If they are equal + an is thrown. + + A directory path string containing the value that is expected + A directory path string containing the actual value + + + + Asserts that the directory is empty. If it is not empty + an is thrown. + + A directory to search + The message to display if directories are not equal + Arguments to be used in formatting the message + + + + Asserts that the directory is empty. If it is not empty + an is thrown. + + A directory to search + The message to display if directories are not equal + + + + Asserts that the directory is empty. If it is not empty + an is thrown. + + A directory to search + + + + Asserts that the directory is empty. If it is not empty + an is thrown. + + A directory to search + The message to display if directories are not equal + Arguments to be used in formatting the message + + + + Asserts that the directory is empty. If it is not empty + an is thrown. + + A directory to search + The message to display if directories are not equal + + + + Asserts that the directory is empty. If it is not empty + an is thrown. + + A directory to search + + + + Asserts that the directory is not empty. If it is empty + an is thrown. + + A directory to search + The message to display if directories are not equal + Arguments to be used in formatting the message + + + + Asserts that the directory is not empty. If it is empty + an is thrown. + + A directory to search + The message to display if directories are not equal + + + + Asserts that the directory is not empty. If it is empty + an is thrown. + + A directory to search + + + + Asserts that the directory is not empty. If it is empty + an is thrown. + + A directory to search + The message to display if directories are not equal + Arguments to be used in formatting the message + + + + Asserts that the directory is not empty. If it is empty + an is thrown. + + A directory to search + The message to display if directories are not equal + + + + Asserts that the directory is not empty. If it is empty + an is thrown. + + A directory to search + + + + Asserts that path contains actual as a subdirectory or + an is thrown. + + A directory to search + sub-directory asserted to exist under directory + The message to display if directory is not within the path + Arguments to be used in formatting the message + + + + Asserts that path contains actual as a subdirectory or + an is thrown. + + A directory to search + sub-directory asserted to exist under directory + The message to display if directory is not within the path + + + + Asserts that path contains actual as a subdirectory or + an is thrown. + + A directory to search + sub-directory asserted to exist under directory + + + + Asserts that path contains actual as a subdirectory or + an is thrown. + + A directory to search + sub-directory asserted to exist under directory + The message to display if directory is not within the path + Arguments to be used in formatting the message + + + + Asserts that path contains actual as a subdirectory or + an is thrown. + + A directory to search + sub-directory asserted to exist under directory + The message to display if directory is not within the path + + + + Asserts that path contains actual as a subdirectory or + an is thrown. + + A directory to search + sub-directory asserted to exist under directory + + + + Asserts that path does not contain actual as a subdirectory or + an is thrown. + + A directory to search + sub-directory asserted to exist under directory + The message to display if directory is not within the path + Arguments to be used in formatting the message + + + + Asserts that path does not contain actual as a subdirectory or + an is thrown. + + A directory to search + sub-directory asserted to exist under directory + The message to display if directory is not within the path + + + + Asserts that path does not contain actual as a subdirectory or + an is thrown. + + A directory to search + sub-directory asserted to exist under directory + + + + Asserts that path does not contain actual as a subdirectory or + an is thrown. + + A directory to search + sub-directory asserted to exist under directory + The message to display if directory is not within the path + Arguments to be used in formatting the message + + + + Asserts that path does not contain actual as a subdirectory or + an is thrown. + + A directory to search + sub-directory asserted to exist under directory + The message to display if directory is not within the path + + + + Asserts that path does not contain actual as a subdirectory or + an is thrown. + + A directory to search + sub-directory asserted to exist under directory + + + + TestCaseAttribute is used to mark parameterized test cases + and provide them with their arguments. + + + + + The ITestCaseData interface is implemented by a class + that is able to return complete testcases for use by + a parameterized test method. + + NOTE: This interface is used in both the framework + and the core, even though that results in two different + types. However, sharing the source code guarantees that + the various implementations will be compatible and that + the core is able to reflect successfully over the + framework implementations of ITestCaseData. + + + + + Gets the argument list to be provided to the test + + + + + Gets the expected result + + + + + Gets the expected exception Type + + + + + Gets the FullName of the expected exception + + + + + Gets the name to be used for the test + + + + + Gets the description of the test + + + + + Gets a value indicating whether this is ignored. + + true if ignored; otherwise, false. + + + + Gets the ignore reason. + + The ignore reason. + + + + Construct a TestCaseAttribute with a list of arguments. + This constructor is not CLS-Compliant + + + + + + Construct a TestCaseAttribute with a single argument + + + + + + Construct a TestCaseAttribute with a two arguments + + + + + + + Construct a TestCaseAttribute with a three arguments + + + + + + + + Gets the list of arguments to a test case + + + + + Gets or sets the expected result. + + The result. + + + + Gets or sets the expected exception. + + The expected exception. + + + + Gets or sets the name the expected exception. + + The expected name of the exception. + + + + Gets or sets the expected message of the expected exception + + The expected message of the exception. + + + + Gets or sets the type of match to be performed on the expected message + + + + + Gets or sets the description. + + The description. + + + + Gets or sets the name of the test. + + The name of the test. + + + + Gets or sets the ignored status of the test + + + + + Gets or sets the ignored status of the test + + + + + Gets the ignore reason. + + The ignore reason. + + + + The TestCaseData class represents a set of arguments + and other parameter info to be used for a parameterized + test case. It provides a number of instance modifiers + for use in initializing the test case. + + Note: Instance modifiers are getters that return + the same instance after modifying it's state. + + + + + The argument list to be provided to the test + + + + + The expected result to be returned + + + + + The expected exception Type + + + + + The FullName of the expected exception + + + + + The name to be used for the test + + + + + The description of the test + + + + + A dictionary of properties, used to add information + to tests without requiring the class to change. + + + + + If true, indicates that the test case is to be ignored + + + + + The reason for ignoring a test case + + + + + Initializes a new instance of the class. + + The arguments. + + + + Initializes a new instance of the class. + + The argument. + + + + Initializes a new instance of the class. + + The first argument. + The second argument. + + + + Initializes a new instance of the class. + + The first argument. + The second argument. + The third argument. + + + + Sets the expected result for the test + + The expected result + A modified TestCaseData + + + + Sets the expected exception type for the test + + Type of the expected exception. + The modified TestCaseData instance + + + + Sets the expected exception type for the test + + FullName of the expected exception. + The modified TestCaseData instance + + + + Sets the name of the test case + + The modified TestCaseData instance + + + + Sets the description for the test case + being constructed. + + The description. + The modified TestCaseData instance. + + + + Applies a category to the test + + + + + + + Applies a named property to the test + + + + + + + + Applies a named property to the test + + + + + + + + Applies a named property to the test + + + + + + + + Ignores this TestCase. + + + + + + Ignores this TestCase, specifying the reason. + + The reason. + + + + + Gets the argument list to be provided to the test + + + + + Gets the expected result + + + + + Gets the expected exception Type + + + + + Gets the FullName of the expected exception + + + + + Gets the name to be used for the test + + + + + Gets the description of the test + + + + + Gets a value indicating whether this is ignored. + + true if ignored; otherwise, false. + + + + Gets the ignore reason. + + The ignore reason. + + + + Gets a list of categories associated with this test. + + + + + Gets the property dictionary for this test + + + + + Thrown when an assertion failed. + + + + + + + The error message that explains + the reason for the exception + The exception that caused the + current exception + + + + Serialization Constructor + + + + + Thrown when a test executes inconclusively. + + + + + The error message that explains + the reason for the exception + + + The error message that explains + the reason for the exception + The exception that caused the + current exception + + + + Serialization Constructor + + + + + Attribute used to identify a method that is + called before any tests in a fixture are run. + + + + + Attribute used to identify a method that is called after + all the tests in a fixture have run. The method is + guaranteed to be called, even if an exception is thrown. + + + + + ExplicitAttribute marks a test or test fixture so that it will + only be run if explicitly executed from the gui or command line + or if it is included by use of a filter. The test will not be + run simply because an enclosing suite is run. + + + + + Default constructor + + + + + Constructor with a reason + + The reason test is marked explicit + + + + The reason test is marked explicit + + + + + Thrown when an assertion failed. + + + + + The error message that explains + the reason for the exception + + + The error message that explains + the reason for the exception + The exception that caused the + current exception + + + + Serialization Constructor + + + + + Thrown when an assertion failed. + + + + + + + The error message that explains + the reason for the exception + The exception that caused the + current exception + + + + Serialization Constructor + + + + + Enumeration indicating how the expected message parameter is to be used + + + + Expect an exact match + + + Expect a message containing the parameter string + + + Match the regular expression provided as a parameter + + + Expect a message that starts with the parameter string + + + + ExpectedExceptionAttribute + + + + + + Constructor for a non-specific exception + + + + + Constructor for a given type of exception + + The type of the expected exception + + + + Constructor for a given exception name + + The full name of the expected exception + + + + Gets or sets the expected exception type + + + + + Gets or sets the full Type name of the expected exception + + + + + Gets or sets the expected message text + + + + + Gets or sets the user message displayed in case of failure + + + + + Gets or sets the type of match to be performed on the expected message + + + + + Gets the name of a method to be used as an exception handler + + + + + Attribute used to mark a test that is to be ignored. + Ignored tests result in a warning message when the + tests are run. + + + + + Constructs the attribute without giving a reason + for ignoring the test. + + + + + Constructs the attribute giving a reason for ignoring the test + + The reason for ignoring the test + + + + The reason for ignoring a test + + + + + Attribute used to mark a class that contains one-time SetUp + and/or TearDown methods that apply to all the tests in a + namespace or an assembly. + + + + + Attribute used to mark a static (shared in VB) property + that returns a list of tests. + + + + + Attribute used to identify a method that is called + immediately after each test is run. The method is + guaranteed to be called, even if an exception is thrown. + + + + + Adding this attribute to a method within a + class makes the method callable from the NUnit test runner. There is a property + called Description which is optional which you can provide a more detailed test + description. This class cannot be inherited. + + + + [TestFixture] + public class Fixture + { + [Test] + public void MethodToTest() + {} + + [Test(Description = "more detailed description")] + publc void TestDescriptionMethod() + {} + } + + + + + + Descriptive text for this test + + + + + [TestFixture] + public class ExampleClass + {} + + + + + Default constructor + + + + + Construct with a object[] representing a set of arguments. + In .NET 2.0, the arguments may later be separated into + type arguments and constructor arguments. + + + + + + Descriptive text for this fixture + + + + + The arguments originally provided to the attribute + + + + + Gets or sets a value indicating whether this should be ignored. + + true if ignore; otherwise, false. + + + + Gets or sets the ignore reason. May set Ignored as a side effect. + + The ignore reason. + + + + Get or set the type arguments. If not set + explicitly, any leading arguments that are + Types are taken as type arguments. + + + + + RequiredAddinAttribute may be used to indicate the names of any addins + that must be present in order to run some or all of the tests in an + assembly. If the addin is not loaded, the entire assembly is marked + as NotRunnable. + + + + + Initializes a new instance of the class. + + The required addin. + + + + Gets the name of required addin. + + The required addin name. + + + + Marks a test to use a combinatorial join of any argument data + provided. NUnit will create a test case for every combination of + the arguments provided. This can result in a large number of test + cases and so should be used judiciously. This is the default join + type, so the attribute need not be used except as documentation. + + + + + Default constructor + + + + + Marks a test to use pairwise join of any argument data provided. + NUnit will attempt too excercise every pair of argument values at + least once, using as small a number of test cases as it can. With + only two arguments, this is the same as a combinatorial join. + + + + + Default constructor + + + + + Marks a test to use a sequential join of any argument data + provided. NUnit will use arguements for each parameter in + sequence, generating test cases up to the largest number + of argument values provided and using null for any arguments + for which it runs out of values. Normally, this should be + used with the same number of arguments for each parameter. + + + + + Default constructor + + + + + Abstract base class for attributes that apply to parameters + and supply data for the parameter. + + + + + Gets the data to be provided to the specified parameter + + + + + ValuesAttribute is used to provide literal arguments for + an individual parameter of a test. + + + + + The collection of data to be returned. Must + be set by any derived attribute classes. + We use an object[] so that the individual + elements may have their type changed in GetData + if necessary. + + + + + Construct with one argument + + + + + + Construct with two arguments + + + + + + + Construct with three arguments + + + + + + + + Construct with an array of arguments + + + + + + Get the collection of values to be used as arguments + + + + + RandomAttribute is used to supply a set of random values + to a single parameter of a parameterized test. + + + + + Construct a set of doubles from 0.0 to 1.0, + specifying only the count. + + + + + + Construct a set of doubles from min to max + + + + + + + + Construct a set of ints from min to max + + + + + + + + Get the collection of values to be used as arguments + + + + + RangeAttribute is used to supply a range of values to an + individual parameter of a parameterized test. + + + + + Construct a range of ints using default step of 1 + + + + + + + Construct a range of ints specifying the step size + + + + + + + + Construct a range of longs + + + + + + + + Construct a range of doubles + + + + + + + + Construct a range of floats + + + + + + + + Helper class with properties and methods that supply + a number of constraints used in Asserts. + + + + + Returns a new PropertyConstraintExpression, which will either + test for the existence of the named property on the object + being tested or apply any following constraint to that property. + + + + + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + + + + + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + + + + + Returns a new CollectionContainsConstraint checking for the + presence of a particular object in the collection. + + + + + Returns a ConstraintExpression that negates any + following constraint. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them succeed. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if at least one of them succeeds. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them fail. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Length property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Count property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Message property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the InnerException property of the object being tested. + + + + + Helper class with properties and methods that supply + a number of constraints used in Asserts. + + + + + Returns a constraint that tests two items for equality + + + + + Returns a constraint that tests that two references are the same object + + + + + Returns a constraint that tests whether the + actual value is greater than the suppled argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the suppled argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the suppled argument + + + + + Returns a constraint that tests whether the + actual value is less than the suppled argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the suppled argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the suppled argument + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a collection containing the same elements as the + collection supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a subset of the collection supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value contains the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the Regex pattern supplied as an argument. + + + + + Returns a constraint that tests whether the path provided + is the same as an expected path after canonicalization. + + + + + Returns a constraint that tests whether the path provided + is the same path or under an expected path after canonicalization. + + + + + Returns a constraint that tests whether the actual value falls + within a specified range. + + + + + Returns a ConstraintExpression that negates any + following constraint. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them succeed. + + + + + Returns a constraint that tests for null + + + + + Returns a constraint that tests for True + + + + + Returns a constraint that tests for False + + + + + Returns a constraint that tests for NaN + + + + + Returns a constraint that tests for empty + + + + + Returns a constraint that tests whether a collection + contains all unique items. + + + + + Returns a constraint that tests whether an object graph is serializable in binary format. + + + + + Returns a constraint that tests whether an object graph is serializable in xml format. + + + + + Returns a constraint that tests whether a collection is ordered + + + + + The List class is a helper class with properties and methods + that supply a number of constraints used with lists and collections. + + + + + List.Map returns a ListMapper, which can be used to map + the original collection to another collection. + + + + + + + ListMapper is used to transform a collection used as an actual argument + producing another collection to be used in the assertion. + + + + + Construct a ListMapper based on a collection + + The collection to be transformed + + + + Produces a collection containing all the values of a property + + The collection of property values + + + + + Helper class with static methods used to supply constraints + that operate on strings. + + + + + Returns a constraint that succeeds if the actual + value contains the substring supplied as an argument. + + + + + Returns a constraint that fails if the actual + value contains the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that fails if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that fails if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the Regex pattern supplied as an argument. + + + + + Returns a constraint that fails if the actual + value matches the pattern supplied as an argument. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them succeed. + + + + + Helper class with properties and methods that supply + constraints that operate on exceptions. + + + + + Creates a constraint specifying the exact type of exception expected + + + + + Creates a constraint specifying the exact type of exception expected + + + + + Creates a constraint specifying the type of exception expected + + + + + Creates a constraint specifying the type of exception expected + + + + + Creates a constraint specifying an expected exception + + + + + Creates a constraint specifying an exception with a given InnerException + + + + + Creates a constraint specifying an expected TargetInvocationException + + + + + Creates a constraint specifying an expected TargetInvocationException + + + + + Creates a constraint specifying an expected TargetInvocationException + + + + + Creates a constraint specifying that no exception is thrown + + + + + FactoryAttribute indicates the source to be used to + provide test cases for a test method. + + + + + Construct with the name of the factory - for use with languages + that don't support params arrays. + + An array of the names of the factories that will provide data + + + + Construct with a Type and name - for use with languages + that don't support params arrays. + + The Type that will provide data + The name of the method, property or field that will provide data + + + + The name of a the method, property or fiend to be used as a source + + + + + A Type to be used as a source + + + + + ValueSourceAttribute indicates the source to be used to + provide data for one parameter of a test method. + + + + + Construct with the name of the factory - for use with languages + that don't support params arrays. + + The name of the data source to be used + + + + Construct with a Type and name - for use with languages + that don't support params arrays. + + The Type that will provide data + The name of the method, property or field that will provide data + + + + The name of a the method, property or fiend to be used as a source + + + + + A Type to be used as a source + + + + + The Iz class is a synonym for Is intended for use in VB, + which regards Is as a keyword. + + + + + WUsed on a method, marks the test with a timeout value in milliseconds. + The test will be run in a separate thread and is cancelled if the timeout + is exceeded. Used on a method or assembly, sets the default timeout + for all contained test methods. + + + + + Construct a TimeoutAttribute given a time in milliseconds + + The timeout value in milliseconds + + + + Marks a test that must run in the STA, causing it + to run in a separate thread if necessary. + + On methods, you may also use STAThreadAttribute + to serve the same purpose. + + + + + Construct a RequiresSTAAttribute + + + + + Marks a test that must run in the MTA, causing it + to run in a separate thread if necessary. + + On methods, you may also use MTAThreadAttribute + to serve the same purpose. + + + + + Construct a RequiresMTAAttribute + + + + + Marks a test that must run on a separate thread. + + + + + Construct a RequiresThreadAttribute + + + + + Construct a RequiresThreadAttribute, specifying the apartment + + + + + Summary description for MaxTimeAttribute. + + + + + Construct a MaxTimeAttribute, given a time in milliseconds. + + The maximum elapsed time in milliseconds + + + + RepeatAttribute may be applied to test case in order + to run it multiple times. + + + + + Construct a RepeatAttribute + + The number of times to run the test + + + + Provides static methods to express the assumptions + that must be met for a test to give a meaningful + result. If an assumption is not met, the test + should produce an inconclusive result. + + + + + The Equals method throws an AssertionException. This is done + to make sure there is no mistake by calling this function. + + + + + + + override the default ReferenceEquals to throw an AssertionException. This + implementation makes sure there is no mistake in calling this function + as part of Assert. + + + + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + A Constraint expression to be applied + The actual value to test + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + A Constraint expression to be applied + The actual value to test + The message that will be displayed on failure + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + A Constraint expression to be applied + The actual value to test + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + A Constraint expression to be applied + An ActualValueDelegate returning the value to be tested + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + A Constraint expression to be applied + An ActualValueDelegate returning the value to be tested + The message that will be displayed on failure + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to a referenced value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + A Constraint expression to be applied + The actual value to test + + + + Apply a constraint to a referenced value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + A Constraint expression to be applied + The actual value to test + The message that will be displayed on failure + + + + Apply a constraint to a referenced value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + A Constraint expression to be applied + The actual value to test + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + The message to display if the condition is false + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + The message to display if the condition is false + + + + Asserts that a condition is true. If the condition is false the + method throws an . + + The evaluated condition + + + + Asserts that the code represented by a delegate throws an exception + that satisfies the constraint provided. + + A TestDelegate to be executed + A ThrowsConstraint used in the test + + + + Randomizer returns a set of random values in a repeatable + way, to allow re-running of tests if necessary. + + + + + Get a randomizer for a particular member, returning + one that has already been created if it exists. + This ensures that the same values are generated + each time the tests are reloaded. + + + + + Get a randomizer for a particular parameter, returning + one that has already been created if it exists. + This ensures that the same values are generated + each time the tests are reloaded. + + + + + Construct a randomizer using a random seed + + + + + Construct a randomizer using a specified seed + + + + + Return an array of random doubles between 0.0 and 1.0. + + + + + + + Return an array of random doubles with values in a specified range. + + + + + Return an array of random ints with values in a specified range. + + + + + Get a random seed for use in creating a randomizer. + + + + + Adding this attribute to a method within a + class makes the method callable from the NUnit test runner. There is a property + called Description which is optional which you can provide a more detailed test + description. This class cannot be inherited. + + + + [TestFixture] + public class Fixture + { + [Test] + public void MethodToTest() + {} + + [Test(Description = "more detailed description")] + publc void TestDescriptionMethod() + {} + } + + + + + + Used to mark a field for use as a datapoint when executing a theory + within the same fixture that requires an argument of the field's Type. + + + + + Used to mark an array as containing a set of datapoints to be used + executing a theory within the same fixture that requires an argument + of the Type of the array elements. + + + + + The SpecialValue enum is used to represent TestCase arguments + that cannot be used as arguments to an Attribute. + + + + + Null represents a null value, which cannot be used as an + argument to an attriute under .NET 1.x + + + + + Summary description for SetUICultureAttribute. + + + + + Construct given the name of a culture + + + + + + Delegate used by tests that execute code and + capture any thrown exception. + + + + + The Assert class contains a collection of static methods that + implement the most common assertions used in NUnit. + + + + + We don't actually want any instances of this object, but some people + like to inherit from it to add other static methods. Hence, the + protected constructor disallows any instances of this object. + + + + + The Equals method throws an AssertionException. This is done + to make sure there is no mistake by calling this function. + + + + + + + override the default ReferenceEquals to throw an AssertionException. This + implementation makes sure there is no mistake in calling this function + as part of Assert. + + + + + + + Helper for Assert.AreEqual(double expected, double actual, ...) + allowing code generation to work consistently. + + The expected value + The actual value + The maximum acceptable difference between the + the expected and the actual + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Throws a with the message and arguments + that are passed in. This allows a test to be cut short, with a result + of success returned to NUnit. + + The message to initialize the with. + Arguments to be used in formatting the message + + + + Throws a with the message and arguments + that are passed in. This allows a test to be cut short, with a result + of success returned to NUnit. + + The message to initialize the with. + + + + Throws a with the message and arguments + that are passed in. This allows a test to be cut short, with a result + of success returned to NUnit. + + + + + Throws an with the message and arguments + that are passed in. This is used by the other Assert functions. + + The message to initialize the with. + Arguments to be used in formatting the message + + + + Throws an with the message that is + passed in. This is used by the other Assert functions. + + The message to initialize the with. + + + + Throws an . + This is used by the other Assert functions. + + + + + Throws an with the message and arguments + that are passed in. This causes the test to be reported as ignored. + + The message to initialize the with. + Arguments to be used in formatting the message + + + + Throws an with the message that is + passed in. This causes the test to be reported as ignored. + + The message to initialize the with. + + + + Throws an . + This causes the test to be reported as ignored. + + + + + Throws an with the message and arguments + that are passed in. This causes the test to be reported as inconclusive. + + The message to initialize the with. + Arguments to be used in formatting the message + + + + Throws an with the message that is + passed in. This causes the test to be reported as inconclusive. + + The message to initialize the with. + + + + Throws an . + This causes the test to be reported as Inconclusive. + + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + A Constraint to be applied + The actual value to test + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + A Constraint to be applied + The actual value to test + The message that will be displayed on failure + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + A Constraint expression to be applied + The actual value to test + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + A Constraint expression to be applied + An ActualValueDelegate returning the value to be tested + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + A Constraint expression to be applied + An ActualValueDelegate returning the value to be tested + The message that will be displayed on failure + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to a referenced value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + A Constraint to be applied + The actual value to test + + + + Apply a constraint to a referenced value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + A Constraint to be applied + The actual value to test + The message that will be displayed on failure + + + + Apply a constraint to a referenced value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + A Constraint to be applied + The actual value to test + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + The message to display if the condition is false + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + The message to display if the condition is false + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + + + + Asserts that the code represented by a delegate throws an exception + that satisfies the constraint provided. + + A TestDelegate to be executed + A ThrowsConstraint used in the test + + + + Verifies that a delegate throws a particular exception when called. + + A constraint to be satisfied by the exception + A TestSnippet delegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that a delegate throws a particular exception when called. + + A constraint to be satisfied by the exception + A TestSnippet delegate + The message that will be displayed on failure + + + + Verifies that a delegate throws a particular exception when called. + + A constraint to be satisfied by the exception + A TestSnippet delegate + + + + Verifies that a delegate throws a particular exception when called. + + The exception Type expected + A TestSnippet delegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that a delegate throws a particular exception when called. + + The exception Type expected + A TestSnippet delegate + The message that will be displayed on failure + + + + Verifies that a delegate throws a particular exception when called. + + The exception Type expected + A TestSnippet delegate + + + + Verifies that a delegate throws a particular exception when called. + + Type of the expected exception + A TestSnippet delegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that a delegate throws a particular exception when called. + + Type of the expected exception + A TestSnippet delegate + The message that will be displayed on failure + + + + Verifies that a delegate throws a particular exception when called. + + Type of the expected exception + A TestSnippet delegate + + + + Verifies that a delegate throws an exception when called + and returns it. + + A TestDelegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that a delegate throws an exception when called + and returns it. + + A TestDelegate + The message that will be displayed on failure + + + + Verifies that a delegate throws an exception when called + and returns it. + + A TestDelegate + + + + Verifies that a delegate throws an exception of a certain Type + or one derived from it when called and returns it. + + The expected Exception Type + A TestDelegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that a delegate throws an exception of a certain Type + or one derived from it when called and returns it. + + The expected Exception Type + A TestDelegate + The message that will be displayed on failure + + + + Verifies that a delegate throws an exception of a certain Type + or one derived from it when called and returns it. + + The expected Exception Type + A TestDelegate + + + + Verifies that a delegate throws an exception of a certain Type + or one derived from it when called and returns it. + + The expected Exception Type + A TestDelegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that a delegate throws an exception of a certain Type + or one derived from it when called and returns it. + + The expected Exception Type + A TestDelegate + The message that will be displayed on failure + + + + Verifies that a delegate throws an exception of a certain Type + or one derived from it when called and returns it. + + The expected Exception Type + A TestDelegate + + + + Verifies that a delegate does not throw an exception + + A TestSnippet delegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that a delegate does not throw an exception. + + A TestSnippet delegate + The message that will be displayed on failure + + + + Verifies that a delegate does not throw an exception. + + A TestSnippet delegate + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + The message to display in case of failure + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + The message to display in case of failure + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + + + + Asserts that a condition is false. If the condition is true the method throws + an . + + The evaluated condition + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a condition is false. If the condition is true the method throws + an . + + The evaluated condition + The message to display in case of failure + + + + Asserts that a condition is false. If the condition is true the method throws + an . + + The evaluated condition + + + + Asserts that a condition is false. If the condition is true the method throws + an . + + The evaluated condition + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a condition is false. If the condition is true the method throws + an . + + The evaluated condition + The message to display in case of failure + + + + Asserts that a condition is false. If the condition is true the method throws + an . + + The evaluated condition + + + + Verifies that the object that is passed in is not equal to null + If the object is null then an + is thrown. + + The object that is to be tested + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the object that is passed in is not equal to null + If the object is null then an + is thrown. + + The object that is to be tested + The message to display in case of failure + + + + Verifies that the object that is passed in is not equal to null + If the object is null then an + is thrown. + + The object that is to be tested + + + + Verifies that the object that is passed in is not equal to null + If the object is null then an + is thrown. + + The object that is to be tested + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the object that is passed in is not equal to null + If the object is null then an + is thrown. + + The object that is to be tested + The message to display in case of failure + + + + Verifies that the object that is passed in is not equal to null + If the object is null then an + is thrown. + + The object that is to be tested + + + + Verifies that the object that is passed in is equal to null + If the object is not null then an + is thrown. + + The object that is to be tested + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the object that is passed in is equal to null + If the object is not null then an + is thrown. + + The object that is to be tested + The message to display in case of failure + + + + Verifies that the object that is passed in is equal to null + If the object is not null then an + is thrown. + + The object that is to be tested + + + + Verifies that the object that is passed in is equal to null + If the object is not null then an + is thrown. + + The object that is to be tested + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the object that is passed in is equal to null + If the object is not null then an + is thrown. + + The object that is to be tested + The message to display in case of failure + + + + Verifies that the object that is passed in is equal to null + If the object is not null then an + is thrown. + + The object that is to be tested + + + + Verifies that the double that is passed in is an NaN value. + If the object is not NaN then an + is thrown. + + The value that is to be tested + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the double that is passed in is an NaN value. + If the object is not NaN then an + is thrown. + + The value that is to be tested + The message to display in case of failure + + + + Verifies that the double that is passed in is an NaN value. + If the object is not NaN then an + is thrown. + + The value that is to be tested + + + + Verifies that the double that is passed in is an NaN value. + If the object is not NaN then an + is thrown. + + The value that is to be tested + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the double that is passed in is an NaN value. + If the object is not NaN then an + is thrown. + + The value that is to be tested + The message to display in case of failure + + + + Verifies that the double that is passed in is an NaN value. + If the object is not NaN then an + is thrown. + + The value that is to be tested + + + + Assert that a string is empty - that is equal to string.Empty + + The string to be tested + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Assert that a string is empty - that is equal to string.Empty + + The string to be tested + The message to display in case of failure + + + + Assert that a string is empty - that is equal to string.Empty + + The string to be tested + + + + Assert that an array, list or other collection is empty + + An array, list or other collection implementing ICollection + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Assert that an array, list or other collection is empty + + An array, list or other collection implementing ICollection + The message to display in case of failure + + + + Assert that an array, list or other collection is empty + + An array, list or other collection implementing ICollection + + + + Assert that a string is not empty - that is not equal to string.Empty + + The string to be tested + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Assert that a string is not empty - that is not equal to string.Empty + + The string to be tested + The message to display in case of failure + + + + Assert that a string is not empty - that is not equal to string.Empty + + The string to be tested + + + + Assert that an array, list or other collection is not empty + + An array, list or other collection implementing ICollection + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Assert that an array, list or other collection is not empty + + An array, list or other collection implementing ICollection + The message to display in case of failure + + + + Assert that an array, list or other collection is not empty + + An array, list or other collection implementing ICollection + + + + Assert that a string is either null or equal to string.Empty + + The string to be tested + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Assert that a string is either null or equal to string.Empty + + The string to be tested + The message to display in case of failure + + + + Assert that a string is either null or equal to string.Empty + + The string to be tested + + + + Assert that a string is not null or empty + + The string to be tested + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Assert that a string is not null or empty + + The string to be tested + The message to display in case of failure + + + + Assert that a string is not null or empty + + The string to be tested + + + + Asserts that an object may be assigned a value of a given Type. + + The expected Type. + The object under examination + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object may be assigned a value of a given Type. + + The expected Type. + The object under examination + The message to display in case of failure + + + + Asserts that an object may be assigned a value of a given Type. + + The expected Type. + The object under examination + + + + Asserts that an object may be assigned a value of a given Type. + + The expected Type. + The object under examination + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object may be assigned a value of a given Type. + + The expected Type. + The object under examination + The message to display in case of failure + + + + Asserts that an object may be assigned a value of a given Type. + + The expected Type. + The object under examination + + + + Asserts that an object may not be assigned a value of a given Type. + + The expected Type. + The object under examination + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object may not be assigned a value of a given Type. + + The expected Type. + The object under examination + The message to display in case of failure + + + + Asserts that an object may not be assigned a value of a given Type. + + The expected Type. + The object under examination + + + + Asserts that an object may not be assigned a value of a given Type. + + The expected Type. + The object under examination + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object may not be assigned a value of a given Type. + + The expected Type. + The object under examination + The message to display in case of failure + + + + Asserts that an object may not be assigned a value of a given Type. + + The expected Type. + The object under examination + + + + Asserts that an object is an instance of a given type. + + The expected Type + The object being examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object is an instance of a given type. + + The expected Type + The object being examined + The message to display in case of failure + + + + Asserts that an object is an instance of a given type. + + The expected Type + The object being examined + + + + Asserts that an object is an instance of a given type. + + The expected Type + The object being examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object is an instance of a given type. + + The expected Type + The object being examined + The message to display in case of failure + + + + Asserts that an object is an instance of a given type. + + The expected Type + The object being examined + + + + Asserts that an object is an instance of a given type. + + The expected Type + The object being examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object is an instance of a given type. + + The expected Type + The object being examined + The message to display in case of failure + + + + Asserts that an object is an instance of a given type. + + The expected Type + The object being examined + + + + Asserts that an object is not an instance of a given type. + + The expected Type + The object being examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object is not an instance of a given type. + + The expected Type + The object being examined + The message to display in case of failure + + + + Asserts that an object is not an instance of a given type. + + The expected Type + The object being examined + + + + Asserts that an object is not an instance of a given type. + + The expected Type + The object being examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object is not an instance of a given type. + + The expected Type + The object being examined + The message to display in case of failure + + + + Asserts that an object is not an instance of a given type. + + The expected Type + The object being examined + + + + Asserts that an object is not an instance of a given type. + + The expected Type + The object being examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object is not an instance of a given type. + + The expected Type + The object being examined + The message to display in case of failure + + + + Asserts that an object is not an instance of a given type. + + The expected Type + The object being examined + + + + Verifies that two values are equal. If they are not, then an + is thrown. + + The expected value + The actual value + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that two values are equal. If they are not, then an + is thrown. + + The expected value + The actual value + The message to display in case of failure + + + + Verifies that two values are equal. If they are not, then an + is thrown. + + The expected value + The actual value + + + + Verifies that two values are equal. If they are not, then an + is thrown. + + The expected value + The actual value + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that two values are equal. If they are not, then an + is thrown. + + The expected value + The actual value + The message to display in case of failure + + + + Verifies that two values are equal. If they are not, then an + is thrown. + + The expected value + The actual value + + + + Verifies that two values are equal. If they are not, then an + is thrown. + + The expected value + The actual value + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that two values are equal. If they are not, then an + is thrown. + + The expected value + The actual value + The message to display in case of failure + + + + Verifies that two values are equal. If they are not, then an + is thrown. + + The expected value + The actual value + + + + Verifies that two values are equal. If they are not, then an + is thrown. + + The expected value + The actual value + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that two values are equal. If they are not, then an + is thrown. + + The expected value + The actual value + The message to display in case of failure + + + + Verifies that two values are equal. If they are not, then an + is thrown. + + The expected value + The actual value + + + + Verifies that two values are equal. If they are not, then an + is thrown. + + The expected value + The actual value + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that two values are equal. If they are not, then an + is thrown. + + The expected value + The actual value + The message to display in case of failure + + + + Verifies that two values are equal. If they are not, then an + is thrown. + + The expected value + The actual value + + + + Verifies that two doubles are equal considering a delta. If the + expected value is infinity then the delta value is ignored. If + they are not equal then an is + thrown. + + The expected value + The actual value + The maximum acceptable difference between the + the expected and the actual + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that two doubles are equal considering a delta. If the + expected value is infinity then the delta value is ignored. If + they are not equal then an is + thrown. + + The expected value + The actual value + The maximum acceptable difference between the + the expected and the actual + The message to display in case of failure + + + + Verifies that two doubles are equal considering a delta. If the + expected value is infinity then the delta value is ignored. If + they are not equal then an is + thrown. + + The expected value + The actual value + The maximum acceptable difference between the + the expected and the actual + + + + Verifies that two doubles are equal considering a delta. If the + expected value is infinity then the delta value is ignored. If + they are not equal then an is + thrown. + + The expected value + The actual value + The maximum acceptable difference between the + the expected and the actual + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that two doubles are equal considering a delta. If the + expected value is infinity then the delta value is ignored. If + they are not equal then an is + thrown. + + The expected value + The actual value + The maximum acceptable difference between the + the expected and the actual + The message to display in case of failure + + + + Verifies that two doubles are equal considering a delta. If the + expected value is infinity then the delta value is ignored. If + they are not equal then an is + thrown. + + The expected value + The actual value + The maximum acceptable difference between the + the expected and the actual + + + + Verifies that two objects are equal. Two objects are considered + equal if both are null, or if both have the same value. NUnit + has special semantics for some object types. + If they are not equal an is thrown. + + The value that is expected + The actual value + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that two objects are equal. Two objects are considered + equal if both are null, or if both have the same value. NUnit + has special semantics for some object types. + If they are not equal an is thrown. + + The value that is expected + The actual value + The message to display in case of failure + + + + Verifies that two objects are equal. Two objects are considered + equal if both are null, or if both have the same value. NUnit + has special semantics for some object types. + If they are not equal an is thrown. + + The value that is expected + The actual value + + + + Verifies that two values are not equal. If they are equal, then an + is thrown. + + The expected value + The actual value + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that two values are not equal. If they are equal, then an + is thrown. + + The expected value + The actual value + The message to display in case of failure + + + + Verifies that two values are not equal. If they are equal, then an + is thrown. + + The expected value + The actual value + + + + Verifies that two values are not equal. If they are equal, then an + is thrown. + + The expected value + The actual value + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that two values are not equal. If they are equal, then an + is thrown. + + The expected value + The actual value + The message to display in case of failure + + + + Verifies that two values are not equal. If they are equal, then an + is thrown. + + The expected value + The actual value + + + + Verifies that two values are not equal. If they are equal, then an + is thrown. + + The expected value + The actual value + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that two values are not equal. If they are equal, then an + is thrown. + + The expected value + The actual value + The message to display in case of failure + + + + Verifies that two values are not equal. If they are equal, then an + is thrown. + + The expected value + The actual value + + + + Verifies that two values are not equal. If they are equal, then an + is thrown. + + The expected value + The actual value + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that two values are not equal. If they are equal, then an + is thrown. + + The expected value + The actual value + The message to display in case of failure + + + + Verifies that two values are not equal. If they are equal, then an + is thrown. + + The expected value + The actual value + + + + Verifies that two values are not equal. If they are equal, then an + is thrown. + + The expected value + The actual value + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that two values are not equal. If they are equal, then an + is thrown. + + The expected value + The actual value + The message to display in case of failure + + + + Verifies that two values are not equal. If they are equal, then an + is thrown. + + The expected value + The actual value + + + + Verifies that two values are not equal. If they are equal, then an + is thrown. + + The expected value + The actual value + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that two values are not equal. If they are equal, then an + is thrown. + + The expected value + The actual value + The message to display in case of failure + + + + Verifies that two values are not equal. If they are equal, then an + is thrown. + + The expected value + The actual value + + + + Verifies that two values are not equal. If they are equal, then an + is thrown. + + The expected value + The actual value + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that two values are not equal. If they are equal, then an + is thrown. + + The expected value + The actual value + The message to display in case of failure + + + + Verifies that two values are not equal. If they are equal, then an + is thrown. + + The expected value + The actual value + + + + Verifies that two objects are not equal. Two objects are considered + equal if both are null, or if both have the same value. NUnit + has special semantics for some object types. + If they are equal an is thrown. + + The value that is expected + The actual value + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that two objects are not equal. Two objects are considered + equal if both are null, or if both have the same value. NUnit + has special semantics for some object types. + If they are equal an is thrown. + + The value that is expected + The actual value + The message to display in case of failure + + + + Verifies that two objects are not equal. Two objects are considered + equal if both are null, or if both have the same value. NUnit + has special semantics for some object types. + If they are equal an is thrown. + + The value that is expected + The actual value + + + + Asserts that two objects refer to the same object. If they + are not the same an is thrown. + + The expected object + The actual object + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that two objects refer to the same object. If they + are not the same an is thrown. + + The expected object + The actual object + The message to display in case of failure + + + + Asserts that two objects refer to the same object. If they + are not the same an is thrown. + + The expected object + The actual object + + + + Asserts that two objects do not refer to the same object. If they + are the same an is thrown. + + The expected object + The actual object + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that two objects do not refer to the same object. If they + are the same an is thrown. + + The expected object + The actual object + The message to display in case of failure + + + + Asserts that two objects do not refer to the same object. If they + are the same an is thrown. + + The expected object + The actual object + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is greater than or equal tothe second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than or equal tothe second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + + + + Verifies that the first value is greater than or equal tothe second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than or equal tothe second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than or equal tothe second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + + + + Verifies that the first value is greater than or equal tothe second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than or equal tothe second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than or equal tothe second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + + + + Verifies that the first value is greater than or equal tothe second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than or equal tothe second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than or equal tothe second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + + + + Verifies that the first value is greater than or equal tothe second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than or equal tothe second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than or equal tothe second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + + + + Verifies that the first value is greater than or equal tothe second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than or equal tothe second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than or equal tothe second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + + + + Verifies that the first value is greater than or equal tothe second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than or equal tothe second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than or equal tothe second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + + + + Verifies that the first value is greater than or equal tothe second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than or equal tothe second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than or equal tothe second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + + + + Verifies that the first value is greater than or equal tothe second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Asserts that an object is contained in a list. + + The expected object + The list to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object is contained in a list. + + The expected object + The list to be examined + The message to display in case of failure + + + + Asserts that an object is contained in a list. + + The expected object + The list to be examined + + + + Gets the number of assertions executed so far and + resets the counter to zero. + + + + + Static helper class used in the constraint-based syntax + + + + + Creates a new SubstringConstraint + + The value of the substring + A SubstringConstraint + + + + Creates a new CollectionContainsConstraint. + + The item that should be found. + A new CollectionContainsConstraint + + + + Attribute used to apply a category to a test + + + + + The name of the category + + + + + Construct attribute for a given category based on + a name. The name may not contain the characters ',', + '+', '-' or '!'. However, this is not checked in the + constructor since it would cause an error to arise at + as the test was loaded without giving a clear indication + of where the problem is located. The error is handled + in NUnitFramework.cs by marking the test as not + runnable. + + The name of the category + + + + Protected constructor uses the Type name as the name + of the category. + + + + + The name of the category + + + + + The TestStatus enum indicates the result of running a test + + + + + The test was inconclusive + + + + + The test has skipped + + + + + The test succeeded + + + + + The test failed + + + + + Provide the context information of the current test + + + + + The TestState of current test. This maps to the ResultState + used in nunit.core and is subject to change in the future. + + + + + The TestStatus of current test. This enum will be used + in future versions of NUnit and so is to be preferred + to the TestState value. + + + + + The name of the currently executing test. If no + test is running, the name of the last test run. + + + + + The properties of the currently executing test + or, if no test is running, of the last test run. + + + + + The ResultState enum indicates the result of running a test + + + + + The result is inconclusive + + + + + The test was not runnable. + + + + + The test has been skipped. + + + + + The test has been ignored. + + + + + The test succeeded + + + + + The test failed + + + + + The test encountered an unexpected exception + + + + + The test was cancelled by the user + + + + diff --git a/lib/Net/4.0/Apache.NMS.ActiveMQ.dll b/lib/Net/4.0/Apache.NMS.ActiveMQ.dll new file mode 100644 index 00000000..fd910b6d Binary files /dev/null and b/lib/Net/4.0/Apache.NMS.ActiveMQ.dll differ diff --git a/lib/Net/4.0/Apache.NMS.ActiveMQ.xml b/lib/Net/4.0/Apache.NMS.ActiveMQ.xml new file mode 100644 index 00000000..49360cc1 --- /dev/null +++ b/lib/Net/4.0/Apache.NMS.ActiveMQ.xml @@ -0,0 +1,8199 @@ + + + + Apache.NMS.ActiveMQ + + + + + Base class for all DataStructure implementations + + + + + An OpenWire command + + + + + An OpenWire command + + + + + Represents a marshallable entity + + + + + + Get the unique identifier that this object and its own + Marshaler share. + + + + + + + Clone this object and return a new instance that the caller now owns. + + + + + + + Returns a string containing the information for this DataStructure + such as its type and value of its elements. + + + + + + + Allows a Visitor to visit this command and return a response to the + command based on the command type being visited. The command will call + the proper processXXX method in the visitor. + + + + + + + Return an answer of true to the isMessage() query. + + + + + + The correlation ID used to correlate messages with conversations or long running business processes + + + + + The destination of the message + + + + + The time in milliseconds that this message should expire in + + + + + The message ID which is set by the provider + + + + + Whether or not this message is persistent + + + + + The Priority on this message + + + + + Returns true if this message has been redelivered to this or another consumer before being acknowledged successfully. + + + + + The destination that the consumer of this message should send replies to + + + + + The timestamp the broker added to the message + + + + + The type name of this message + + + + + Returns the number of times this message has been redelivered to other consumers without being acknowledged successfully. + + + + + The Message Group ID used to group messages together to the same consumer for the same group ID value + + + + + The Message Group Sequence counter to indicate the position in a group + + + + + Returns the ID of the producers transaction + + + + + Used when the message compression is enabled to track how many bytes + the EndianBinaryWriter actually writes to the stream before compression + so that the receiving client can read off the real bodylength from the + Message before the data is actually read. + + + + + Summary description for ActiveMQDestination. + + + + + Topic Destination object + + + + + Temporary Topic Destination object + + + + + Queue Destination object + + + + + Temporary Queue Destination object + + + + + prefix for Advisory message destinations + + + + + prefix for consumer advisory destinations + + + + + prefix for producer advisory destinations + + + + + prefix for connection advisory destinations + + + + + The default target for ordered destinations + + + + + The Default Constructor + + + + + Construct the Destination with a defined physical name; + + + + + + + Returns the advisory. + + + + + The advisory to set. + + + + + true if this is a destination for Consumer advisories + + + + + true if this is a destination for Producer advisories + + + + + true if this is a destination for Connection advisories + + + + + Returns the exclusive. + + + + + The exclusive to set. + + + + + Returns the ordered. + + + + + The ordered to set. + + + + + Returns the orderedTarget. + + + + + The orderedTarget to set. + + + + A helper method to return a descriptive string for the topic or queue + + + a descriptive string for this queue or topic + + + + + + + + + + Create a Destination + + + + + + + + Create a temporary name from the clientId + + + + + + + From a temporary destination find the clientId of the Connection that created it + + + the clientId or null if not a temporary destination + + + + + object to compare + 1 if this is less than o else 0 if they are equal or -1 if this is less than o + + + + Lets sort by name first then lets sort topics greater than queues + + another destination to compare against + 1 if this is less than o else 0 if they are equal or -1 if this is less than o + + + + + Returns the Destination type + + + + Gets the Destination Type of this Destination as a String value which is one + of {Queue,Topic,TempQueue,TempTopic}. + + + The Destination Type as a String. + + + + + + string representation of this instance + + + + + hashCode for this instance + + + + if the object passed in is equivalent, return true + + the object to compare + true if this instance and obj are equivalent + + + + + true if the destination matches multiple possible destinations + + + + Factory method to create a child destination if this destination is a composite + + + the created Destination + + + + Dictionary of name/value pairs representing option values specified + in the URI used to create this Destination. A null value is returned + if no options were specified. + + + + + Returns true if this destination represents a collection of + destinations; allowing a set of destinations to be published to or subscribed + from in one NMS operation. +

+ If this destination is a composite then you can call {@link #getChildDestinations()} + to return the list of child destinations. +

+
+ + + Summary description for ActiveMQQueue. + + + + + Method GetDestinationType + + An int + + + + Method CreateDestination + + An ActiveMQDestination + A String + + + + A Temporary Queue + + + + + A Temporary Topic + + + + + Summary description for ActiveMQTopic. + + + + + Represents an exception on the broker + + + + + + Get the unique identifier that this object and its own + Marshaler share. + + + + + + + Returns a string containing the information for this DataStructure + such as its type and value of its elements. + + + + + + + Get the unique identifier that this object and its own + Marshaler share. + + + + + + + Returns a string containing the information for this DataStructure + such as its type and value of its elements. + + + + + + + Allows a Visitor to visit this command and return a response to the + command based on the command type being visited. The command will call + the proper processXXX method in the visitor. + + + + + + + Return an answer of true to the isBrokerInfo() query. + + + + + + + Get the unique identifier that this object and its own + Marshaler share. + + + + + + + Returns a string containing the information for this DataStructure + such as its type and value of its elements. + + + + + + + Allows a Visitor to visit this command and return a response to the + command based on the command type being visited. The command will call + the proper processXXX method in the visitor. + + + + + + + Return an answer of true to the isConnectionControl() query. + + + + + + + Get the unique identifier that this object and its own + Marshaler share. + + + + + + + Returns a string containing the information for this DataStructure + such as its type and value of its elements. + + + + + + + Allows a Visitor to visit this command and return a response to the + command based on the command type being visited. The command will call + the proper processXXX method in the visitor. + + + + + + + Return an answer of true to the isConnectionError() query. + + + + + + + Get the unique identifier that this object and its own + Marshaler share. + + + + + + + Returns a string containing the information for this DataStructure + such as its type and value of its elements. + + + + + + + Get the unique identifier that this object and its own + Marshaler share. + + + + + + + Returns a string containing the information for this DataStructure + such as its type and value of its elements. + + + + + + + Allows a Visitor to visit this command and return a response to the + command based on the command type being visited. The command will call + the proper processXXX method in the visitor. + + + + + + + Return an answer of true to the isConnectionInfo() query. + + + + + + + Get the unique identifier that this object and its own + Marshaler share. + + + + + + + Returns a string containing the information for this DataStructure + such as its type and value of its elements. + + + + + + + Allows a Visitor to visit this command and return a response to the + command based on the command type being visited. The command will call + the proper processXXX method in the visitor. + + + + + + + Return an answer of true to the isConsumerControl() query. + + + + + + + Get the unique identifier that this object and its own + Marshaler share. + + + + + + + Returns a string containing the information for this DataStructure + such as its type and value of its elements. + + + + + + + Get the unique identifier that this object and its own + Marshaler share. + + + + + + + Returns a string containing the information for this DataStructure + such as its type and value of its elements. + + + + + + + Allows a Visitor to visit this command and return a response to the + command based on the command type being visited. The command will call + the proper processXXX method in the visitor. + + + + + + + Return an answer of true to the isConsumerInfo() query. + + + + + + + Get the unique identifier that this object and its own + Marshaler share. + + + + + + + Returns a string containing the information for this DataStructure + such as its type and value of its elements. + + + + + + + Allows a Visitor to visit this command and return a response to the + command based on the command type being visited. The command will call + the proper processXXX method in the visitor. + + + + + + + Return an answer of true to the isControlCommand() query. + + + + + + + Get the unique identifier that this object and its own + Marshaler share. + + + + + + + Returns a string containing the information for this DataStructure + such as its type and value of its elements. + + + + + + + Allows a Visitor to visit this command and return a response to the + command based on the command type being visited. The command will call + the proper processXXX method in the visitor. + + + + + + + Return an answer of true to the isResponse() query. + + + + + + + Get the unique identifier that this object and its own + Marshaler share. + + + + + + + Returns a string containing the information for this DataStructure + such as its type and value of its elements. + + + + + + + Get the unique identifier that this object and its own + Marshaler share. + + + + + + + Returns a string containing the information for this DataStructure + such as its type and value of its elements. + + + + + + Summary description for DataStructureSupport. + + + + + + Get the unique identifier that this object and its own + Marshaler share. + + + + + + + Returns a string containing the information for this DataStructure + such as its type and value of its elements. + + + + + + + Allows a Visitor to visit this command and return a response to the + command based on the command type being visited. The command will call + the proper processXXX method in the visitor. + + + + + + + Return an answer of true to the isDestinationInfo() query. + + + + + + + Get the unique identifier that this object and its own + Marshaler share. + + + + + + + Returns a string containing the information for this DataStructure + such as its type and value of its elements. + + + + + + + Get the unique identifier that this object and its own + Marshaler share. + + + + + + + Returns a string containing the information for this DataStructure + such as its type and value of its elements. + + + + + + + Get the unique identifier that this object and its own + Marshaler share. + + + + + + + Returns a string containing the information for this DataStructure + such as its type and value of its elements. + + + + + + + Allows a Visitor to visit this command and return a response to the + command based on the command type being visited. The command will call + the proper processXXX method in the visitor. + + + + + + + Return an answer of true to the isFlushCommand() query. + + + + + + + Get the unique identifier that this object and its own + Marshaler share. + + + + + + + Returns a string containing the information for this DataStructure + such as its type and value of its elements. + + + + + + + Get the unique identifier that this object and its own + Marshaler share. + + + + + + + Returns a string containing the information for this DataStructure + such as its type and value of its elements. + + + + + + + Get the unique identifier that this object and its own + Marshaler share. + + + + + + + Returns a string containing the information for this DataStructure + such as its type and value of its elements. + + + + + + + Get the unique identifier that this object and its own + Marshaler share. + + + + + + + Returns a string containing the information for this DataStructure + such as its type and value of its elements. + + + + + + + Get the unique identifier that this object and its own + Marshaler share. + + + + + + + Returns a string containing the information for this DataStructure + such as its type and value of its elements. + + + + + + + Get the unique identifier that this object and its own + Marshaler share. + + + + + + + Returns a string containing the information for this DataStructure + such as its type and value of its elements. + + + + + + + Allows a Visitor to visit this command and return a response to the + command based on the command type being visited. The command will call + the proper processXXX method in the visitor. + + + + + + + Return an answer of true to the isKeepAliveInfo() query. + + + + + + + Get the unique identifier that this object and its own + Marshaler share. + + + + + + + Returns a string containing the information for this DataStructure + such as its type and value of its elements. + + + + + + + Get the unique identifier that this object and its own + Marshaler share. + + + + + + + Returns a string containing the information for this DataStructure + such as its type and value of its elements. + + + + + + + Get the unique identifier that this object and its own + Marshaler share. + + + + + + + Returns a string containing the information for this DataStructure + such as its type and value of its elements. + + + + + + + Get the unique identifier that this object and its own + Marshaler share. + + + + + + + Returns a string containing the information for this DataStructure + such as its type and value of its elements. + + + + + + + Get the unique identifier that this object and its own + Marshaler share. + + + + + + + Returns a string containing the information for this DataStructure + such as its type and value of its elements. + + + + + + + Allows a Visitor to visit this command and return a response to the + command based on the command type being visited. The command will call + the proper processXXX method in the visitor. + + + + + + + Return an answer of true to the isMessageAck() query. + + + + + + + Get the unique identifier that this object and its own + Marshaler share. + + + + + + + Returns a string containing the information for this DataStructure + such as its type and value of its elements. + + + + + + + Allows a Visitor to visit this command and return a response to the + command based on the command type being visited. The command will call + the proper processXXX method in the visitor. + + + + + + + Return an answer of true to the isMessageDispatch() query. + + + + + + + Get the unique identifier that this object and its own + Marshaler share. + + + + + + + Returns a string containing the information for this DataStructure + such as its type and value of its elements. + + + + + + + Allows a Visitor to visit this command and return a response to the + command based on the command type being visited. The command will call + the proper processXXX method in the visitor. + + + + + + + Return an answer of true to the isMessageDispatchNotification() query. + + + + + + + Get the unique identifier that this object and its own + Marshaler share. + + + + + + + Returns a string containing the information for this DataStructure + such as its type and value of its elements. + + + + + + Sets the value as a String + + + + + + Get the unique identifier that this object and its own + Marshaler share. + + + + + + + Returns a string containing the information for this DataStructure + such as its type and value of its elements. + + + + + + + Allows a Visitor to visit this command and return a response to the + command based on the command type being visited. The command will call + the proper processXXX method in the visitor. + + + + + + + Return an answer of true to the isMessagePull() query. + + + + + + + Get the unique identifier that this object and its own + Marshaler share. + + + + + + + Returns a string containing the information for this DataStructure + such as its type and value of its elements. + + + + + + + Get the unique identifier that this object and its own + Marshaler share. + + + + + + + Returns a string containing the information for this DataStructure + such as its type and value of its elements. + + + + + + + Allows a Visitor to visit this command and return a response to the + command based on the command type being visited. The command will call + the proper processXXX method in the visitor. + + + + + + + Return an answer of true to the isProducerAck() query. + + + + + + + Get the unique identifier that this object and its own + Marshaler share. + + + + + + + Returns a string containing the information for this DataStructure + such as its type and value of its elements. + + + + + + + Get the unique identifier that this object and its own + Marshaler share. + + + + + + + Returns a string containing the information for this DataStructure + such as its type and value of its elements. + + + + + + + Allows a Visitor to visit this command and return a response to the + command based on the command type being visited. The command will call + the proper processXXX method in the visitor. + + + + + + + Return an answer of true to the isProducerInfo() query. + + + + + + + Get the unique identifier that this object and its own + Marshaler share. + + + + + + + Returns a string containing the information for this DataStructure + such as its type and value of its elements. + + + + + + + Allows a Visitor to visit this command and return a response to the + command based on the command type being visited. The command will call + the proper processXXX method in the visitor. + + + + + + + Return an answer of true to the isRemoveInfo() query. + + + + + + + Get the unique identifier that this object and its own + Marshaler share. + + + + + + + Returns a string containing the information for this DataStructure + such as its type and value of its elements. + + + + + + + Allows a Visitor to visit this command and return a response to the + command based on the command type being visited. The command will call + the proper processXXX method in the visitor. + + + + + + + Return an answer of true to the isRemoveSubscriptionInfo() query. + + + + + + + Get the unique identifier that this object and its own + Marshaler share. + + + + + + + Returns a string containing the information for this DataStructure + such as its type and value of its elements. + + + + + + + Allows a Visitor to visit this command and return a response to the + command based on the command type being visited. The command will call + the proper processXXX method in the visitor. + + + + + + + Return an answer of true to the isReplayCommand() query. + + + + + + + Get the unique identifier that this object and its own + Marshaler share. + + + + + + + Returns a string containing the information for this DataStructure + such as its type and value of its elements. + + + + + + + Get the unique identifier that this object and its own + Marshaler share. + + + + + + + Returns a string containing the information for this DataStructure + such as its type and value of its elements. + + + + + + + Allows a Visitor to visit this command and return a response to the + command based on the command type being visited. The command will call + the proper processXXX method in the visitor. + + + + + + + Return an answer of true to the isSessionInfo() query. + + + + + + + Get the unique identifier that this object and its own + Marshaler share. + + + + + + + Returns a string containing the information for this DataStructure + such as its type and value of its elements. + + + + + + + Allows a Visitor to visit this command and return a response to the + command based on the command type being visited. The command will call + the proper processXXX method in the visitor. + + + + + + + Return an answer of true to the isShutdownInfo() query. + + + + + + + Get the unique identifier that this object and its own + Marshaler share. + + + + + + + Returns a string containing the information for this DataStructure + such as its type and value of its elements. + + + + + + + Get the unique identifier that this object and its own + Marshaler share. + + + + + + + Returns a string containing the information for this DataStructure + such as its type and value of its elements. + + + + + + + Allows a Visitor to visit this command and return a response to the + command based on the command type being visited. The command will call + the proper processXXX method in the visitor. + + + + + + + Return an answer of true to the isTransactionInfo() query. + + + + + + + Return an answer of true to the IsWireFormatInfo() query. + + + + + + + Get the unique identifier that this object and its own + Marshaler share. + + + + + + + Returns a string containing the information for this DataStructure + such as its type and value of its elements. + + + + + + Marshalling code for Open Wire Format for ActiveMQBlobMessage + + + + + Marshalling code for Open Wire Format for ActiveMQMessage + + + + + Marshalling code for Open Wire Format for Message + + + + + Marshalling code for Open Wire Format for BaseCommand + + + + + A base class with useful implementation inheritence methods + for creating marshallers of the OpenWire protocol + + + + + Converts the object to a String + + + + + Converts the object to a String + + + + + Converts the given transaction ID into a String + + + + + Creates the byte array into hexidecimal + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ActiveMQBytesMessage + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ActiveMQDestination + + + + + Marshalling code for Open Wire Format for ActiveMQMapMessage + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ActiveMQObjectMessage + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ActiveMQQueue + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ActiveMQStreamMessage + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ActiveMQTempDestination + + + + + Marshalling code for Open Wire Format for ActiveMQTempQueue + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ActiveMQTempTopic + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ActiveMQTextMessage + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ActiveMQTopic + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for BrokerId + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for BrokerInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ConnectionControl + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ConnectionError + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ConnectionId + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ConnectionInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ConsumerControl + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ConsumerId + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ConsumerInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ControlCommand + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for DataArrayResponse + + + + + Marshalling code for Open Wire Format for Response + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for DataResponse + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for DestinationInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for DiscoveryEvent + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ExceptionResponse + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for FlushCommand + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for IntegerResponse + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for JournalQueueAck + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for JournalTopicAck + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for JournalTrace + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for JournalTransaction + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for KeepAliveInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for LastPartialCommand + + + + + Marshalling code for Open Wire Format for PartialCommand + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for LocalTransactionId + + + + + Marshalling code for Open Wire Format for TransactionId + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Used to create marshallers for a specific version of the OpenWire protocol. + Each non-abstract DataStructure object has a registered Marshaller that is + created and added to the OpenWireFormat objects format collection. + + + + + Adds the Marshallers for this version of the OpenWire protocol to the + Collection of Marshallers stored in the OpenWireFormat class. + + + + + Marshalling code for Open Wire Format for MessageAck + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for MessageDispatch + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for MessageDispatchNotification + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for MessageId + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for MessagePull + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for NetworkBridgeFilter + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ProducerAck + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ProducerId + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ProducerInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for RemoveInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for RemoveSubscriptionInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ReplayCommand + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for SessionId + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for SessionInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ShutdownInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for SubscriptionInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for TransactionInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for WireFormatInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for XATransactionId + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ActiveMQBlobMessage + + + + + Marshalling code for Open Wire Format for ActiveMQMessage + + + + + Marshalling code for Open Wire Format for Message + + + + + Marshalling code for Open Wire Format for BaseCommand + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ActiveMQBytesMessage + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ActiveMQDestination + + + + + Marshalling code for Open Wire Format for ActiveMQMapMessage + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ActiveMQObjectMessage + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ActiveMQQueue + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ActiveMQStreamMessage + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ActiveMQTempDestination + + + + + Marshalling code for Open Wire Format for ActiveMQTempQueue + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ActiveMQTempTopic + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ActiveMQTextMessage + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ActiveMQTopic + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for BrokerId + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for BrokerInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ConnectionControl + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ConnectionError + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ConnectionId + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ConnectionInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ConsumerControl + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ConsumerId + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ConsumerInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ControlCommand + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for DataArrayResponse + + + + + Marshalling code for Open Wire Format for Response + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for DataResponse + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for DestinationInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for DiscoveryEvent + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ExceptionResponse + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for FlushCommand + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for IntegerResponse + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for JournalQueueAck + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for JournalTopicAck + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for JournalTrace + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for JournalTransaction + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for KeepAliveInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for LastPartialCommand + + + + + Marshalling code for Open Wire Format for PartialCommand + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for LocalTransactionId + + + + + Marshalling code for Open Wire Format for TransactionId + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Used to create marshallers for a specific version of the OpenWire protocol. + Each non-abstract DataStructure object has a registered Marshaller that is + created and added to the OpenWireFormat objects format collection. + + + + + Adds the Marshallers for this version of the OpenWire protocol to the + Collection of Marshallers stored in the OpenWireFormat class. + + + + + Marshalling code for Open Wire Format for MessageAck + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for MessageDispatch + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for MessageDispatchNotification + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for MessageId + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for MessagePull + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for NetworkBridgeFilter + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ProducerAck + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ProducerId + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ProducerInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for RemoveInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for RemoveSubscriptionInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ReplayCommand + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for SessionId + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for SessionInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ShutdownInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for SubscriptionInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for TransactionInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for WireFormatInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for XATransactionId + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ActiveMQBlobMessage + + + + + Marshalling code for Open Wire Format for ActiveMQMessage + + + + + Marshalling code for Open Wire Format for Message + + + + + Marshalling code for Open Wire Format for BaseCommand + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ActiveMQBytesMessage + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ActiveMQDestination + + + + + Marshalling code for Open Wire Format for ActiveMQMapMessage + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ActiveMQObjectMessage + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ActiveMQQueue + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ActiveMQStreamMessage + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ActiveMQTempDestination + + + + + Marshalling code for Open Wire Format for ActiveMQTempQueue + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ActiveMQTempTopic + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ActiveMQTextMessage + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ActiveMQTopic + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for BrokerId + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for BrokerInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ConnectionControl + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ConnectionError + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ConnectionId + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ConnectionInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ConsumerControl + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ConsumerId + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ConsumerInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ControlCommand + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for DataArrayResponse + + + + + Marshalling code for Open Wire Format for Response + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for DataResponse + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for DestinationInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for DiscoveryEvent + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ExceptionResponse + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for FlushCommand + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for IntegerResponse + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for JournalQueueAck + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for JournalTopicAck + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for JournalTrace + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for JournalTransaction + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for KeepAliveInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for LastPartialCommand + + + + + Marshalling code for Open Wire Format for PartialCommand + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for LocalTransactionId + + + + + Marshalling code for Open Wire Format for TransactionId + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Used to create marshallers for a specific version of the OpenWire protocol. + Each non-abstract DataStructure object has a registered Marshaller that is + created and added to the OpenWireFormat objects format collection. + + + + + Adds the Marshallers for this version of the OpenWire protocol to the + Collection of Marshallers stored in the OpenWireFormat class. + + + + + Marshalling code for Open Wire Format for MessageAck + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for MessageDispatch + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for MessageDispatchNotification + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for MessageId + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for MessagePull + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for NetworkBridgeFilter + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ProducerAck + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ProducerId + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ProducerInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for RemoveInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for RemoveSubscriptionInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ReplayCommand + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for SessionId + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for SessionInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ShutdownInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for SubscriptionInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for TransactionInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for WireFormatInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for XATransactionId + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ActiveMQBlobMessage + + + + + Marshalling code for Open Wire Format for ActiveMQMessage + + + + + Marshalling code for Open Wire Format for Message + + + + + Marshalling code for Open Wire Format for BaseCommand + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ActiveMQBytesMessage + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ActiveMQDestination + + + + + Marshalling code for Open Wire Format for ActiveMQMapMessage + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ActiveMQObjectMessage + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ActiveMQQueue + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ActiveMQStreamMessage + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ActiveMQTempDestination + + + + + Marshalling code for Open Wire Format for ActiveMQTempQueue + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ActiveMQTempTopic + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ActiveMQTextMessage + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ActiveMQTopic + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for BrokerId + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for BrokerInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ConnectionControl + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ConnectionError + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ConnectionId + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ConnectionInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ConsumerControl + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ConsumerId + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ConsumerInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ControlCommand + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for DataArrayResponse + + + + + Marshalling code for Open Wire Format for Response + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for DataResponse + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for DestinationInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for DiscoveryEvent + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ExceptionResponse + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for FlushCommand + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for IntegerResponse + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for JournalQueueAck + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for JournalTopicAck + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for JournalTrace + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for JournalTransaction + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for KeepAliveInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for LastPartialCommand + + + + + Marshalling code for Open Wire Format for PartialCommand + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for LocalTransactionId + + + + + Marshalling code for Open Wire Format for TransactionId + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Used to create marshallers for a specific version of the OpenWire protocol. + Each non-abstract DataStructure object has a registered Marshaller that is + created and added to the OpenWireFormat objects format collection. + + + + + Adds the Marshallers for this version of the OpenWire protocol to the + Collection of Marshallers stored in the OpenWireFormat class. + + + + + Marshalling code for Open Wire Format for MessageAck + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for MessageDispatch + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for MessageDispatchNotification + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for MessageId + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for MessagePull + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for NetworkBridgeFilter + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ProducerAck + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ProducerId + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ProducerInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for RemoveInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for RemoveSubscriptionInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ReplayCommand + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for SessionId + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for SessionInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ShutdownInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for SubscriptionInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for TransactionInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for WireFormatInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for XATransactionId + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ActiveMQBlobMessage + + + + + Marshalling code for Open Wire Format for ActiveMQMessage + + + + + Marshalling code for Open Wire Format for Message + + + + + Marshalling code for Open Wire Format for BaseCommand + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ActiveMQBytesMessage + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ActiveMQDestination + + + + + Marshalling code for Open Wire Format for ActiveMQMapMessage + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ActiveMQObjectMessage + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ActiveMQQueue + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ActiveMQStreamMessage + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ActiveMQTempDestination + + + + + Marshalling code for Open Wire Format for ActiveMQTempQueue + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ActiveMQTempTopic + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ActiveMQTextMessage + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ActiveMQTopic + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for BrokerId + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for BrokerInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ConnectionControl + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ConnectionError + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ConnectionId + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ConnectionInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ConsumerControl + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ConsumerId + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ConsumerInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ControlCommand + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for DataArrayResponse + + + + + Marshalling code for Open Wire Format for Response + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for DataResponse + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for DestinationInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for DiscoveryEvent + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ExceptionResponse + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for FlushCommand + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for IntegerResponse + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for JournalQueueAck + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for JournalTopicAck + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for JournalTrace + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for JournalTransaction + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for KeepAliveInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for LastPartialCommand + + + + + Marshalling code for Open Wire Format for PartialCommand + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for LocalTransactionId + + + + + Marshalling code for Open Wire Format for TransactionId + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Used to create marshallers for a specific version of the OpenWire protocol. + Each non-abstract DataStructure object has a registered Marshaller that is + created and added to the OpenWireFormat objects format collection. + + + + + Adds the Marshallers for this version of the OpenWire protocol to the + Collection of Marshallers stored in the OpenWireFormat class. + + + + + Marshalling code for Open Wire Format for MessageAck + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for MessageDispatch + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for MessageDispatchNotification + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for MessageId + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for MessagePull + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for NetworkBridgeFilter + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ProducerAck + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ProducerId + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ProducerInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for RemoveInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for RemoveSubscriptionInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ReplayCommand + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for SessionId + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for SessionInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ShutdownInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for SubscriptionInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for TransactionInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for WireFormatInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for XATransactionId + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ActiveMQBlobMessage + + + + + Marshalling code for Open Wire Format for ActiveMQMessage + + + + + Marshalling code for Open Wire Format for Message + + + + + Marshalling code for Open Wire Format for BaseCommand + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ActiveMQBytesMessage + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ActiveMQDestination + + + + + Marshalling code for Open Wire Format for ActiveMQMapMessage + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ActiveMQObjectMessage + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ActiveMQQueue + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ActiveMQStreamMessage + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ActiveMQTempDestination + + + + + Marshalling code for Open Wire Format for ActiveMQTempQueue + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ActiveMQTempTopic + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ActiveMQTextMessage + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ActiveMQTopic + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for BrokerId + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for BrokerInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ConnectionControl + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ConnectionError + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ConnectionId + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ConnectionInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ConsumerControl + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ConsumerId + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ConsumerInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ControlCommand + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for DataArrayResponse + + + + + Marshalling code for Open Wire Format for Response + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for DataResponse + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for DestinationInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for DiscoveryEvent + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ExceptionResponse + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for FlushCommand + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for IntegerResponse + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for JournalQueueAck + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for JournalTopicAck + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for JournalTrace + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for JournalTransaction + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for KeepAliveInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for LastPartialCommand + + + + + Marshalling code for Open Wire Format for PartialCommand + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for LocalTransactionId + + + + + Marshalling code for Open Wire Format for TransactionId + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Used to create marshallers for a specific version of the OpenWire protocol. + Each non-abstract DataStructure object has a registered Marshaller that is + created and added to the OpenWireFormat objects format collection. + + + + + Adds the Marshallers for this version of the OpenWire protocol to the + Collection of Marshallers stored in the OpenWireFormat class. + + + + + Marshalling code for Open Wire Format for MessageAck + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for MessageDispatch + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for MessageDispatchNotification + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for MessageId + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for MessagePull + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for NetworkBridgeFilter + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ProducerAck + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ProducerId + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ProducerInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for RemoveInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for RemoveSubscriptionInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ReplayCommand + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for SessionId + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for SessionInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for ShutdownInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for SubscriptionInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for TransactionInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for WireFormatInfo + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Marshalling code for Open Wire Format for XATransactionId + + + + + Creates an instance of the Object that this marshaller handles. + + + + + Returns the type code for the Object that this Marshaller handles.. + + + + + Represents a stream of boolean flags + + + + + Implements the OpenWire protocol. + + + + + Represents the marshalling of commands to and from an IO stream + + + + + Marshalls the given command object onto the stream + + + + + Unmarshalls the next command object from the stream + + + + + Gets the Transport that own this WireFormat instnace. + + + + + Gets the current version of the protocol that this WireFormat instance + supports + + + + + Tracks the state of a connection so a newly established transport can be + re-initialized to the state that was tracked. + + + + + + + null if the command is not state tracked. + + + + + + + + + + + + + + + + + + + + + + + + + + + + A Composite task is one of N tasks that can be managed by a + CompositTaskRunner instance. The CompositeTaskRunner checks each + task when its wakeup method is called to determine if the Task has + any work it needs to complete, if no tasks have any pending work + then the CompositeTaskRunner can return to its sleep state until + the next time its wakeup method is called or it is shut down. + + + + + Represents a task that may take a few iterations to complete. + + + + + Performs some portion of the work that this Task object is + assigned to complete. When the task is entirely finished this + method should return false. + + + A this indicates if this Task should + be run again. + + + + + Indicates if this Task has any pending work. + + + + + A TaskRunner that dedicates a single thread to running a single Task. + + + + + Allows you to request a thread execute the associated Task. + + + + + Wakeup the TaskRunner and have it check for any pending work that + needs to be completed. If none is found it will go back to sleep + until another Wakeup call is made. + + + + + Attempt to Shutdown the TaskRunner, this method will wait indefinitely + for the TaskRunner to quite if the task runner is in a call to its Task's + run method and that never returns. + + + + + Performs a timed wait for the TaskRunner to shutdown. If the TaskRunner + is in a call to its Task's run method and that does not return before the + timeout expires this method returns and the TaskRunner may remain in the + running state. + + + A + + + + + Performs a timed wait for the TaskRunner to shutdown. If the TaskRunner + is in a call to its Task's run method and that does not return before the + timeout expires this method sends an Abort to the Task thread and return. + + + A + + + + + A TaskRunner that dedicates a single thread to running a single Task. + + + + + We Expect MANY wakeup calls on the same TaskRunner. + + + + + shut down the task + + + + + + Manages the thread pool for long running tasks. Long running tasks are not + always active but when they are active, they may need a few iterations of + processing for them to become idle. The manager ensures that each task is + processes but that no one task overtakes the system. This is kina like + cooperative multitasking. + + If your OS/JVM combination has a good thread model, you may want to avoid + using a thread pool to run tasks and use a DedicatedTaskRunner instead. + + + + + This class provides a wrapper around the ThreadPool mechanism in .NET + to allow for serial execution of jobs in the ThreadPool and provide + a means of shutting down the execution of jobs in a deterministic + way. + + + + + Represents an asynchronous task that is executed on the ThreadPool + at some point in the future. + + + + + Interface for a Logger object used to store and retrieve Recovery + Information needed to recover distributed transactions that operate + in the Microsoft Distributed Transaction Context. + + + + + The Unique Id of the Resource Manager that this logger is currently + logging recovery information for. + + + + + The Path to the location on disk where the recovery log is written + to and read from. + + + + + Indiciate that the Logger should create and sibdirs of the + given location that don't currently exist. + + + + + Attribute that decorates IRecoveryLoggerFactory implementations to allow + the Recovery Policy to find all the available factories dynamically. + + + + + Indexed by service name + + + + + This property indicates whether or not async send is enabled. + + + + + A Transport that is made reliable by being able to fail over to another + transport when a transport failure is detected. + + + + + Represents the logical networking transport layer. Transports implment the low + level protocol specific portion of the Communication between the Client and a Broker + such as TCP, UDP, etc. Transports make use of WireFormat objects to handle translateing + the cononical OpenWire Commands used in this client into binary wire level packets that + can be sent to the Broker or Service that the Transport connects to. + + + + + Sends a Command object on the Wire but does not wait for any response from the + receiver before returning. + + + A + + + + + Sends a Command object which requires a response from the Broker but does not + wait for the response, instead a FutureResponse object is returned that the + caller can use to wait on the Broker's response. + + + A + + + A + + + + + Sends a Command to the Broker and waits for a Response to that Command before + returning, this version waits indefinitely for a response. + + + A + + + A + + + + + Sends a Command to the Broker and waits for the given TimeSpan to expire for a + response before returning. + + + A + + + A + + + A + + + + + Allows a caller to find a specific type of Transport in the Chain of + Transports that is created. This allows a caller to find a specific + object in the Transport chain and set or get properties on that specific + instance. If the requested type isn't in the chain than Null is returned. + + + A + + + A + + + + + Updates the Uri's that this Transport is aware of and will use to + connect itself to. If the rebalance option is true this method will + terminate any current connection and reconnect to another available + Uri. + + + A + + + A + + + + + Timeout in milliseconds to wait for sending synchronous messages or commands. + Set to -1 for infinite timeout. + + + + + Timeout in milliseconds to wait for sending asynchronous messages or commands. + Set to -1 for infinite timeout. + + + + + Indicates if this Transport has already been disposed and can no longer + be used. + + + + + Indicates if this Transport is Fault Tolerant or not. A fault Tolerant + Transport handles low level connection errors internally allowing a client + to remain unaware of wire level disconnection and reconnection details. + + + + + Indiciates if the Transport is current Connected to is assigned URI. + + + + + The Remote Address that this transport is currently connected to. + + + + + Returns true if this Transport supports reconnections. + + + + + Returns true if this Transport can accept updated lists of connection Uri's. + + + + + Returns the IWireFormat object that this transport uses to marshal and + unmarshal Command objects. + + + + + Adds a new set of Uris to the list of Uris that this Transport can connect to. + + + A + Should the current connection be broken and a new one created. + + + A + + + + + Remove the given Uris from this Transports list of known Uris. + + + A + Should the current connection be broken and a new one created. + + + A + + + + + Gets or sets a value indicating whether to asynchronously connect to sockets + + true if [async connect]; otherwise, false. + + + + If doing an asynchronous connect, the milliseconds before timing out if no connection can be made + + The async timeout. + + + + This class is a helper for the asynchronous connect option + + + + + callback to properly set chosen transport + + + + + Uri to try connecting to + + + + + Failover transport issuing the connection attempt + + + + + Initializes a new instance of the class. + + The set transport. + The URI. + The transport. + + + + Does the connect. + + + + + + + + + + + Defines an Interface for a Command Response Builder used by the MockTransport + to answer Commands sent via the Request and AsnycRequest methods. + + + + + Given a Command, check if it requires a response and return the + appropriate Response that the Broker would send for this Command + + + + + When called the ResponseBuilder must construct all the Responses or + Asynchronous commands that would be sent to this client by the Broker + upon receipt of the passed command. + + + + + Transport used for testing, mimics the behaviour of a normal Transport and allows + messages to be sent and received + + + + + Injects a Command into the Transports inbound message queue, the Commands in the + inbound Queue are dispatched to the registered CommnadHandler instance for + processing, this simulates receiving a message from an external source, e.g. + receiving a new message from the Broker. + + + A + + + + + Timeout in milliseconds to wait for sending synchronous messages or commands. + Set to -1 for infinite timeout. + + + + + Timeout in milliseconds to wait for sending asynchronous messages or commands. + Set to -1 for infinite timeout. + + + + + Factory class to create the MockTransport when given on a URI as mock://XXX + + + + + Builds responses using the internal Cononical OpenWire Commands format. + + + + + An implementation of ITransport that uses sockets to communicate with the broker + + + + + Method Start + + + + + Property IsStarted + + + + + Timeout in milliseconds to wait for sending synchronous messages or commands. + Set to -1 for infinite timeout. + + + + + Timeout in milliseconds to wait for sending asynchronous messages or commands. + Set to -1 for infinite timeout. + + + + + Indicates the name of the Server's Certificate. By default the Host name + of the remote server is used, however if this doesn't match the name of the + Server's certificate then this option can be set to override the default. + + + + + Indicates the location of the Client Certificate to use when the Broker + is configured for Client Auth (not common). The SslTransport will supply + this certificate to the SslStream via the SelectLocalCertificate method. + + + + + Password for the Client Certificate specified via configuration. + + + + + Indicates if the SslTransport should ignore any errors in the supplied Broker + certificate and connect anyway, this is useful in testing with a default AMQ + broker certificate that is self signed. + + + + + Should the Inactivity Monitor be enabled on this Transport. + + + + + Size in bytes of the receive buffer. + + + + + Size in bytes of send buffer. + + + + + The time-out value, in milliseconds. The default value is 0, which indicates + an infinite time-out period. Specifying -1 also indicates an infinite time-out period. + + + + + The time-out value, in milliseconds. If you set the property with a value between 1 and 499, + the value will be changed to 500. The default value is 0, which indicates an infinite + time-out period. Specifying -1 also indicates an infinite time-out period. + + + + + Override in a subclass to create the specific type of transport that is + being implemented. + + + + + Attribute that decorates ITransportFactory implementations to allow + the TransportFactory to find all the available factories dynamically. + + + + + Handles asynchronous responses + + + + + This class make sure that the connection is still alive, + by monitoring the reception of commands from the peer of + the transport. + + + + + Used to implement a filter on the transport layer. + + + + + Method Oneway + + A Command + + + + Method AsyncRequest + + A FutureResponse + A Command + + + + Method Request + + A Response + A Command + + + + Method Request with time out for Response. + + A Response + A Command + Timeout in milliseconds + + + + Method Start + + + + + Method Dispose + + + + + Property IsStarted + + + + + Timeout in milliseconds to wait for sending synchronous messages or commands. + Set to -1 for infinite timeout. + + + + + Timeout in milliseconds to wait for sending asynchronous messages or commands. + Set to -1 for infinite timeout. + + + + + Constructor or the Inactivity Monitor + + + + + + Check the write to the broker + + + + + Checks if we should allow the read check(if less than 90% of the read + check time elapsed then we dont do the readcheck + + + + + + + A Transport filter that is used to log the commands sent and received. + + + + + A Transport which guards access to the next transport using a mutex. + + + + + A Transport that correlates asynchronous send/receive messages into single request/response. + + + + + Creates a normal transport. + + + the transport + + + + Create a transport factory for the scheme. If we do not support the transport protocol, + an NMSConnectionException will be thrown. + + + + + + + A Transport which negotiates the wire format + + + + + A FIFO based MessageDispatchChannel. + + + + + Defines an interface for a Message Channel used to dispatch incoming + Messages to a Session or MessageConsumer. The implementation controls + how the messages are dequeued from the channel, one option is for a + FIFO ordering while another might be to sort the Message's based on the + set Message Priority. + + + + Construct an IdGenerator + + + + Generate a Unique Id + + + A + + + + + Generate a unique ID - that is friendly for a URL or file system + + + A + + + + + From a generated id - return the seed (i.e. minus the count) + + + A + + + A + + + + + From a generated id - return the generator count + + + A + + + A + + + + + Does a proper compare on the ids + + + A + + + A + + + A + + + + + As we have to find the hostname as a side-affect of generating a unique + stub, we allow it's easy retrevial here + + + + + Utility class used to provide conveince methods that apply named property + settings to objects. + + + + + Sets the public properties of a target object using a string map. + This method uses .Net reflection to identify public properties of + the target object matching the keys from the passed map. + + The object whose properties will be set. + Map of key/value pairs. + + + + Sets the public properties of a target object using a string map. + This method uses .Net reflection to identify public properties of + the target object matching the keys from the passed map. + + The object whose properties will be set. + Map of key/value pairs. + Key value prefix. This is prepended to the property name + before searching for a matching key value. + + + + Utility class for Tracking Memory Usage with an imposed limit on the amount + available. Provides methods for objects to wait on more space to become + available if the memory limit is reached. + + + + + If no space is available then this method blocks until more becomes available. + + + + + If no space is available then this method blocks until more becomes available + or until the specified timeout expires. + + + A + + + + + Attempts to increase the amount of Memory Used, if non is available to fill + then this method blocks until more is freed. + + + A + + + + + Increase the level of Usage. + + + A + + + + + Decrease the level of Usage. + + + A + + + + + Checks if the Usage Windows has become full, is so returns true + otherwise returns false. + + + A + + + + + Consumes Advisory Messages for Temp Destination creation on deletion so that + the connection can track valid destinations for its sessions, and session resources. + + + + + Interface that provides for a Class to provide dispatching service for + an OpenWire MessageDispatch command. + + + + + Exception thrown when the broker returns an error + + + + + Initializes a new instance of the BrokerException class with serialized data. + Throws System.ArgumentNullException if the info parameter is null. + Throws System.Runtime.Serialization.SerializationException if the class name is null or System.Exception.HResult is zero (0). + + The SerializationInfo that holds the serialized object data about the exception being thrown. + The StreamingContext that contains contextual information about the source or destination. + + + + When overridden in a derived class, sets the SerializationInfo + with information about the exception. + + The SerializationInfo that holds the serialized object data about the exception being thrown. + The StreamingContext that contains contextual information about the source or destination. + + + + Generates a nice textual stack trace + + + + + Default Compression policy for NMS.ActiveMQ uses the built in GZipStream + to compress and decompress the message body. This is not compatible with + compression used by ActiveMQ so users should use this with caution. + + + + + Policy interface for Message Compression, the policy should return + a new Stream for compression or decompression upon request that wraps + the provided Stream instance. + + + + + Represents a connection with a message broker + + + + + Starts asynchronous message delivery of incoming messages for this connection. + Synchronous delivery is unaffected. + + + + + Temporarily stop asynchronous delivery of inbound messages for this connection. + The sending of outbound messages is unaffected. + + + + + Creates a new session to work on this connection + + + + + Creates a new session to work on this connection + + + + + Performs a synchronous request-response with the broker + + + + + + Performs a synchronous request-response with the broker for requested timeout duration. + + + + + + + + Check and ensure that the connection objcet is connected. If it is not + connected or is closed, a ConnectionClosedException is thrown. + + + + + Handle incoming commands + + An ITransport + A Command + + + + Creates a new local transaction ID + + + + + A delegate that can receive transport level exceptions. + + + + + An asynchronous listener that is notified when a Fault tolerant connection + has been interrupted. + + + + + An asynchronous listener that is notified when a Fault tolerant connection + has been resumed. + + + + + This property indicates what version of the Protocol we are using to + communicate with the Broker, if not set we return the lowest version + number to indicate we support only the basic command set. + + + + + This property indicates whether or not async send is enabled. + + + + + This property indicates whether or not async close is enabled. + When the connection is closed, it will either send a synchronous + DisposeOf command to the broker and wait for confirmation (if true), + or it will send the DisposeOf command asynchronously. + + + + + This property indicates whether or not async sends are used for + message acknowledgement messages. Sending Acks async can improve + performance but may decrease reliability. + + + + + This property sets the acknowledgment mode for the connection. + The URI parameter connection.ackmode can be set to a string value + that maps to the enumeration value. + + + + + This property is the maximum number of bytes in memory that a producer will transmit + to a broker before waiting for acknowledgement messages from the broker that it has + accepted the previously sent messages. In other words, this how you configure the + producer flow control window that is used for async sends where the client is responsible + for managing memory usage. The default value of 0 means no flow control at the client + + + + + This property forces all messages that are sent to be sent synchronously overriding + any usage of the AsyncSend flag. This can reduce performance in some cases since the + only messages we normally send synchronously are Persistent messages not sent in a + transaction. This options guarantees that no send will return until the broker has + acknowledge receipt of the message + + + + + This property indicates whether Message's should be copied before being sent via + one of the Connection's send methods. Copying the Message object allows the user + to resuse the Object over for another send. If the message isn't copied performance + can improve but the user must not reuse the Object as it may not have been sent + before they reset its payload. + + + + + Enable or Disable the use of Compression on Message bodies. When enabled all + messages have their body compressed using the Deflate compression algorithm. + The recipient of the message must support the use of message compression as well + otherwise the receiving client will receive a message whose body appears in the + compressed form. + + + + + Indicate whether or not the resources of this Connection should support the + Message Priority value of incoming messages and dispatch them accordingly. + When disabled Message are always dispatched to Consumers in FIFO order. + + + + + synchronously or asynchronously by the broker. + + + + + The Default Client Id used if the ClientId property is not set explicity. + + + + + Get/or set the redelivery policy for this connection. + + + + + This property determines if the asynchronous message delivery of incoming + messages has been started for this connection. + + + + + Exception thrown when a connection is used that it already closed + + + + + Initializes a new instance of the ConnectionClosedException class with serialized data. + Throws System.ArgumentNullException if the info parameter is null. + Throws System.Runtime.Serialization.SerializationException if the class name is null or System.Exception.HResult is zero (0). + + The SerializationInfo that holds the serialized object data about the exception being thrown. + The StreamingContext that contains contextual information about the source or destination. + + + + Represents a connection with a message broker + + + + + Get/or set the broker Uri. + + + + + A Delegate that is called each time a Message is dispatched to allow the client to do + any necessary transformations on the received message before it is delivered. The + ConnectionFactory sets the provided delegate instance on each Connection instance that + is created from this factory, each connection in turn passes the delegate along to each + Session it creates which then passes that along to the Consumers it creates. + + + + + A delegate that is called each time a Message is sent from this Producer which allows + the application to perform any needed transformations on the Message before it is sent. + The ConnectionFactory sets the provided delegate instance on each Connection instance that + is created from this factory, each connection in turn passes the delegate along to each + Session it creates which then passes that along to the Producers it creates. + + + + + Exception thrown when a connection is used that it has failed in some way. + + + + + Initializes a new instance of the ConnectionFailedException class with serialized data. + Throws System.ArgumentNullException if the info parameter is null. + Throws System.Runtime.Serialization.SerializationException if the class name is null or System.Exception.HResult is zero (0). + + The SerializationInfo that holds the serialized object data about the exception being thrown. + The StreamingContext that contains contextual information about the source or destination. + + + + Implements the Connection Meta-Data feature for Apache.NMS.ActiveMQ + + + + + Exception thrown when a consumer is used that it already closed + + + + + Initializes a new instance of the ConsumerClosedException class with serialized data. + Throws System.ArgumentNullException if the info parameter is null. + Throws System.Runtime.Serialization.SerializationException if the class name is null or System.Exception.HResult is zero (0). + + The SerializationInfo that holds the serialized object data about the exception being thrown. + The StreamingContext that contains contextual information about the source or destination. + + + + Summary description for DestinationFilter. + + + + + Exception thrown when an IO error occurs + + + + + Called before a commit or rollback is applied. + + + + + Called after a commit + + + + + Called after a transaction rollback + + + + + An object capable of receiving messages from some destination + + + + + Called from the parent Session of this Consumer to indicate that its + parent session is closing and this Consumer should close down but not + send any message to the Broker as the parent close will take care of + removing its child resources at the broker. + + + + + Used to get an enqueued message from the unconsumedMessages list. The + amount of time this method blocks is based on the timeout value. if + timeout == Timeout.Infinite then it blocks until a message is received. + if timeout == 0 then it it tries to not block at all, it returns a + message if it is available if timeout > 0 then it blocks up to timeout + amount of time. Expired messages will consumed by this method. + + + A + + + A + + + + + A Delegate that is called each time a Message is dispatched to allow the client to do + any necessary transformations on the received message before it is delivered. + + + + + An object capable of sending messages to some destination + + + + + Called from the Parent session to deactivate this Producer, when a parent + is closed all children are automatically removed from the broker so this + method circumvents the need to send a Remove command to the broker. + + + + + Extends the basic Connection class to provide a transacted Connection + instance that operates within the bounds of a .NET Scoped Transaction. + + The default Session creation methods of Connection are overriden here + to always return a TX capable session instance. + + + + + Policy class used to configure the options associated with TX + recovery. + + + + + Default provider of ISession + + + + + Private object used for synchronization, instead of public "this" + + + + + Delete a destination (Queue, Topic, Temp Queue, Temp Topic). + + + + + Ensures that a transaction is started + + + + + Prevents message from throwing an exception if a client calls Acknoweldge on + a message that is part of a transaction either being produced or consumed. The + JMS Spec indicates that users should be able to call Acknowledge with no effect + if the message is in a transaction. + + + A + + + + + Sets the prefetch size, the maximum number of messages a broker will dispatch to consumers + until acknowledgements are received. + + + + + Sets the maximum number of messages to keep around per consumer + in addition to the prefetch window for non-durable topics until messages + will start to be evicted for slow consumers. + Must be > 0 to enable this feature + + + + + Enables or disables whether asynchronous dispatch should be used by the broker + + + + + Enables or disables exclusive consumers when using queues. An exclusive consumer means + only one instance of a consumer is allowed to process messages on a queue to preserve order + + + + + Enables or disables retroactive mode for consumers; i.e. do they go back in time or not? + + + + + Sets the default consumer priority for consumers + + + + + A Delegate that is called each time a Message is dispatched to allow the client to do + any necessary transformations on the received message before it is delivered. + The Session instance sets the delegate on each Consumer it creates. + + + + + A delegate that is called each time a Message is sent from this Producer which allows + the application to perform any needed transformations on the Message before it is sent. + The Session instance sets the delegate on each Producer it creates. + + + + + Manually Enlists in the given Transaction. This can be used to when the + client is using the Session in Asynchronous listener mode since the Session + cannot atuomatically join in this case as there is no Ambient transaction in + the Message Dispatch thread. This also allows for clients to use the explicit + exception model when necessary. + + + + + Reports Transacted whenever there is an Ambient Transaction or the internal + TransactionContext is still involed in a .NET Transaction beyond the lifetime + of an ambient transaction (can happen during a scoped transaction disposing + without Complete being called and a Rollback is in progress.) + + + + + Class used to define the various limits that should be used for the Prefetch + limit on destination based on the type of Destination in use. + + + + + Exception thrown when an Request times out. + + + + + Method AddSynchronization + + + + + Should be called from NetTxSession when created to check if any TX + data is stored for recovery and whether the Broker has matching info + stored. If an Transaction is found that belongs to this client and is + still alive on the Broker it will be recovered, otherwise the stored + data should be cleared. + + +
+
diff --git a/lib/Net/4.0/Apache.NMS.dll b/lib/Net/4.0/Apache.NMS.dll new file mode 100644 index 00000000..b9dc125a Binary files /dev/null and b/lib/Net/4.0/Apache.NMS.dll differ diff --git a/lib/Net/4.0/Apache.NMS.xml b/lib/Net/4.0/Apache.NMS.xml new file mode 100644 index 00000000..385b480c --- /dev/null +++ b/lib/Net/4.0/Apache.NMS.xml @@ -0,0 +1,2736 @@ + + + + Apache.NMS + + + + + A BinaryWriter that switches the endian orientation of the write operations so that they + are compatible across platforms. + + + + + Method Write + + A long + + + + Method Write + + An ushort + + + + Method Write + + An int + + + + Method Write + + A char[] + An int + An int + + + + Method Write + + A char[] + + + + Method Write + + An uint + + + + Method Write + + A char + + + + Method Write + + An ulong + + + + Method Write + + A short + + + + Method Write, writes a string to the output using the WriteString16 + method. + + A string + + + + Method WriteString16, writes a string to the output using the Java + standard modified UTF-8 encoding with an unsigned short value written first to + indicate the length of the encoded data, the short is read as an unsigned + value so the max amount of data this method can write is 65535 encoded bytes. + + Unlike the WriteString32 method this method does not encode the length + value to -1 if the string is null, this is to match the behaviour of + the Java DataOuputStream class's writeUTF method. + + Because modified UTF-8 encding can result in a number of bytes greater that + the size of the String this method must first check that the encoding proces + will not result in a value that cannot be written becuase it is greater than + the max value of an unsigned short. + + A string + + + + Method WriteString32, writes a string to the output using the Openwire + standard modified UTF-8 encoding which an int value written first to + indicate the length of the encoded data, the int is read as an signed + value so the max amount of data this method can write is 2^31 encoded bytes. + + In the case of a null value being passed this method writes a -1 to the + stream to indicate that the string is null. + + Because modified UTF-8 encding can result in a number of bytes greater that + the size of the String this method must first check that the encoding proces + will not result in a value that cannot be written becuase it is greater than + the max value of an int. + + A string + + + + Method Write + + A double + + + + Method Write + + A double + + + + A BinaryWriter that switches the endian orientation of the read operations so that they + are compatible across platforms. + + + + + Method Read + + An int + A char[] + An int + An int + + + + Method ReadChars + + A char[] + An int + + + + Method ReadInt16 + + A short + + + + Method ReadChar + + A char + + + + Method ReadInt64 + + A long + + + + Method ReadUInt64 + + An ulong + + + + Method ReadUInt32 + + An uint + + + + Method ReadUInt16 + + An ushort + + + + Method ReadInt32 + + An int + + + + Method ReadString + + A string + + + + Method ReadString16, reads a String value encoded in the Java modified + UTF-8 format with a length index encoded as a 16bit unsigned short. + + A string + + + + Method ReadString32, reads a String value encoded in the Java modified + UTF-8 format with a length index encoded as a singed integer value. + + A string + + + + Decrement the count, releasing any waiting Threads when the count reaches Zero. + + + + + Causes the current Thread to wait for the count to reach zero, unless + the Thread is interrupted. + + + + + Causes the current thread to wait until the latch has counted down to zero, unless + the thread is interrupted, or the specified waiting time elapses. + + + + + Gets the current count for this Latch. + + + + + A StreamMessage object is used to send a stream of primitive types in the + .NET programming language. It is filled and read sequentially. It inherits + from the Message interface and adds a stream message body. + + The primitive types can be read or written explicitly using methods for each + type. They may also be read or written generically as objects. For instance, + a call to IStreamMessage.WriteInt32(6) is equivalent to + StreamMessage.WriteObject( (Int32)6 ). Both forms are provided, because the + explicit form is convenient for static programming, and the object form is + needed when types are not known at compile time. + + When the message is first created, and when ClearBody is called, the body of + the message is in write-only mode. After the first call to reset has been made, + the message body is in read-only mode. After a message has been sent, the + client that sent it can retain and modify it without affecting the message + that has been sent. The same message object can be sent multiple times. When a + message has been received, the provider has called reset so that the message + body is in read-only mode for the client. + + If ClearBody is called on a message in read-only mode, the message body is + cleared and the message body is in write-only mode. + + If a client attempts to read a message in write-only mode, a + MessageNotReadableException is thrown. + + If a client attempts to write a message in read-only mode, a + MessageNotWriteableException is thrown. + + IStreamMessage objects support the following conversion table. The marked cases + must be supported. The unmarked cases must throw a NMSException. The + String-to-primitive conversions may throw a runtime exception if the primitive's + valueOf() method does not accept it as a valid String representation of the + primitive. + + A value written as the row type can be read as the column type. + + | | boolean byte short char int long float double String byte[] + |---------------------------------------------------------------------- + |boolean | X X + |byte | X X X X X + |short | X X X X + |char | X X + |int | X X X + |long | X X + |float | X X X + |double | X X + |String | X X X X X X X X + |byte[] | X + |---------------------------------------------------------------------- + + + + + + Represents a message either to be sent to a message broker or received from a message broker. + + + + + If using client acknowledgement mode on the session, then this method will acknowledge that the + message has been processed correctly. + + + + + Clears out the message body. Clearing a message's body does not clear its header + values or property entries. + + If this message body was read-only, calling this method leaves the message body in + the same state as an empty body in a newly created message. + + + + + Clears a message's properties. + + The message's header fields and body are not cleared. + + + + + Provides access to the message properties (headers). + + + + + The correlation ID used to correlate messages from conversations or long running business processes. + + + + + The destination of the message. This property is set by the IMessageProducer. + + + + + The amount of time for which this message is valid. Zero if this message does not expire. + + + + + The message ID which is set by the provider. + + + + + Whether or not this message is persistent. + + + + + The Priority of this message. + + + + + Returns true if this message has been redelivered to this or another consumer before being acknowledged successfully. + + + + + The destination that the consumer of this message should send replies to + + + + + The timestamp of when the message was pubished in UTC time. If the publisher disables setting + the timestamp on the message, the time will be set to the start of the UNIX epoc (1970-01-01 00:00:00). + + + + + The type name of this message. + + + + + Reads a boolean from the stream message. + + + A + + + if the NMS provider fails to read the message due to some internal error. + + + if unexpected end of message stream has been reached. + + + if this type conversion is invalid. + + + if the message is in write-only mode. + + + + + Reads a byte from the stream message. + + + A + + + if the NMS provider fails to read the message due to some internal error. + + + if unexpected end of message stream has been reached. + + + if this type conversion is invalid. + + + if the message is in write-only mode. + + + + + Reads a byte array field from the stream message into the specified byte[] + object (the read buffer). + + To read the field value, ReadBytes should be successively called until it returns + a value less than the length of the read buffer. The value of the bytes in the + buffer following the last byte read is undefined. + + If ReadBytes returns a value equal to the length of the buffer, a subsequent + ReadBytes call must be made. If there are no more bytes to be read, this call + returns -1. + + If the byte array field value is null, ReadBytes returns -1. + If the byte array field value is empty, ReadBytes returns 0. + + Once the first ReadBytes call on a byte[] field value has been made, the full + value of the field must be read before it is valid to read the next field. + An attempt to read the next field before that has been done will throw a + MessageFormatException. + + To read the byte field value into a new byte[] object, use the ReadObject method. + + + A + + + A + the total number of bytes read into the buffer, or -1 if there is no more data + because the end of the byte field has been reached + + + if the NMS provider fails to read the message due to some internal error. + + + if unexpected end of message stream has been reached. + + + if this type conversion is invalid. + + + if the message is in write-only mode. + + + + + + Reads a char from the stream message. + + + A + + + if the NMS provider fails to read the message due to some internal error. + + + if unexpected end of message stream has been reached. + + + if this type conversion is invalid. + + + if the message is in write-only mode. + + + + + Reads a short from the stream message. + + + A + + + if the NMS provider fails to read the message due to some internal error. + + + if unexpected end of message stream has been reached. + + + if this type conversion is invalid. + + + if the message is in write-only mode. + + + + + Reads a int from the stream message. + + + A + + + if the NMS provider fails to read the message due to some internal error. + + + if unexpected end of message stream has been reached. + + + if this type conversion is invalid. + + + if the message is in write-only mode. + + + + + Reads a long from the stream message. + + + A + + + if the NMS provider fails to read the message due to some internal error. + + + if unexpected end of message stream has been reached. + + + if this type conversion is invalid. + + + if the message is in write-only mode. + + + + + Reads a float from the stream message. + + + A + + + if the NMS provider fails to read the message due to some internal error. + + + if unexpected end of message stream has been reached. + + + if this type conversion is invalid. + + + if the message is in write-only mode. + + + + + Reads a double from the stream message. + + + A + + + if the NMS provider fails to read the message due to some internal error. + + + if unexpected end of message stream has been reached. + + + if this type conversion is invalid. + + + if the message is in write-only mode. + + + + + Reads a string from the stream message. + + + A + + + if the NMS provider fails to read the message due to some internal error. + + + if unexpected end of message stream has been reached. + + + if this type conversion is invalid. + + + if the message is in write-only mode. + + + + + Reads a Object from the stream message. + + + A + + + if the NMS provider fails to read the message due to some internal error. + + + if unexpected end of message stream has been reached. + + + if this type conversion is invalid. + + + if the message is in write-only mode. + + + + + Writes a boolean to the stream message. + + + A + + + if the NMS provider fails to write to the message due to some internal error. + + + if the message is in read-only mode. + + + + + Writes a byte to the stream message. + + + A + + + if the NMS provider fails to write to the message due to some internal error. + + + if the message is in read-only mode. + + + + + Writes a byte array field to the stream message. + + The byte array value is written to the message as a byte array field. + Consecutively written byte array fields are treated as two distinct + fields when the fields are read. + + + A + + + if the NMS provider fails to write to the message due to some internal error. + + + if the message is in read-only mode. + + + + + Writes a portion of a byte array as a byte array field to the stream message. + + The a portion of the byte array value is written to the message as a byte + array field. Consecutively written byte array fields are treated as two distinct + fields when the fields are read. + + + A + + + A value that indicates the point in the buffer to + begin writing to the stream message. + + + A value that indicates how many bytes in the buffer + to write to the stream message. + + + if the NMS provider fails to write to the message due to some internal error. + + + if the message is in read-only mode. + + + + + Writes a char to the stream message. + + + A + + + if the NMS provider fails to write to the message due to some internal error. + + + if the message is in read-only mode. + + + + + Writes a short to the stream message. + + + A + + + if the NMS provider fails to write to the message due to some internal error. + + + if the message is in read-only mode. + + + + + Writes a int to the stream message. + + + A + + + if the NMS provider fails to write to the message due to some internal error. + + + if the message is in read-only mode. + + + + + Writes a long to the stream message. + + + A + + + if the NMS provider fails to write to the message due to some internal error. + + + if the message is in read-only mode. + + + + + Writes a float to the stream message. + + + A + + + if the NMS provider fails to write to the message due to some internal error. + + + if the message is in read-only mode. + + + + + Writes a double to the stream message. + + + A + + + if the NMS provider fails to write to the message due to some internal error. + + + if the message is in read-only mode. + + + + + Writes a string to the stream message. + + + A + + + if the NMS provider fails to write to the message due to some internal error. + + + if the message is in read-only mode. + + + + + Writes a boolean to the stream message. + + + A + + + if the NMS provider fails to write to the message due to some internal error. + + + if the message is in read-only mode. + + + + + Puts the message body in read-only mode and repositions the stream to the beginning. + + + Thrown when the Message has an invalid format. + + + Thrown when there is an unhandled exception thrown from the provider. + + + + + A lifecycle for NMS objects to indicate they can be started + + + + + A delegate that can receive messages async. + + + + + A delegate that a client can register that will be called each time a consumer dispatches a message + to the client code to allow the client to Transform a received message from one type to another, + StreamMessage to TextMessage, ObjectMessage to TextMessage containing XML, etc. This allows a + client to create a consumer that will automatically transform a message to a type that the client is + capable of processing or adding additional information to a received message. For messages that do + not need to be processed the client should return null from this method, in this case the original + message will be dispatched to the client. + + + + + A consumer of messages + + + + + Waits until a message is available and returns it + + + + + If a message is available within the timeout duration it is returned otherwise this method returns null + + + + + Receives the next message if one is immediately available for delivery on the client side + otherwise this method returns null. It is never an error for this method to return null, the + time of Message availability varies so your client cannot rely on this method to receive a + message immediately after one has been sent. + + + + + Closes the message consumer. + + + Clients should close message consumers them when they are not needed. + This call blocks until a receive or message listener in progress has completed. + A blocked message consumer receive call returns null when this message consumer is closed. + + + + + An asynchronous listener which can be used to consume messages asynchronously + + + + + A Delegate that is called each time a Message is dispatched to allow the client to do + any necessary transformations on the received message before it is delivered. + + + + + A Factory of IConnection objects + + + + + Creates a new connection + + + + + Creates a new connection with the given user name and password + + + + + Get/or set the broker Uri. + + + + + Get/or set the redelivery policy that new IConnection objects are + assigned upon creation. + + + + + A Delegate that is called each time a Message is dispatched to allow the client to do + any necessary transformations on the received message before it is delivered. The + ConnectionFactory sets the provided delegate instance on each Connection instance that + is created from this factory, each connection in turn passes the delegate along to each + Session it creates which then passes that along to the Consumers it creates. + + + + + A delegate that is called each time a Message is sent from this Producer which allows + the application to perform any needed transformations on the Message before it is sent. + The ConnectionFactory sets the provided delegate instance on each Connection instance that + is created from this factory, each connection in turn passes the delegate along to each + Session it creates which then passes that along to the Producers it creates. + + + + + The start of the Windows epoch + + + + + The start of the Java epoch + + + + + The difference between the Windows epoch and the Java epoch + in milliseconds. + + + + + Represents a connection failure. + + + + + Represents an NMS exception + + + + + Initializes a new instance of the NMSException class with serialized data. + Throws System.ArgumentNullException if the info parameter is null. + Throws System.Runtime.Serialization.SerializationException if the class name is null or System.Exception.HResult is zero (0). + + The SerializationInfo that holds the serialized object data about the exception being thrown. + The StreamingContext that contains contextual information about the source or destination. + + + + When overridden in a derived class, sets the SerializationInfo with information about the exception. + + The SerializationInfo that holds the serialized object data about the exception being thrown. + The StreamingContext that contains contextual information about the source or destination. + + + + Returns the error code for the exception, if one has been provided. + + + + + Initializes a new instance of the NMSConnectionException class with serialized data. + Throws System.ArgumentNullException if the info parameter is null. + Throws System.Runtime.Serialization.SerializationException if the class name is null or System.Exception.HResult is zero (0). + + The SerializationInfo that holds the serialized object data about the exception being thrown. + The StreamingContext that contains contextual information about the source or destination. + + + + A lifecycle for NMS objects to indicate they can be stopped + + + + + The time in milliseconds to delay a redelivery + + The redelivered counter. + + + + + Gets or sets the collision avoidance percent. This causes the redelivery delay + to be adjusted in order to avoid possible collision when messages are redelivered + to concurrent consumers. + + The collision avoidance factor. + + + + Gets or sets a value indicating whether to [use collision avoidance]. + + + true if [use collision avoidance]; otherwise, false. + + + + + The time in milliseconds to initially delay a redelivery + + The initial redelivery delay. + + + + Gets or sets the maximum redeliveries. A value less than zero indicates + that there is no maximum and the NMS provider should retry forever. + + The maximum redeliveries. + + + + Gets or sets a value indicating whether [use exponential back off]. + + + true if [use exponential back off]; otherwise, false. + + + + + Gets or sets the back off multiplier. + + The back off multiplier. + + + + Represents an Object message which contains a serializable .Net object. + + + + + Represents the type of the destination such as a queue or topic. + + + + + A base interface for destinations such as queues or topics + + + + + Support class that switches from one endian to the other. + + + + + Initializes a new instance of the ResourceAllocationException class with serialized data. + Throws System.ArgumentNullException if the info parameter is null. + Throws System.Runtime.Serialization.SerializationException if the class name is null or System.Exception.HResult is zero (0). + + The SerializationInfo that holds the serialized object data about the exception being thrown. + The StreamingContext that contains contextual information about the source or destination. + + + + Represents a text based message + + + + + The INetTxSession interface extends the capability of Session by adding access to a NMS + provider's support for the Distributed Transactions (optional). The transaction support + leverages the .NET Frameworks System.Transactions API. + + The NMS Provider implements this interface by participating in the current ambient transaction + as defined by the System.Transactions.Transaction.Current static member. Whenever a new + Transaction is entered the NMS provider should enlist in that transaction. When there is no + ambient transaction then the NMS Prodiver should allow the INetTxSession instance to behave + as a session that is in Auto Acknowledge mode. + + Calling the Commit or Rollback methods on a INetTxSession instance should throw an exception + as those operations are controlled by the Transaction Manager. + + The INetTxSession interface is optional. NMS providers are not required to support this + interface. This interface is for use by NMS providers to support transactional environments. + + + + + Represents a single unit of work on an IConnection. + So the ISession can be used to perform transactional receive and sends + + + + + Creates a producer of messages + + + + + Creates a producer of messages on a given destination + + + + + Creates a consumer of messages on a given destination + + + + + Creates a consumer of messages on a given destination with a selector + + + + + Creates a consumer of messages on a given destination with a selector + + + + + Creates a named durable consumer of messages on a given destination with a selector + + + + + Deletes a durable consumer created with CreateDurableConsumer(). + + Name of the durable consumer + + + + Creates a QueueBrowser object to peek at the messages on the specified queue. + + + A + + + A + + + If the Prodiver does not support creation of Queue Browsers. + + + + + Creates a QueueBrowser object to peek at the messages on the specified queue + using a message selector. + + + A + + + A + + + A + + + If the Prodiver does not support creation of Queue Browsers. + + + + + Returns the queue for the given name + + + + + Returns the topic for the given name + + + + + Creates a temporary queue + + + + + Creates a temporary topic + + + + + Delete a destination (Queue, Topic, Temp Queue, Temp Topic). + + + + + Creates a new message with an empty body + + + + + Creates a new text message with an empty body + + + + + Creates a new text message with the given body + + + + + Creates a new Map message which contains primitive key and value pairs + + + + + Creates a new Object message containing the given .NET object as the body + + + + + Creates a new binary message + + + + + Creates a new binary message with the given body + + + + + Creates a new stream message + + + + + Closes the session. There is no need to close the producers and consumers + of a closed session. + + + + + If this is a transactional session then commit all message + send and acknowledgements for producers and consumers in this session + + + + + If this is a transactional session then rollback all message + send and acknowledgements for producers and consumers in this session + + + + + A Delegate that is called each time a Message is dispatched to allow the client to do + any necessary transformations on the received message before it is delivered. + The Session instance sets the delegate on each Consumer it creates. + + + + + A delegate that is called each time a Message is sent from this Producer which allows + the application to perform any needed transformations on the Message before it is sent. + The Session instance sets the delegate on each Producer it creates. + + + + + Initializes a new instance of the IllegalStateException class with serialized data. + Throws System.ArgumentNullException if the info parameter is null. + Throws System.Runtime.Serialization.SerializationException if the class name is null or System.Exception.HResult is zero (0). + + The SerializationInfo that holds the serialized object data about the exception being thrown. + The StreamingContext that contains contextual information about the source or destination. + + + + A policy used to customize exactly how you want the redelivery to work. + + + + + Clone this object and return a new instance that the caller now owns. + + + + + Gets the random number generator. + + The random number generator. + + + + Gets the next boolean + + true if [next bool]; otherwise, false. + + + + Initializes a new instance of the InvalidSelectorException class with serialized data. + Throws System.ArgumentNullException if the info parameter is null. + Throws System.Runtime.Serialization.SerializationException if the class name is null or System.Exception.HResult is zero (0). + + The SerializationInfo that holds the serialized object data about the exception being thrown. + The StreamingContext that contains contextual information about the source or destination. + + + + Represents a topic in a message broker. A message sent to a topic + is delivered to all consumers on the topic who are interested in the message. + + + + + Represents a Map message which contains key and value pairs which are + of primitive types + + + + + Initializes a new instance of the MessageNotWriteableException class with serialized data. + Throws System.ArgumentNullException if the info parameter is null. + Throws System.Runtime.Serialization.SerializationException if the class name is null or System.Exception.HResult is zero (0). + + The SerializationInfo that holds the serialized object data about the exception being thrown. + The StreamingContext that contains contextual information about the source or destination. + + + + Represents a temporary topic which exists for the duration + of the IConnection which created it. + + + + + Deletes this Temporary Destination, If there are existing receivers + still using it, a NMSException will be thrown. + + + If NMS Provider fails to Delete the Temp Destination or the client does + not support this operation. + + + + + An attempt is made to access an invalid destination + + + + + Initializes a new instance of the InvalidDestinationException class with serialized data. + Throws System.ArgumentNullException if the info parameter is null. + Throws System.Runtime.Serialization.SerializationException if the class name is null or System.Exception.HResult is zero (0). + + The SerializationInfo that holds the serialized object data about the exception being thrown. + The StreamingContext that contains contextual information about the source or destination. + + + + + A BytesMessage object is used to send a message containing a stream of uninterpreted + bytes. It inherits from the Message interface and adds a bytes message body. The + receiver of the message supplies the interpretation of the bytes. + + This message type is for client encoding of existing message formats. If possible, + one of the other self-defining message types should be used instead. + + Although the NMS API allows the use of message properties with byte messages, they + are typically not used, since the inclusion of properties may affect the format. + + When the message is first created, and when ClearBody is called, the body of the + message is in write-only mode. After the first call to Reset has been made, the + message body is in read-only mode. After a message has been sent, the client that + sent it can retain and modify it without affecting the message that has been sent. + The same message object can be sent multiple times. When a message has been received, + the provider has called Reset so that the message body is in read-only mode for the + client. + + If ClearBody is called on a message in read-only mode, the message body is cleared and + the message is in write-only mode. + + If a client attempts to read a message in write-only mode, a MessageNotReadableException + is thrown. + + If a client attempts to write a message in read-only mode, a MessageNotWriteableException + is thrown. + + + + + Reads a byte from the Message Stream. + + + A + + + Thrown when the Message is in write-only mode. + + + Thrown when an unexpected end of bytes has been reached. + + + Thrown when there is an unhandled exception thrown from the provider. + + + + + Writes a byte to the Message stream. + + + A + + + Thrown when the Message is in read-only mode. + + + Thrown when there is an unhandled exception thrown from the provider. + + + + + Reads a boolean from the Message Stream. + + + A + + + Thrown when the Message is in write-only mode. + + + Thrown when an unexpected end of bytes has been reached. + + + Thrown when there is an unhandled exception thrown from the provider. + + + + + Write a one byte value to the message stream representing the boolean + value passed. + + + A + + + Thrown when the Message is in read-only mode. + + + Thrown when there is an unhandled exception thrown from the provider. + + + + + Reads a char from the Message Stream. + + + A + + + Thrown when the Message is in write-only mode. + + + Thrown when an unexpected end of bytes has been reached. + + + Thrown when there is an unhandled exception thrown from the provider. + + + + + Write a two byte value to the message stream representing the character + value passed. High byte first. + + + A + + + Thrown when the Message is in read-only mode. + + + Thrown when there is an unhandled exception thrown from the provider. + + + + + Reads a Short from the Message Stream. + + + A + + + Thrown when the Message is in write-only mode. + + + Thrown when an unexpected end of bytes has been reached. + + + Thrown when there is an unhandled exception thrown from the provider. + + + + + Write a two byte value to the message stream representing the short + value passed. High byte first. + + + A + + + Thrown when the Message is in read-only mode. + + + Thrown when there is an unhandled exception thrown from the provider. + + + + + Reads an int from the Message Stream. + + + A + + + Thrown when the Message is in write-only mode. + + + Thrown when an unexpected end of bytes has been reached. + + + Thrown when there is an unhandled exception thrown from the provider. + + + + + Write a four byte value to the message stream representing the integer + value passed. High byte first. + + + A + + + Thrown when the Message is in read-only mode. + + + Thrown when there is an unhandled exception thrown from the provider. + + + + + Reads a long from the Message Stream. + + + A + + + Thrown when the Message is in write-only mode. + + + Thrown when an unexpected end of bytes has been reached. + + + Thrown when there is an unhandled exception thrown from the provider. + + + + + Write a eight byte value to the message stream representing the long + value passed. High byte first. + + + A + + + Thrown when the Message is in read-only mode. + + + Thrown when there is an unhandled exception thrown from the provider. + + + + + Reads a float from the Message Stream. + + + A + + + Thrown when the Message is in write-only mode. + + + Thrown when an unexpected end of bytes has been reached. + + + Thrown when there is an unhandled exception thrown from the provider. + + + + + Write a four byte value to the message stream representing the float + value passed. High byte first. + + + A + + + Thrown when the Message is in read-only mode. + + + Thrown when there is an unhandled exception thrown from the provider. + + + + + Reads an double from the Message Stream. + + + A + + + Thrown when the Message is in write-only mode. + + + Thrown when an unexpected end of bytes has been reached. + + + Thrown when there is an unhandled exception thrown from the provider. + + + + + Write a eight byte value to the message stream representing the double + value passed. High byte first. + + + A + + + Thrown when the Message is in read-only mode. + + + Thrown when there is an unhandled exception thrown from the provider. + + + + + Reads a byte array from the bytes message stream. + + If the length of array value is less than the number of bytes remaining to + be read from the stream, the array should be filled. A subsequent call reads + the next increment, and so on. + + If the number of bytes remaining in the stream is less than the length of array + value, the bytes should be read into the array. The return value of the total number + of bytes read will be less than the length of the array, indicating that there are + no more bytes left to be read from the stream. The next read of the stream returns -1. + + + The byte array that will be used as a buffer to read into. + + + A + The number of bytes read into the passed byte array, or -1 if there are no more + bytes left to be read from the stream. + + + Thrown when there is an unhandled exception thrown from the provider. + + + Thrown when the Message is in write-only mode. + + + + + Reads a portion of the bytes message stream. + + If the length of array value is less than the number of bytes remaining to be + read from the stream, the array should be filled. A subsequent call reads the + next increment, and so on. + + If the number of bytes remaining in the stream is less than the length of array + value, the bytes should be read into the array. The return value of the total + number of bytes read will be less than the length of the array, indicating that + there are no more bytes left to be read from the stream. The next read of the + stream returns -1. + + If length is negative, or length is greater than the length of the array value, + then an Exception is thrown. No bytes will be read from the stream for this + exception case. + + + The byte array that will be used as a buffer to read into. + + + The amount of bytes to read into the buffer. + + + A + The number of bytes read into the passed byte array, or -1 if there are no more + bytes left to be read from the stream. + + + Thrown when the Message is in write-only mode. + + + Thrown when there is an unhandled exception thrown from the provider. + + + + + Writes a byte array to the bytes message stream. + + + A + + + Thrown when the Message is in read-only mode. + + + Thrown when there is an unhandled exception thrown from the provider. + + + + + Writes a portion of a byte array to the bytes message stream. + + + A + + + A + + + A + + + Thrown when the Message is in read-only mode. + + + Thrown when there is an unhandled exception thrown from the provider. + + + + + Reads a string that has been encoded using a modified UTF-8 format from the bytes + message stream. + + + A + + + Thrown when the Message is in write-only mode. + + + Thrown when an unexpected end of bytes has been reached. + + + Thrown when there is an unhandled exception thrown from the provider. + + + + + Writes a string to the bytes message stream using UTF-8 encoding in a + machine-independent manner. + + + A + + + Thrown when the Message is in read-only mode. + + + Thrown when there is an unhandled exception thrown from the provider. + + + + + Writes an object to the bytes message stream. + + This method works only for the objectified primitive object types + (Int32, Double, Boolean ...), String objects, and byte arrays. + + + A + the object in the .NET programming language to be written; it must not be null + + + Thrown when the Message has an invalid format. + + + Thrown when the Message is in read-only mode. + + + Thrown when there is an unhandled exception thrown from the provider. + + + + + Puts the message body in read-only mode and repositions the stream of bytes to the beginning. + + + Thrown when the Message has an invalid format. + + + Thrown when there is an unhandled exception thrown from the provider. + + + + + Gets the number of bytes of the message body when the message is in read-only mode. + The value returned can be used to allocate a byte array. The value returned is the + entire length of the message body, regardless of where the pointer for reading the + message is currently located. + + + Thrown when the Message is in write-only mode. + + + Thrown when there is an unhandled exception thrown from the provider. + + + + + Utility class used to set NMS properties via introspection for IMessage derived + instances. This class allows IMessage classes to define Message specific properties + that can be accessed using the standard property get / set semantics. + + This is especially useful for NMSX type properties which can vary by provider and + are obtianed via a call to IConnectionMetaData.NMSXPropertyNames. The client can + set the properties on an IMessage instance without a direct cast to the providers + specific Message types. + + Properties accessed in this way are treated as NMS Message headers which are never + read-only therefore there is no exception thrown if the message itself is in the + read-only property mode. + + + + + This class provides a mechanism to intercept calls to a IPrimitiveMap + instance and perform validation, handle type conversion, or some other + function necessary to use the PrimitiveMap in a Message or other NMS + object. + + Be default this class enforces the standard conversion policy for primitive + types in NMS shown in the table below: + + | | boolean byte short char int long float double String byte[] + |---------------------------------------------------------------------- + |boolean | X X + |byte | X X X X X + |short | X X X X + |char | X X + |int | X X X + |long | X X + |float | X X X + |double | X X + |String | X X X X X X X X + |byte[] | X + |---------------------------------------------------------------------- + + + + + + Represents a Map of primitive types where the keys are all string instances + and the values are strings or numbers. + + + + + Initializes a new instance of the MessageFormatException class with serialized data. + Throws System.ArgumentNullException if the info parameter is null. + Throws System.Runtime.Serialization.SerializationException if the class name is null or System.Exception.HResult is zero (0). + + The SerializationInfo that holds the serialized object data about the exception being thrown. + The StreamingContext that contains contextual information about the source or destination. + + + + Initializes a new instance of the InvalidClientIDException class with serialized data. + Throws System.ArgumentNullException if the info parameter is null. + Throws System.Runtime.Serialization.SerializationException if the class name is null or System.Exception.HResult is zero (0). + + The SerializationInfo that holds the serialized object data about the exception being thrown. + The StreamingContext that contains contextual information about the source or destination. + + + + Initializes a new instance of the MessageEOFException class with serialized data. + Throws System.ArgumentNullException if the info parameter is null. + Throws System.Runtime.Serialization.SerializationException if the class name is null or System.Exception.HResult is zero (0). + + The SerializationInfo that holds the serialized object data about the exception being thrown. + The StreamingContext that contains contextual information about the source or destination. + + + + A client uses a QueueBrowser object to look at messages on a queue without removing them. + + The Enumeration method returns a java.util.Enumeration that is used to scan the queue's + messages. It may be an enumeration of the entire content of a queue, or it may contain + only the messages matching a message selector. + + Messages may be arriving and expiring while the scan is done. The NMS API does not + require the content of an enumeration to be a static snapshot of queue content. Whether + these changes are visible or not depends on the NMS provider. + + + + + Closes the QueueBrowser. + + + If NMS Provider fails to close the Browser for some reason. + + + + + Gets this queue browser's message selector expression. If no Message + selector was specified than this method returns null. + + + If NMS Provider fails to get the Message Selector for some reason. + + + + + Gets the queue associated with this queue browser. + + + If NMS Provider fails to retrieve the IQueue associated with the Browser + doe to some internal error. + + + + + A default implementation of IPrimitiveMap + + + + + Method ToString + + A string + + + + Unmarshalls the map from the given data or if the data is null just + return an empty map + + + + + Unmarshals a PrimitiveMap directly from a Stream object. This + allows for clients to read PrimitiveMaps from Compressed or other + wise encoded streams without this class needing to know about it. + + + A + + + A + + + + + Marshals a PrimitiveMap directly to a Stream object. This + allows a client to write a PrimitiveMap in a compressed or + otherwise encoded form without this class needing to know + about it. + + + A + + + + + Marshals the primitive type map to a byte array + + + + + Unmarshals the primitive type map from the given byte array + + + + + Represents a security failure. + + + + + Initializes a new instance of the NMSSecurityException class with serialized data. + Throws System.ArgumentNullException if the info parameter is null. + Throws System.Runtime.Serialization.SerializationException if the class name is null or System.Exception.HResult is zero (0). + + The SerializationInfo that holds the serialized object data about the exception being thrown. + The StreamingContext that contains contextual information about the source or destination. + + + + Initializes a new instance of the MessageNotReadableException class with serialized data. + Throws System.ArgumentNullException if the info parameter is null. + Throws System.Runtime.Serialization.SerializationException if the class name is null or System.Exception.HResult is zero (0). + + The SerializationInfo that holds the serialized object data about the exception being thrown. + The StreamingContext that contains contextual information about the source or destination. + + + + The INetTxConnection extends the functionality of the IConnection interface by + adding the createNetTxSession method (optional). + + The INetTxConnection interface is optional. NMS providers are not required to support this + interface. This interface is for use by NMS providers to support transactional environments. + + + + + Represents a connection with a message broker + + + + + Creates a new session to work on this connection + + + + + Creates a new session to work on this connection + + + + + Closes the connection. + + + + + An asynchronous listener which can be notified if an error occurs + + + + + An asynchronous listener that is notified when a Fault tolerant connection + has been interrupted. + + + + + An asynchronous listener that is notified when a Fault tolerant connection + has been resumed. + + + + + A Delegate that is called each time a Message is dispatched to allow the client to do + any necessary transformations on the received message before it is delivered. The + Connection sets the provided delegate instance on each Session it creates which then + passes that along to the Consumers it creates. + + + + + A delegate that is called each time a Message is sent from this Producer which allows + the application to perform any needed transformations on the Message before it is sent. + The Connection sets the provided delegate instance on each Session it creates which then + passes that along to the Producer it creates. + + + + + The default timeout for network requests. + + + + + The default acknowledgement mode + + + + + Sets the unique clienet ID for this connection before Start() or returns the + unique client ID after the connection has started + + + + + Get/or set the redelivery policy for this connection. + + + + + Gets the Meta Data for the NMS Connection instance. + + + + + Creates a INetTxSession object. + + + + + A delegate that a client can register that will be called each time a Producer's send method is + called to allow the client to Transform a sent message from one type to another, StreamMessage to + TextMessage, ObjectMessage to TextMessage containing XML, etc. This allows a client to create a + producer that will automatically transform a message to a type that some receiving client is + capable of processing or adding additional information to a sent message such as additional message + headers, etc. For messages that do not need to be processed the client should return null from + this method, in this case the original message will be sent. + + + + + An object capable of sending messages to some destination + + + + + Sends the message to the default destination for this producer + + + + + Sends the message to the default destination with the explicit QoS configuration + + + + + Sends the message to the given destination + + + + + Sends the message to the given destination with the explicit QoS configuration + + + + + Close the producer. + + + + + Creates a new message with an empty body + + + + + Creates a new text message with an empty body + + + + + Creates a new text message with the given body + + + + + Creates a new Map message which contains primitive key and value pairs + + + + + Creates a new Object message containing the given .NET object as the body + + + + + Creates a new binary message + + + + + Creates a new binary message with the given body + + + + + Creates a new stream message + + + + + A delegate that is called each time a Message is sent from this Producer which allows + the application to perform any needed transformations on the Message before it is sent. + + + + + The mode used to acknowledge messages after they are consumed + + + + + With this acknowledgment mode, the session will not + acknowledge receipt of a message since the broker assumes + successful receipt of a message after the onMessage handler + has returned without error. + + + + + With this acknowledgment mode, the session automatically + acknowledges a client's receipt of a message either when + the session has successfully returned from a call to receive + or when the message listener the session has called to + process the message successfully returns. Acknowlegements + may be delayed in this mode to increase performance at + the cost of the message being redelivered this client fails. + + + + + With this acknowledgment mode, the client acknowledges a + consumed message by calling the message's acknowledge method. + This acknowledgement acknowledges the given message and all + unacknowedged messages that have preceeded it for the session + in which the message was delivered. + + + + + Messages will be consumed when the transaction commits. + + + + + With this acknowledgment mode, the client acknowledges a + consumed message by calling the message's acknowledge method. + This acknowledgement mode allows the client to acknowledge a + single message. This mode is not required to be supported by + all NMS providers, however the provider should throw an appropriate + exception to indicate that the mode is unsupported. + + + + + A delegate that can receive transport level exceptions. + + + + + A delegate that is used by Fault tolerant NMS Implementation to notify their + clients that the Connection is not currently active to due some error. + + + + + A delegate that is used by Fault tolerant NMS Implementation to notify their + clients that the Connection that was interrupted has now been restored. + + + + + Class to provide support for working with Xml objects. + + + + + From xml spec valid chars: + #x9 | #xA | #xD | [#x20-#xD7FF] | [#xE000-#xFFFD] | [#x10000-#x10FFFF] + any Unicode character, excluding the surrogate blocks, FFFE, and FFFF. + + + + + Static class constructor. + + + + + Serialize the object to XML format. The XML encoding will be UTF-8. A Byte Order Mark (BOM) + will NOT be placed at the beginning of the string. + + + + + + + This removes characters that are invalid for xml encoding + + Text to be encoded. + Text with invalid xml characters removed. + + + + Convert the acknowledgment mode string into AcknowledgementMode enum. + + + Equivalent enum value. If unknown string is encounted, it will default to AutoAcknowledge. + + + + Convert an object into a text message. The object must be serializable to XML. + + + + + Convert an object into a text message. The object must be serializable to XML. + + + + + Convert a text message into an object. The object must be serializable from XML. + + + + + Serialize the object as XML into the Text body of the message. + Set the NMSType to the full name of the object type. + + + + + + + + Deserialize the object from the text message. The object must be serializable from XML. + + + + + + + Get the runtime type for the class name. This routine will search all loaded + assemblies in the current App Domain to find the type. + + Full name of the type. + Type object if found, or null if not found. + + + + Represents a queue in a message broker. A message sent to a queue is delivered + to at most one consumer on the queue. + + + + + Class to provide support for Uri query parameters which uses .Net reflection + to identify and set properties. + + + + + Given a string that could be a Composite Uri that uses syntax not compatible + with the .NET Uri class such as an ActiveMQ failover Uri formatted as + "failover://(tcp://localhost:61616)", the initial '://' must be changed + to ':(' so that the Uri class doesn't attempt to parse the '(tcp:' as + the Uri's Authority as that is not a valid host name. + + + A string that could be a Composite Uri that uses syntax not compatible + with the .NET Uri class + + + + + Parse a Uri query string of the form ?x=y&z=0 + into a map of name/value pairs. + + The query string to parse. This string should not contain + Uri escape characters. + + + + Sets the public properties of a target object using a string map. + This method uses .Net reflection to identify public properties of + the target object matching the keys from the passed map. + + The object whose properties will be set. + Map of key/value pairs. + + + + Sets the public properties of a target object using a string map. + This method uses .Net reflection to identify public properties of + the target object matching the keys from the passed map. + + The object whose properties will be set. + Map of key/value pairs. + Key value prefix. This is prepended to the property name + before searching for a matching key value. + + + + + + + + + + + + + + + + Represents a temporary queue which exists for the duration + of the IConnection which created it. + + + + + Deletes this Temporary Destination, If there are existing receivers + still using it, a NMSException will be thrown. + + + If NMS Provider fails to Delete the Temp Destination or the client does + not support this operation. + + + + + Initializes a new instance of the TransactionRolledBackException class with serialized data. + Throws System.ArgumentNullException if the info parameter is null. + Throws System.Runtime.Serialization.SerializationException if the class name is null or System.Exception.HResult is zero (0). + + The SerializationInfo that holds the serialized object data about the exception being thrown. + The StreamingContext that contains contextual information about the source or destination. + + + + Initializes a new instance of the TransactionInProgressException class with serialized data. + Throws System.ArgumentNullException if the info parameter is null. + Throws System.Runtime.Serialization.SerializationException if the class name is null or System.Exception.HResult is zero (0). + + The SerializationInfo that holds the serialized object data about the exception being thrown. + The StreamingContext that contains contextual information about the source or destination. + + + + Provider implementation mapping class. + + + + + Implementation of a factory for instances. + + + + + Static class constructor + + + + + The ConnectionFactory object must define a constructor that takes as a minimum a Uri object. + Any additional parameters are optional, but will typically include a Client ID string. + + The URI for the ActiveMQ provider. + Optional parameters to use when creating the ConnectionFactory. + + + + The ConnectionFactory object must define a constructor that takes as a minimum a Uri object. + Any additional parameters are optional, but will typically include a Client ID string. + + The URI for the ActiveMQ provider. + Optional parameters to use when creating the ConnectionFactory. + + + + Create a connection factory that can create connections for the given scheme in the URI. + + The URI for the ActiveMQ provider. + Optional parameters to use when creating the ConnectionFactory. + A implementation that will be used. + + + + Finds the associated with the given scheme. + + The scheme (e.g. tcp, activemq or stomp). + The of the ConnectionFactory that will be used + to create the connection for the specified . + + + + Lookup the connection factory assembly filename and class name. + Read an external configuration file that maps scheme to provider implementation. + Load XML config files named: nmsprovider-{scheme}.config + Following is a sample configuration file named nmsprovider-jms.config. Replace + the parenthesis with angle brackets for proper XML formatting. + + (?xml version="1.0" encoding="utf-8" ?) + (configuration) + (provider assembly="MyCompany.NMS.JMSProvider.dll" classFactory="MyCompany.NMS.JMSProvider.ConnectionFactory"/) + (/configuration) + + This configuration file would be loaded and parsed when a connection uri with a scheme of 'jms' + is used for the provider. In this example the connection string might look like: + jms://localhost:7222 + + + Folder paths to look in. + The scheme. + Name of the assembly file. + Name of the factory class. + true if the configuration file for the specified could + be found; otherwise, false. + + + + Get an array of search paths to look for config files. + + + A collection of search paths, including the current directory, the current AppDomain's + BaseDirectory and the current AppDomain's RelativeSearchPath. + + + + + Converts a params object[] collection into a plain object[]s, to pass to the constructor. + + The first parameter in the collection. + The remaining parameters. + An array of instances. + + + + Creates a new connection. + + An created by the requested ConnectionFactory. + + + + Creates a new connection with the given and credentials. + + The username to use when establishing the connection. + The password to use when establishing the connection. + An created by the requested ConnectionFactory. + + + + Get/or set the broker Uri. + + + + + The actual IConnectionFactory implementation that is being used. This implementation + depends on the scheme of the URI used when constructed. + + + + + Get/or Set the IRedeliveryPolicy instance using the IConnectionFactory implementation + that is being used. + + + + + Get/or Set the ConsumerTransformerDelegate using the IConnectionFactory implementation + that is currently being used. + + + + + Get/or Set the ProducerTransformerDelegate using the IConnectionFactory implementation + that is currently being used. + + + + + The ITrace interface is used internally by ActiveMQ to log messages. + The client aplication may provide an implementation of ITrace if it wishes to + route messages to a specific destination. + + + + Use the class to register an instance of ITrace as the + active trace destination. + + + + + + Provides information describing the NMS IConnection instance. + + + + + Get the Major version number of the NMS API this Provider supports. + + + + + Get the Minor version number of the NMS API this Provider supports. + + + + + Get the name of this NMS Provider. + + + + + Gets a formatted string detailing the NMS API version this Provider supports. + + + + + Gets a String array of all the NMSX property names this NMS Provider supports. + + + + + Gets the Providers Major version number. + + + + + Gets the Providers Minor version number. + + + + + Gets a formatted string detailing the version of this NMS Provider. + + + + + Class to provide support for working with Session objects. + + + + + Get the destination by parsing the embedded type prefix. Default is Queue if no prefix is + embedded in the destinationName. + + Session object to use to get the destination. + Name of destination with embedded prefix. The embedded prefix can be one of the following: + + queue:// + topic:// + temp-queue:// + temp-topic:// + + + + + + + Get the destination by parsing the embedded type prefix. + + Session object to use to get the destination. + Name of destination with embedded prefix. The embedded prefix can be one of the following: + + queue:// + topic:// + temp-queue:// + temp-topic:// + + + Default type if no embedded prefix is specified. + + + + + Delete the named destination by parsing the embedded type prefix. Default is Queue if no prefix is + embedded in the destinationName. + + Session object to use to get the destination. + Name of destination with embedded prefix. The embedded prefix can be one of the following: + + queue:// + topic:// + temp-queue:// + temp-topic:// + + + + + + + Delete the named destination by parsing the embedded type prefix. + + Session object to use to get the destination. + Name of destination with embedded prefix. The embedded prefix can be one of the following: + + queue:// + topic:// + temp-queue:// + temp-topic:// + + + Default type if no embedded prefix is specified. + + + + + Base Utility class for conversion between IMessage type objects for different + NMS providers. + + + + + Copies the standard NMS and user defined properties from the givem + message to the specified message, the class version transforms the + Destination instead of just doing a straight copy. + + + + + Copies the standard NMS and user defined properties from the givem + message to the specified message, this method makes no attempt to convert + the values in the Message to native provider implementations. + + + + + Define an enumerated array of message priorities. + + + + + Define an enumerated array of message delivery modes. Provider-specific + values can be used to extend this enumerated mode. TIBCO is known to + provide a third value of ReliableDelivery. At minimum, a provider must + support Persistent and NonPersistent. + + + + + Defines a number of constants + + + + + Some application servers provide support for use in a .NET transactions (optional). + + To include NMS API transactions in a MSDTC transaction, an application server requires a + .NET Transaction aware NMS provider that is capable of mapping the MSDTC transaction model + into operations that are supported by the application server. An NMS provider exposes its + .NET Transaction support using an INetTxConnectionFactory object, which an application + server uses to create INetTxConnection objects. + + The INetTxConnectionFactory interface is optional. NMS providers are not required to support this + interface. This interface is for use by NMS providers to support transactional environments. + + + + + Creates a new connection + + + + + Creates a new connection with the given user name and password + + + + diff --git a/lib/Net/4.0/Common.Logging.dll b/lib/Net/4.0/Common.Logging.dll new file mode 100644 index 00000000..5c1feac9 Binary files /dev/null and b/lib/Net/4.0/Common.Logging.dll differ diff --git a/lib/Net/4.0/Ionic.Zlib.dll b/lib/Net/4.0/Ionic.Zlib.dll new file mode 100644 index 00000000..7c29e8cc Binary files /dev/null and b/lib/Net/4.0/Ionic.Zlib.dll differ diff --git a/lib/Net/4.0/NUnitAsp.dll b/lib/Net/4.0/NUnitAsp.dll new file mode 100644 index 00000000..9f45eff8 Binary files /dev/null and b/lib/Net/4.0/NUnitAsp.dll differ diff --git a/lib/Net/4.0/NUnitAspEx.dll b/lib/Net/4.0/NUnitAspEx.dll new file mode 100644 index 00000000..030f906e Binary files /dev/null and b/lib/Net/4.0/NUnitAspEx.dll differ diff --git a/lib/Net/4.0/NUnitAspEx.xml b/lib/Net/4.0/NUnitAspEx.xml new file mode 100644 index 00000000..41bacde7 --- /dev/null +++ b/lib/Net/4.0/NUnitAspEx.xml @@ -0,0 +1,139 @@ + + + + NUnitAspEx + + + + + Encapsulates a request from within a testsuite using the "asptest://" pseudo-protocol. + + + + + Encapsulates the ugly details of deriving from HttpWebRequest. + + + Since various frameworks like NUnitAsp rely on the output of WebRequest.Create() being of type HttpWebRequest + but HttpWebRequest is not customizable the easy way, this class shields further derived classes from the ugly reflection details. + + + + + Creates a new instance for the given uri. + + the to create this request for. + + + + + + + + + + + Override this method in your derived class and call to set the response object. + + + + + Create the stream to be used for uploading content. + + + + + + Encapsulates a response from an . + + + + + Encapsulates the ugly details of deriving from HttpWebResponse. + + + + + Summary description for HttpReflectionUtils. + + + + + Summary description for HttpWebClient. + + + + + An AspFixtureHost lives inside it's own AppDomain with an initialized HttpRuntime. + + + + + Summary description for IAspFixtureHost. + + + + + Creates a new Host instance within a new AppDomain based on the passed in Properties. + + + You must not call this method from within an existing Host's AppDomain. + + + + + Unload the passed Host's AppDomain. + + + + + Return null to avoid timing out of remoting references + + + + + + Initializes the newly created host instance. + + + + + Use this property to gain access to the Host from within the Host's AppDomain + + + This property is set only within the Host's AppDomain. + Outside the AppDomain it will always return null. + + + + + Use to synchronize access to this host instance + + + + + Returns a reference to the AppDomain, that created this Host instance + + + + + Returns the physical assembly reference location this AppDomain has been created from. + + + + + Summary description for AspTestClient. + + + + + Summary description for AspTestContext. + + + + + Summary description for AspTestExecutionModule. + + + + diff --git a/lib/Net/4.0/NVelocity.dll b/lib/Net/4.0/NVelocity.dll new file mode 100644 index 00000000..9b44dfeb Binary files /dev/null and b/lib/Net/4.0/NVelocity.dll differ diff --git a/lib/Net/4.0/Rhino.Mocks.dll b/lib/Net/4.0/Rhino.Mocks.dll new file mode 100644 index 00000000..3fc4b2ae Binary files /dev/null and b/lib/Net/4.0/Rhino.Mocks.dll differ diff --git a/lib/Net/4.0/Rhino.Mocks.xml b/lib/Net/4.0/Rhino.Mocks.xml new file mode 100644 index 00000000..b1f76384 --- /dev/null +++ b/lib/Net/4.0/Rhino.Mocks.xml @@ -0,0 +1,5624 @@ + + + + Rhino.Mocks + + + + + Defines constraints and return values for arguments of a mock. + Only use Arg inside a method call on a mock that is recording. + Example: + ExpectCall( + mock.foo( + Arg<int>.Is.GreaterThan(2), + Arg<string>.Is.Anything + )); + Use Arg.Text for string specific constraints + Use Arg<ListClass>.List for list specific constraints + + + + + + Register the predicate as a constraint for the current call. + + The predicate. + default(T) + + Allow you to use code to create constraints + + demo.AssertWasCalled(x => x.Bar(Arg{string}.Matches(a => a.StartsWith("b") && a.Contains("ba")))); + + + + + + Define a complex constraint for this argument by passing several constraints + combined with operators. (Use Is in simple cases.) + Example: Arg<string>.Matches(Is.Equal("Hello") || Text.EndsWith("u")); + + Constraints using Is, Text and List + Dummy to satisfy the compiler + + + + Define a Ref argument. + + Constraints for this argument + value returned by the mock + + + + + Define a out parameter. Use it together with the keyword out and use the + Dummy field available by the return value. + Example: mock.foo( out Arg<string>.Out("hello").Dummy ); + + + + + + + Define a simple constraint for this argument. (Use Matches in simple cases.) + Example: + Arg<int>.Is.Anthing + Arg<string>.Is.Equal("hello") + + + + + Define Constraints on list arguments. + + + + + Use the Arg class (without generic) to define Text constraints + + + + + Evaluate an equal constraint for . + + The object the parameter should equal to + + + + Define constraints on text arguments. + + + + + Used to manage the static state of the Arg<T> class"/> + + + + + Resets the static state + + + + + Returns return values for the out and ref parameters + Note: the array returned has the size of the number of out and ref + argument definitions + + + + + + Returns the constraints for all arguments. + Out arguments have an Is.Anything constraint and are also in the list. + + + + + + What should BackToRecord clear + + + + + Retain all expectations and behaviors and return to mock + + + + + All expectations + + + + + Event subscribers for this instance + + + + + Methods that should be forwarded to the base class implementation + + + + + Properties that should behave like properties + + + + + Remove all the behavior of the object + + + + + Interface for constraints + + + + + Determines if the object pass the constraints + + + + + And operator for constraints + + + + + Not operator for constraints + + + + + Or operator for constraints + + + + + Allow overriding of || or && + + + + + + + Allow overriding of || or && + + + + + + + Gets the message for this constraint + + + + + + Constrain that the public field has a specified value + + + + + Constrain that the public field matches another constraint. + + + + + Creates a new instance. + + Name of the public field. + Constraint to place on the public field value. + + + + Creates a new instance, specifying a disambiguating + for the public field. + + The type that declares the public field, used to disambiguate between public fields. + Name of the public field. + Constraint to place on the public field value. + + + + Determines if the object passes the constraint. + + + + + Gets the message for this constraint + + + + + + Creates a new instance. + + Name of the public field. + Expected value. + + + + Creates a new instance, specifying a disambiguating + for the public field. + + The type that declares the public field, used to disambiguate between public fields. + Name of the public field. + Expected value. + + + + Constrain that the property has a specified value + + + + + Constrain that the property matches another constraint. + + + + + Creates a new instance. + + Name of the property. + Constraint to place on the property value. + + + + Creates a new instance, specifying a disambiguating + for the property. + + The type that declares the property, used to disambiguate between properties. + Name of the property. + Constraint to place on the property value. + + + + Determines if the object passes the constraint. + + + + + Gets the message for this constraint + + + + + + Creates a new instance. + + Name of the property. + Expected value. + + + + Creates a new instance, specifying a disambiguating + for the property. + + The type that declares the property, used to disambiguate between properties. + Name of the property. + Expected value. + + + + Constrain that the parameter must be of the specified type + + + + + Creates a new instance. + + Type. + + + + Determines if the object pass the constraints + + + + + Gets the message for this constraint + + + + + + Constraint that determines whether an object is the same object as another. + + + + + Creates a new instance. + + Obj. + + + + Determines if the object passes the constraints. + + + + + Gets the message for this constraint. + + + + + Evaluate a parameter using constraints + + + + + Create new instance + + + + + + Determines if the object pass the constraints + + + + + Gets the message for this constraint + + + + + + A constraint based on lambda expression, we are using Expression{T} + because we want to be able to get good error reporting on that. + + + + + Initializes a new instance of the class. + + The expr. + + + + Determines if the object pass the constraints + + + + + + + Gets the message for this constraint + + + + + + Constrain that the list contains the same items as the parameter list + + + + + Creates a new instance. + + In list. + + + + Determines if the object pass the constraints + + + + + Gets the message for this constraint + + + + + + Constrain that the parameter is one of the items in the list + + + + + Creates a new instance. + + In list. + + + + Determines if the object pass the constraints + + + + + Gets the message for this constraint + + + + + + Constrain that the object is inside the parameter list + + + + + Creates a new instance. + + In list. + + + + Determines if the object pass the constraints + + + + + Gets the message for this constraint + + + + + + Applies another AbstractConstraint to the collection count. + + + + + Creates a new instance. + + The constraint that should be applied to the collection count. + + + + Determines if the parameter conforms to this constraint. + + + + + Gets the message for this constraint. + + + + + Applies another AbstractConstraint to a specific list element. + + + + + Creates a new instance. + + The zero-based index of the list element. + The constraint that should be applied to the list element. + + + + Determines if the parameter conforms to this constraint. + + + + + Gets the message for this constraint + + + + + + Applies another AbstractConstraint to a specific generic keyed list element. + + + + + Creates a new instance. + + The key of the list element. + The constraint that should be applied to the list element. + + + + Determines if the parameter conforms to this constraint. + + + + + Gets the message for this constraint + + + + + + Constrains that all elements are in the parameter list + + + + + Initializes a new instance of the class. + + The these. + + + + Determines if the object pass the constraints + + + + + + + Gets the message for this constraint + + + + + + Combines two constraints, constraint pass if either is fine. + + + + + Creates a new instance. + + C1. + C2. + + + + Determines if the object pass the constraints + + + + + Gets the message for this constraint + + + + + + Negate a constraint + + + + + Creates a new instance. + + C1. + + + + Determines if the object pass the constraints + + + + + Gets the message for this constraint + + + + + + Combines two constraints + + + + + + Creates a new instance. + + C1. + C2. + + + + Determines if the object pass the constraints + + + + + Gets the message for this constraint + + + + + + Constrain the argument to validate according to regex pattern + + + + + Creates a new instance. + + Pattern. + + + + Determines if the object pass the constraints + + + + + Gets the message for this constraint + + + + + + Constraint that evaluate whatever an argument contains the specified string. + + + + + Creates a new instance. + + Inner string. + + + + Determines if the object pass the constraints + + + + + Gets the message for this constraint + + + + + + Constraint that evaluate whatever an argument ends with the specified string + + + + + Creates a new instance. + + End. + + + + Determines if the object pass the constraints + + + + + Gets the message for this constraint + + + + + + Constraint that evaluate whatever an argument start with the specified string + + + + + Creates a new instance. + + Start. + + + + Determines if the object pass the constraints + + + + + Gets the message for this constraint + + + + + + Constraint that evaluate whatever an object equals another + + + + + Creates a new instance. + + Obj. + + + + Determines if the object pass the constraints + + + + + Gets the message for this constraint + + + + + + Constraint that always returns true + + + + + Determines if the object pass the constraints + + + + + Gets the message for this constraint + + + + + + Constraint that evaluate whatever a comparable is greater than another + + + + + Creates a new instance. + + + + + Determines if the object pass the constraints + + + + + Gets the message for this constraint + + + + + + Initializes a new constraint object. + + The expected object, The actual object is passed in as a parameter to the method + + + + Evaluate this constraint. + + The actual object that was passed in the method call to the mock. + True when the constraint is met, else false. + + + + Checks if the properties of the object + are the same as the properies of the object. + + The expected object + The actual object + True when both objects have the same values, else False. + + + + + + + + + This is the real heart of the beast. + + + + Used by CheckReferenceType to check all properties of the reference type. + + The expected object + The actual object + True when both objects have the same values, else False. + + + + Used by CheckReferenceType to check all fields of the reference type. + + The expected object + The actual object + True when both objects have the same values, else False. + + + + Checks the items of both collections + + The expected collection + + True if both collections contain the same items in the same order. + + + + Builds a propertyname from the Stack _properties like 'Order.Product.Price' + to be used in the error message. + + A nested property name. + + + + Rhino.Mocks uses this property to generate an error message. + + + A message telling the tester why the constraint failed. + + + + + Provides access to the constraintes defined in the class to be used in context + with the syntax. + + The type of the argument + + + + Evaluate a greater than constraint for . + + The object the parameter should be greater than + + + + Evaluate a less than constraint for . + + The object the parameter should be less than + + + + Evaluate a less than or equal constraint for . + + The object the parameter should be less than or equal to + + + + Evaluate a greater than or equal constraint for . + + The object the parameter should be greater than or equal to + + + + Evaluate an equal constraint for . + + The object the parameter should equal to + + + + Converts the object type to a better match if this is a primitive type. + + The obj. + + + + + Converts the object type to match. + + + Because of implicit conversions and the way ArgConstraints this method is needed to check + object type and potentially change the object type for a better "match" so that obj1.Equals(obj2) + will return the proper "answer" + + The obj. + + + + + Evaluate a not equal constraint for . + + The object the parameter should not equal to + + + + Evaluate a same as constraint. + + The object the parameter should the same as. + + + + Evaluate a not same as constraint. + + The object the parameter should not be the same as. + + + + Throws NotSupportedException. Don't use Equals to define constraints. Use Equal instead. + + + + + + + Serves as a hash function for a particular type. + + + A hash code for the current . + + + + + A constraints that accept anything + + + + + + A constraint that accept only nulls + + + + + + A constraint that accept only non null values + + + + + + A constraint that accept only value of the specified type. + The check is performed on the type that has been defined + as the argument type. + + + + + Provides access to the constraints defined in the class to be used in context + with the syntax. + + + + + Determines whether the specified object is in the parameter. + The parameter must be IEnumerable. + + Obj. + + + + + Determines whatever the parameter is in the collection. + + + + + Determines that the parameter collection is identical to the specified collection + + + + + Determines that the parameter collection has the specified number of elements. + + The constraint that should be applied to the collection count. + + + + Determines that an element of the parameter collections conforms to another AbstractConstraint. + + The zero-based index of the list element. + The constraint which should be applied to the list element. + + + + Determines that all elements of the specified collection are in the the parameter collection + + The collection to compare against + The constraint which should be applied to the list parameter. + + + + Throws NotSupportedException. Don't use Equals to define constraints. Use Equal instead. + + + + + + + Serves as a hash function for a particular type. + + + A hash code for the current . + + + + + Provides a dummy field to pass as out or ref argument. + + + + + + Dummy field to satisfy the compiler. Used for out and ref arguments. + + + + + Central location for constraints for object's public fields + + + + + Constrains the parameter to have a public field with the specified value + + Name of the public field. + Expected value. + + + + + Constrains the parameter to have a public field with the specified value. + + The type that declares the public field, used to disambiguate between public fields. + Name of the public field. + Expected value. + + + + + Constrains the parameter to have a public field satisfying a specified constraint. + + Name of the public field. + Constraint for the public field. + + + + Constrains the parameter to have a public field satisfying a specified constraint. + + The type that declares the public field, used to disambiguate between public fields. + Name of the public field. + Constraint for the public field. + + + + Determines whether the parameter has the specified public field and that it is null. + + Name of the public field. + + + + + Determines whether the parameter has the specified public field and that it is null. + + The type that declares the public field, used to disambiguate between public fields. + Name of the public field. + + + + + Determines whether the parameter has the specified public field and that it is not null. + + Name of the public field. + + + + + Determines whether the parameter has the specified public field and that it is not null. + + The type that declares the public field, used to disambiguate between public fields. + Name of the public field. + + + + + Central location for constraints + + + + + Evaluate a greater than constraint for . + + The object the parameter should be greater than + + + + Evaluate a less than constraint for . + + The object the parameter should be less than + + + + Evaluate a less than or equal constraint for . + + The object the parameter should be less than or equal to + + + + Evaluate a greater than or equal constraint for . + + The object the parameter should be greater than or equal to + + + + Evaluate an equal constraint for . + + The object the parameter should equal to + + + + Evaluate a not equal constraint for . + + The object the parameter should not equal to + + + + Evaluate a same as constraint. + + The object the parameter should the same as. + + + + Evaluate a not same as constraint. + + The object the parameter should not be the same as. + + + + A constraints that accept anything + + + + + + A constraint that accept only nulls + + + + + + A constraint that accept only non null values + + + + + + A constraint that accept only value of the specified type + + + + + A constraint that accept only value of the specified type + + + + + Evaluate a parameter using a predicate + + The predicate to use + + + + Central location for constraints about lists and collections + + + + + Determines whether the specified obj is in the parameter. + The parameter must be IEnumerable. + + Obj. + + + + + Determines whatever the parameter is in the collection. + + + + + Determines that the parameter collection is identical to the specified collection + + + + + Determines that the parameter collection has the specified number of elements. + + The constraint that should be applied to the collection count. + + + + Determines that an element of the parameter collections conforms to another AbstractConstraint. + + The zero-based index of the list element. + The constraint which should be applied to the list element. + + + + Determines that an element of the parameter collections conforms to another AbstractConstraint. + + The key of the element. + The constraint which should be applied to the element. + + + + Determines that all elements of the specified collection are in the the parameter collection + + The collection to compare against + The constraint which should be applied to the list parameter. + + + + Central location for constraints for object's properties + + + + + Constrains the parameter to have property with the specified value + + Name of the property. + Expected value. + + + + + Constrains the parameter to have property with the specified value. + + The type that declares the property, used to disambiguate between properties. + Name of the property. + Expected value. + + + + + Constrains the parameter to have a property satisfying a specified constraint. + + Name of the property. + Constraint for the property. + + + + Constrains the parameter to have a property satisfying a specified constraint. + + The type that declares the property, used to disambiguate between properties. + Name of the property. + Constraint for the property. + + + + Determines whether the parameter has the specified property and that it is null. + + Name of the property. + + + + + Determines whether the parameter has the specified property and that it is null. + + The type that declares the property, used to disambiguate between properties. + Name of the property. + + + + + Determines whether the parameter has the specified property and that it is not null. + + Name of the property. + + + + + Determines whether the parameter has the specified property and that it is not null. + + The type that declares the property, used to disambiguate between properties. + Name of the property. + + + + + constraints the parameter to have the exact same property values as the expected object. + + An object, of the same type as the parameter, whose properties are set with the expected values. + An instance of the constraint that will do the actual check. + + The parameter's public property values and public field values will be matched against the expected object's + public property values and public field values. The first mismatch will be reported and no further matching is done. + The matching is recursive for any property or field that has properties or fields of it's own. + Collections are supported through IEnumerable, which means the constraint will check if the actual and expected + collection contain the same values in the same order, where the values contained by the collection can have properties + and fields of their own that will be checked as well because of the recursive nature of this constraint. + + + + + Central location for all text related constraints + + + + + Constrain the argument to starts with the specified string + + + + + Constrain the argument to end with the specified string + + + + + Constrain the argument to contain the specified string + + + + + Constrain the argument to validate according to regex pattern + + + + + Provides access to the constraintes defined in the class to be used in context + with the syntax. + + + + + Constrain the argument to starts with the specified string + + + + + + Constrain the argument to end with the specified string + + + + + Constrain the argument to contain the specified string + + + + + Constrain the argument to validate according to regex pattern + + + + + Throws NotSupportedException. Don't use Equals to define constraints. Use Equal instead. + + + + + + + Serves as a hash function for a particular type. + + + A hash code for the current . + + + + + This class defines a lot of method signatures, which we will use + to allow compatability on net-2.0 + + + + + dummy + + + + + dummy + + + + + dummy + + + + + dummy + + + + + dummy + + + + + dummy + + + + + dummy + + + + + dummy + + + + + dummy + + + + + dummy + + + + + dummy + + + + + dummy + + + dummy + + + + + dummy + + + + + dummy + + + + + dummy + + + + + dummy + + + + + dummy + + + + + dummy + + + + + dummy + + + + + dummy + + + + + dummy + + + + + Allows expectations to be set on methods that should never be called. + For methods with void return value, you need to use LastCall or + DoNotExpect.Call() with a delegate. + + + + + Sets LastCall.Repeat.Never() on /any/ proxy on /any/ repository on the current thread. + This method if not safe for multi threading scenarios. + + + + + Accepts a delegate that will execute inside the method which + LastCall.Repeat.Never() will be applied to. + It is expected to be used with anonymous delegates / lambda expressions and only one + method should be called. + + + IService mockSrv = mocks.CreateMock(typeof(IService)) as IService; + DoNotExpect.Call(delegate{ mockSrv.Stop(); }); + ... + + + + + An expectaton violation was detected. + + + + + Creates a new instance. + + Message. + + + + Serialization constructor + + + + + Signals that an object was call on a mock repository which doesn't + belong to this mock repository or not a mock + + + + + Creates a new instance. + + Message. + + + + Serialization constructor + + + + + Allows to set expectation on methods that has return values. + For methods with void return value, you need to use LastCall + + + + + The method options for the last call on /any/ proxy on /any/ repository on the current thread. + This method if not safe for multi threading scenarios, use . + + + + + Accepts a delegate that will execute inside the method, and then return the resulting + instance. + It is expected to be used with anonymous delegates / lambda expressions and only one + method should be called. + + + IService mockSrv = mocks.CreateMock(typeof(IService)) as IService; + Expect.Call(delegate{ mockSrv.Start(); }).Throw(new NetworkException()); + ... + + + + + Get the method options for the last method call on the mockInstance. + + + + + A delegate that can be used to get better syntax on Expect.Call(delegate { foo.DoSomething(); }); + + + + + Abstract class that holds common information for + expectations. + + + + + Interface to validate that a method call is correct. + + + + + Validate the arguments for the method. + This method can be called numerous times, so be careful about side effects + + The arguments with which the method was called + + + + Add an actual method call to this expectation + + + + + Returns the return value or throw the exception and setup any output / ref parameters + that has been set. + + + + + Builds the verification failure message. + + + + + + Gets the error message. + + + + + + Range of expected calls + + + + + Number of call actually made for this method + + + + + If this expectation is still waiting for calls. + + + + + The return value for a method matching this expectation + + + + + Gets or sets the exception to throw on a method matching this expectation. + + + + + Gets a value indicating whether this instance's action is staisfied. + A staisfied instance means that there are no more requirements from + this method. A method with non void return value must register either + a return value or an exception to throw. + + + + + Gets the method this expectation is for. + + + + + Gets or sets what special condtions there are for this method + repeating. + + + + + Gets a value indicating whether this expectation was satisfied + + + + + Specify whatever this expectation has a return value set + You can't check ReturnValue for this because a valid return value include null. + + + + + An action to execute when the method is matched. + + + + + Set the out / ref parameters for the method call. + The indexing is zero based and ignores any non out/ref parameter. + It is possible not to pass all the parameters. This method can be called only once. + + + + + Documentation Message + + + + + Gets the invocation for this expectation + + The invocation. + + + + Occurs when the exceptation is match on a method call + + + + + Allow to set the return value in the future, if it was already set. + + + + + Number of actuall calls made that passed this expectation + + + + + Range of expected calls that should pass this expectation. + + + + + The return value for a method matching this expectation + + + + + The exception to throw on a method matching this expectation. + + + + + The method this expectation is for. + + + + + The return value for this method was set + + + + + Whether this method will repeat + unlimited number of times. + + + + + A delegate that will be run when the + expectation is matched. + + + + + The arguments that matched this expectation. + + + + + Documentation message + + + + + The method originalInvocation + + + + + Get the hash code + + + + + Add an actual actualMethodCall call to this expectation + + + + + Builds the verification failure message. + + + + + + Returns the return value or throw the exception and setup output / ref parameters + + + + + Validate the arguments for the method on the child methods + + The arguments with which the method was called + + + + Creates a new instance. + + The originalInvocation for this method, required because it contains the generic type infromation + Number of method calls for this expectations + + + + Creates a new instance. + + Expectation. + + + + Validate the arguments for the method on the child methods + + The arguments with which the method was called + + + + Determines if this object equal to obj + + + + + The error message for these arguments + + + + + Asserts that the delegate has the same parameters as the expectation's method call + + + + + Setter for the outpur / ref parameters for this expecataion. + Can only be set once. + + + + + Specify whether this expectation has a return value set + You can't check ReturnValue for this because a valid return value include null. + + + + + Gets the method this expectation is for. + + + + + Gets the originalInvocation for this expectation + + The originalInvocation. + + + + Gets or sets what special condtions there are for this method + + + + + Range of expected calls + + + + + Number of call actually made for this method + + + + + If this expectation is still waiting for calls. + + + + + Gets a value indicating whether this expectation was satisfied + + + + + The return value for a method matching this expectation + + + + + An action to execute when the method is matched. + + + + + Gets or sets the exception to throw on a method matching this expectation. + + + + + Gets a value indicating whether this instance's action is staisfied. + A staisfied instance means that there are no more requirements from + this method. A method with non void return value must register either + a return value or an exception to throw or an action to execute. + + + + + Documentation message + + + + + Occurs when the exceptation is match on a method call + + + + + Allow to set the return value in the future, if it was already set. + + + + + Gets the error message. + + + + + + Expectation that matches any arguments for the method. + + + + + Creates a new instance. + + Invocation for this expectation + Number of method calls for this expectations + + + + Creates a new instance. + + Expectation. + + + + Validate the arguments for the method. + + The arguments with which the method was called + + + + Determines if the object equal to expectation + + + + + Get the hash code + + + + + Gets the error message. + + + + + + Summary description for ArgsEqualExpectation. + + + + + Creates a new instance. + + Expected args. + The invocation for this expectation + Number of method calls for this expectations + + + + Validate the arguments for the method. + + The arguments with which the method was called + + + + Determines if the object equal to expectation + + + + + Get the hash code + + + + + Gets the error message. + + + + + + Get the expected args. + + + + + Call a specified callback to verify the expectation + + + + + Creates a new instance. + + Expectation. + Callback. + + + + Creates a new instance. + + Invocation for this expectation + Callback. + Number of method calls for this expectations + + + + Validate the arguments for the method on the child methods + + The arguments with which the method was called + + + + Determines if the object equal to expectation + + + + + Get the hash code + + + + + Gets the error message. + + + + + + Expect the method's arguments to match the contraints + + + + + Creates a new instance. + + Invocation for this expectation + Constraints. + Number of method calls for this expectations + + + + Creates a new instance. + + Expectation. + Constraints. + + + + Validate the arguments for the method. + + The arguments with which the method was called + + + + Determines if the object equal to expectation + + + + + Get the hash code + + + + + Gets the error message. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Summary for AndSpecification + + + + + + + + + + + + + + + + + + + + + + Summary description for FollowsEventNamingStandard + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Summary descritpion for NamedEventExistsOnDeclaringType + + + + + + + + + Doesn't log anything, just makes happy noises + + + + + Log expectations - allows to see what is going on inside Rhino Mocks + + + + + Logs the expectation as is was recorded + + The invocation. + The expectation. + + + + Logs the expectation as it was recorded + + The invocation. + The expectation. + + + + Logs the unexpected method call. + + The invocation. + The message. + + + + Logs the expectation as is was recorded + + The invocation. + The expectation. + + + + Logs the expectation as it was recorded + + The invocation. + The expectation. + + + + Logs the unexpected method call. + + The invocation. + The message. + + + + Operation on a remoting proxy + + + It is not possible to directly communicate to a real proxy via transparent proxy. + Transparent proxy impersonates a user type and only methods of that user type are callable. + The only methods that are guaranteed to exist on any transparent proxy are methods defined + in Object: namely ToString(), GetHashCode(), and Equals()). + + These three methods are the only way to tell the real proxy to do something. + Equals() is the most suitable of all, since it accepts an arbitrary object parameter. + The RemotingProxy code is built so that if it is compared to an IRemotingProxyOperation, + transparentProxy.Equals(operation) will call operation.Process(realProxy). + This way we can retrieve a real proxy from transparent proxy and perform + arbitrary operation on it. + + + + + Generates remoting proxies and provides utility functions + + + + + Create the proxy using remoting + + + + + Check whether an object is a transparent proxy with a RemotingProxy behind it + + Object to check + true if the object is a transparent proxy with a RemotingProxy instance behind it, false otherwise + We use Equals() method to communicate with the real proxy behind the object. + See IRemotingProxyOperation for more details + + + + Retrieve a mocked object from a transparent proxy + + Transparent proxy with a RemotingProxy instance behind it + Mocked object associated with the proxy + We use Equals() method to communicate with the real proxy behind the object. + See IRemotingProxyOperation for more details + + + + Implementation of IInvocation based on remoting proxy + + Some methods are marked NotSupported since they either don't make sense + for remoting proxies, or they are never called by Rhino Mocks + + + + Rudimetry implementation that simply logs methods calls as text. + + + + + Initializes a new instance of the class. + + The writer. + + + + Logs the expectation as it was recorded + + The invocation. + The expectation. + + + + Logs the expectation as it was recorded + + The invocation. + The expectation. + + + + Logs the unexpected method call. + + The invocation. + The message. + + + + Behave like a stub, all properties and events acts normally, methods calls + return default values by default (but can use expectations to set them up), etc. + + + + + Records all the expectations for a mock + + + + + Different actions on this mock + + + + + Add a method call for this state' mock. + + The invocation for this method + The method that was called + The arguments this method was called with + + + + Verify that this mock expectations have passed. + + + + + Verify that we can move to replay state and move + to the reply state. + + + + + Gets a mock state that match the original mock state of the object. + + + + + Get the options for the last method call + + + + + Set the exception to throw when Verify is called. + This is used to report exception that may have happened but where caught in the code. + This way, they are reported anyway when Verify() is called. + + + + + This method is called to indicate that a property behavior call. + This is done so we generate good error message in the common case of people using + Stubbed properties with Return(). + + + + + Gets the matching verify state for this state + + + + + Get the options for the last method call + + + + + Get the options for the last method call + + + + + Set the exception to throw when Verify is called. + This is used to report exception that may have happened but where caught in the code. + This way, they are reported anyway when Verify() is called. + + + + + This method is called to indicate that a property behavior call. + This is done so we generate good error message in the common case of people using + Stubbed properties with Return(). + + + + + Creates a new instance. + + Repository. + The proxy that generates the method calls + + + + Add a method call for this state' mock. + + The invocation for this method + The method that was called + The arguments this method was called with + + + + Verify that we can move to replay state and move + to the reply state. + + + + + Verify that we can move to replay state and move + to the reply state. + + + + + Verify that this mock expectations have passed. + + + + + Gets a mock state that match the original mock state of the object. + + + + + Asserts the previous method is closed (had an expectation set on it so we can replay it correctly) + + + + + Get the default call count range expectation + + + + + + Gets the last expectation. + + + + + Gets the total method calls count. + + + + + Get the options for the last method call + + + + + Gets the matching verify state for this state + + + + + Initializes a new instance of the class. + + The proxy that generates the method calls + Repository. + + + + We don't care much about expectations here, so we will remove the expectation if + it is not closed. + + + + + Verify that we can move to replay state and move + to the reply state. + + + + + + Get the default call count range expectation + + + + + + Validate expectations on recorded methods, but in general completely ignoring them. + Similar to except that it would return a + when BackToRecord is called. + + + + + Validate all expectations on a mock + + + + + The repository for this state + + + + + The proxy object for this state + + + + + Get the options for the last method call + + + + + Creates a new instance. + + The previous state for this method + + + + Add a method call for this state' mock. + + The invocation for this method + The method that was called + The arguments this method was called with + + + + Add a method call for this state' mock. + This allows derived method to cleanly get a the setupresult behavior while adding + their own. + + The invocation for this method + The method that was called + The arguments this method was called with + + + + Set the exception to throw when Verify is called. + This is used to report exception that may have happened but where caught in the code. + This way, they are reported anyway when Verify() is called. + + + + + not relevant + + + + + Verify that this mock expectations have passed. + + + + + Verify that we can move to replay state and move + to the reply state. + + + + + Gets a mock state that match the original mock state of the object. + + + + + Get the options for the last method call + + + + + Gets the matching verify state for this state + + + + + Initializes a new instance of the class. + + The previous state for this method + + + + Add a method call for this state' mock. + + The invocation for this method + The method that was called + The arguments this method was called with + + + + Gets a mock state that matches the original mock state of the object. + + + + + Write rhino mocks log info to the trace + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + if set to true [log recorded]. + if set to true [log replayed]. + if set to true [log unexpected]. + + + + Logs the expectation as is was recorded + + The invocation. + The expectation. + + + + Logs the expectation as it was recorded + + The invocation. + The expectation. + + + + Logs the unexpected method call. + + The invocation. + The message. + + + + Writes log information as stack traces about rhino mocks activity + + + + + Allows to redirect output to a different location. + + + + + Logs the expectation as is was recorded + + The invocation. + The expectation. + + + + Logs the expectation as it was recorded + + The invocation. + The expectation. + + + + Logs the unexpected method call. + + The invocation. + The message. + + + + Marker interface used to indicate that this is a partial mock. + + + + + Options for CallOriginalMethod + + + + + No expectation is created, the method will be called directly + + + + + Normal expectation is created, but when the method is later called, it will also call the original method + + + + + This is a data structure that is used by + to pass + the current method to the relevant delegate + + + + + Initializes a new instance of the class. + + The invocation. + + + + Gets the args for this method invocation + + + + + Get the method that was caused this invocation + + + + + Gets or sets the return value for this method invocation + + The return value. + + + + Adds optional new usage: + using(mockRepository.Record()) { + Expect.Call(mock.Method()).Return(retVal); + } + using(mockRepository.Playback()) { + // Execute code + } + N.B. mockRepository.ReplayAll() and mockRepository.VerifyAll() + calls are taken care of by Record/Playback + + + Creates proxied instances of types. + + + + Generates a stub without needing a + Arguments for 's constructor + The of stub to create. + The stub + + + + Generates a stub without needing a + The of stub. + Arguments for the 's constructor. + The stub + + + + Generate a mock object without needing a + type of mock object to create. + Arguments for 's constructor + the mock object + + + + Generate a multi-mock object without needing a + The typeof object to generate a mock for. + A second interface to generate a multi-mock for. + Arguments for 's constructor + the multi-mock object + + + + Generate a multi-mock object without without needing a + The typeof object to generate a mock for. + An interface to generate a multi-mock for. + A second interface to generate a multi-mock for. + Arguments for 's constructor + the multi-mock object + + + + Creates a multi-mock without without needing a + The type of mock to create, this can be a class + Any extra interfaces to add to the multi-mock, these can only be interfaces. + Arguments for 's constructor + the multi-mock object + + + + Creates a strict mock without without needing a + Any arguments required for the 's constructor + The type of mock object to create. + The mock object with strict replay semantics + + + + Creates a strict multi-mock without needing a + Any arguments required for the 's constructor + The type of mock object to create, this can be a class. + An interface to generate a multi-mock for, this must be an interface! + The multi-mock object with strict replay semantics + + + + Creates a strict multi-mock without needing a + Any arguments required for the 's constructor + The type of mock object to create, this can be a class. + An interface to generate a multi-mock for, this must be an interface! + A second interface to generate a multi-mock for, this must be an interface! + The multi-mock object with strict replay semantics + + + + Creates a strict multi-mock without needing a + The type of mock object to create, this can be a class + Any extra interfaces to generate a multi-mock for, these must be interaces! + Any arguments for the 's constructor + The strict multi-mock object + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Generate a mock object with dynamic replay semantics and remoting without needing the mock repository + + + + + Generate a mock object with strict replay semantics and remoting without needing the mock repository + + + + Helper method to create a mock object without a repository instance and put the object back into replay mode. + The type of mock object to create + A delegate that uses a mock repository instance to create the underlying mock + The mock object in the replay mode. + + + + + + + + + + + + + + This is a map of types to ProxyGenerators. + + + + + This is used to record the last repository that has a method called on it. + + + + + this is used to get to the last proxy on this repository. + + + + + For mock delegates, maps the proxy instance from intercepted invocations + back to the delegate that was originally returned to client code, if any. + + + + + All the proxies in the mock repositories + + + + + This is here because we can't put it in any of the recorders, since repeatable methods + have no orderring, and if we try to handle them using the usual manner, we would get into + wierd situations where repeatable method that was defined in an orderring block doesn't + exists until we enter this block. + + + + + Creates a new instance. + + + + + Move the repository to ordered mode + + + + + Move the repository to un-ordered mode + + + + + Creates a mock for the specified type. + + Type. + Arguments for the class' constructor, if mocking a concrete class + + + + Creates a strict mock for the specified type. + + Type. + Arguments for the class' constructor, if mocking a concrete class + + + + Creates a remoting mock for the specified type. + + Type. + Arguments for the class' constructor, if mocking a concrete class + + + + Creates a strict remoting mock for the specified type. + + Type. + Arguments for the class' constructor, if mocking a concrete class + + + + Creates a remoting mock for the specified type. + + + Arguments for the class' constructor, if mocking a concrete class + + + + + Creates a strict remoting mock for the specified type. + + + Arguments for the class' constructor, if mocking a concrete class + + + + + Creates a mock from several types, with strict semantics. + Only may be a class. + + + + + Creates a strict mock from several types, with strict semantics. + Only may be a class. + + + + + Creates a mock from several types, with strict semantics. + Only may be a class. + + The main type to mock. + Extra interface types to mock. + Arguments for the class' constructor, if mocking a concrete class. + + + + Creates a strict mock from several types, with strict semantics. + Only may be a class. + + The main type to mock. + Extra interface types to mock. + Arguments for the class' constructor, if mocking a concrete class. + + + + Creates a mock from several types, with dynamic semantics. + Only may be a class. + + The main type to mock. + Extra interface types to mock. + + + + Creates a mock from several types, with dynamic semantics. + Only may be a class. + + The main type to mock. + Extra interface types to mock. + Arguments for the class' constructor, if mocking a concrete class. + + + Creates a dynamic mock for the specified type. + Type. + Arguments for the class' constructor, if mocking a concrete class + + + Creates a dynamic mock for the specified type. + Type. + Arguments for the class' constructor, if mocking a concrete class + + + Creates a dynamic mock for the specified type. + + Arguments for the class' constructor, if mocking a concrete class + + + + Creates a mock object that defaults to calling the class methods if no expectation is set on the method. + Type. + Arguments for the class' constructor. + + + Creates a mock object that defaults to calling the class methods. + Type. + Extra interface types to mock. + + + Creates a mock object that defaults to calling the class methods. + Type. + Extra interface types to mock. + Arguments for the class' constructor. + + + Creates a mock object using remoting proxies + Type to mock - must be MarshalByRefObject + Mock object + Proxy mock can mock non-virtual methods, but not static methods + Creates the mock state for this proxy + + + + Cause the mock state to change to replay, any further call is compared to the + ones that were called in the record state. + + This method *cannot* be called from inside an ordering. + the object to move to replay state + + + + Cause the mock state to change to replay, any further call is compared to the + ones that were called in the record state. + + the object to move to replay state + + + + Move the mocked object back to record state.You can (and it's recommended) to run {Verify()} before you use this method. + Will delete all current expectations! + + + + Move the mocked object back to record state. + Optionally, can delete all current expectations, but allows more granularity about how + it would behave with regard to the object state. + + + + + Verify that all the expectations for this object were fulfilled. + + the object to verify the expectations for + + + + Get the method options for the last call on + mockedInstance. + + The mock object + Method options for the last call + + + + Maps an invocation proxy back to the mock object instance that was originally + returned to client code which might have been a delegate to this proxy. + + The mock object proxy from the intercepted invocation + The mock object + + + This is provided to allow advance extention functionality, where Rhino Mocks standard functionality is not enough. + The type to mock + Delegate that create the first state of the mocked object (usualy the record state). + Additional types to be implemented, this can be only interfaces + optional arguments for the constructor + + + + + Method: GetMockedObject + Get an IProxy from a mocked object instance, or throws if the + object is not a mock object. + + + + + Method: GetMockedObjectOrNull + Get an IProxy from a mocked object instance, or null if the + object is not a mock object. + + + + Pops the recorder. + + + Pushes the recorder. + New recorder. + + + + All the mock objects in this repository will be moved + to record state. + + + + + All the mock objects in this repository will be moved + to record state. + + + + + Replay all the mocks from this repository + + + + + Verify all the mocks from this repository + + + + + Gets the proxy generator for a specific type. Having a single ProxyGenerator + with multiple types linearly degrades the performance so this implementation + keeps one ProxyGenerator per type. + + + + Set the exception to be thrown when verified is called. + + + + Creates a mock for the spesified type with strict mocking semantics. + Strict semantics means that any call that wasn't explicitly recorded is considered an error and would cause an exception to be thrown. + + Arguments for the class' constructor, if mocking a concrete class + + + + Creates a mock for the spesified type with strict mocking semantics. + Strict semantics means that any call that wasn't explicitly recorded is considered an error and would cause an exception to be thrown. + + Arguments for the class' constructor, if mocking a concrete class + + + + Creates a dynamic mock for the specified type. + + Arguments for the class' constructor, if mocking a concrete class + + + + Creates a mock object from several types. + + + + + Creates a strict mock object from several types. + + + + + Create a mock object from several types with dynamic semantics. + + + + + Create a mock object from several types with partial semantics. + + + + + Create a mock object from several types with strict semantics. + + Extra interface types to mock. + Arguments for the class' constructor, if mocking a concrete class + + + + Create a strict mock object from several types with strict semantics. + + Extra interface types to mock. + Arguments for the class' constructor, if mocking a concrete class + + + + Create a mock object from several types with dynamic semantics. + + Extra interface types to mock. + Arguments for the class' constructor, if mocking a concrete class + + + + Create a mock object from several types with partial semantics. + + Extra interface types to mock. + Arguments for the class' constructor, if mocking a concrete class + + + + Create a mock object with from a class that defaults to calling the class methods + + Arguments for the class' constructor, if mocking a concrete class + + + + Create a stub object, one that has properties and events ready for use, and + can have methods called on it. It requires an explicit step in order to create + an expectation for a stub. + + The arguments for constructor. + + + + Create a stub object, one that has properties and events ready for use, and + can have methods called on it. It requires an explicit step in order to create + an expectation for a stub. + + The type. + The arguments for constructor. + The stub + + + + Returns true if the passed mock is currently in replay mode. + + The mock to test. + True if the mock is in replay mode, false otherwise. + + + + Determines whether the specified proxy is a stub. + + The proxy. + + + + Register a call on a prperty behavior + + + + + + Gets the recorder. + + + + + + Gets the replayer for this repository. + + + + + + Gets the last proxy which had a method call. + + + + + Delegate: CreateMockState + This is used internally to cleanly handle the creation of different + RecordMockStates. + + + + + A set of extension methods that adds Arrange Act Assert mode to Rhino Mocks + + + + + Create an expectation on this mock for this action to occur + + + The mock. + The action. + + + + + Reset all expectations on this mock object + + + The mock. + + + + Reset the selected expectation on this mock object + + + The mock. + The options to reset the expectations on this mock. + + + + Cause the mock state to change to replay, any further call is compared to the + ones that were called in the record state. + + the mocked object to move to replay state + + + + Gets the mock repository for this specificied mock object + + + The mock. + + + + + Create an expectation on this mock for this action to occur + + + + The mock. + The action. + + + + + Tell the mock object to perform a certain action when a matching + method is called. + Does not create an expectation for this method. + + + The mock. + The action. + + + + + Tell the mock object to perform a certain action when a matching + method is called. + Does not create an expectation for this method. + + + + The mock. + The action. + + + + + Gets the arguments for calls made on this mock object and the method that was called + in the action. + + + The mock. + The action. + + + Here we will get all the arguments for all the calls made to DoSomething(int) + + var argsForCalls = foo54.GetArgumentsForCallsMadeOn(x => x.DoSomething(0)) + + + + + + Gets the arguments for calls made on this mock object and the method that was called + in the action and matches the given constraints + + + The mock. + The action. + The setup constraints. + + + Here we will get all the arguments for all the calls made to DoSomething(int) + + var argsForCalls = foo54.GetArgumentsForCallsMadeOn(x => x.DoSomething(0)) + + + + + + Asserts that a particular method was called on this mock object + + + The mock. + The action. + + + + Asserts that a particular method was called on this mock object that match + a particular constraint set. + + + The mock. + The action. + The setup constraints. + + + + Asserts that a particular method was called on this mock object that match + a particular constraint set. + + + The mock. + The action. + + + + Asserts that a particular method was called on this mock object that match + a particular constraint set. + + + The mock. + The action. + The setup constraints. + + + + Asserts that a particular method was NOT called on this mock object + + + The mock. + The action. + + + + Asserts that a particular method was NOT called on this mock object that match + a particular constraint set. + + + The mock. + The action. + The setup constraints. + + + + Asserts that a particular method was NOT called on this mock object + + + The mock. + The action. + + + + Asserts that a particular method was NOT called on this mock object + + + The mock. + The action. + The setup constraints. + + + + Finds the approprite implementation type of this item. + This is the class or an interface outside of the rhino mocks. + + The mocked obj. + + + + + Verifies all expectations on this mock object + + The mock object. + + + + Gets the event raiser for the event that was called in the action passed + + The type of the event source. + The mock object. + The event subscription. + + + + + Raise the specified event using the passed arguments. + The even is extracted from the passed labmda + + The type of the event source. + The mock object. + The event subscription. + The sender. + The instance containing the event data. + + + + Raise the specified event using the passed arguments. + The even is extracted from the passed labmda + + The type of the event source. + The mock object. + The event subscription. + The args. + + + TODO: Make this better! It currently breaks down when mocking classes or + ABC's that call other virtual methods which are getting intercepted too. I wish + we could just walk Expression{Action{Action{T}} to assert only a single + method is being made. + + The workaround is to not call foo.AssertWasCalled .. rather foo.VerifyAllExpectations() + The type of mock object + The mock repository + The actual mock object to assert expectations on. + + + + Fake type that disallow creating it. + Should have been System.Type, but we can't use it. + + + + + Utility class for dealing with messing generics scenarios. + + + + + There are issues with trying to get this to work correctly with open generic types, since this is an edge case, + I am letting the runtime handle it. + + + + + Gets the real type, including de-constructing and constructing the type of generic + methods parameters. + + The type. + The invocation. + + + + + Because we need to support complex types here (simple generics were handled above) we + need to be aware of the following scenarios: + List[T] and List[Foo[T]] + + + + + ExpectationsList + + + + + Dictionary + + + + + Dictionary class + + + + + Create a new instance of ProxyStateDictionary + + + + + Allows to call a method and immediately get it's options. + + + + + Interface to allow calling a method and immediately get it's options. + + + + + Get the method options for the call + + The method call should go here, the return value is ignored + + + + Creates a new instance. + + + + + Get the method options for the call + + The method call should go here, the return value is ignored + + + + Allows to call a method and immediately get it's options. + Set the expected number for the call to Any() + + + + + Creates a new instance. + + Proxy. + Mocked instance. + + + + Get the method options for the call + + The method call should go here, the return value is ignored + + + + This class is reponsible for taking a delegate and creating a wrapper + interface around it, so it can be mocked. + + + + + The scope for all the delegate interfaces create by this mock repository. + + + + + Gets a type with an "Invoke" method suitable for use as a target of the + specified delegate type. + + + + + + + Raise events for all subscribers for an event + + + + + Raise events for all subscribers for an event + + + + + Raise the event + + + + + The most common form for the event handler signature + + + + + Create an event raiser for the specified event on this instance. + + + + + Creates a new instance of EventRaiser + + + + + Raise the event + + + + + The most common signature for events + Here to allow intellisense to make better guesses about how + it should suggest parameters. + + + + + Allows to define what would happen when a method + is called. + + + + + Allows to define what would happen when a method + is called. + + + + + Set the return value for the method. + + The object the method will return + IRepeat that defines how many times the method will return this value + + + + Allow to override this return value in the future + + IRepeat that defines how many times the method will return this value + + + + Throws the specified exception when the method is called. + + Exception to throw + + + + Ignores the arguments for this method. Any argument will be matched + againt this method. + + + + + Add constraints for the method's arguments. + + + + + Set a callback method for the last call + + + + + Set a delegate to be called when the expectation is matched. + The delegate return value will be returned from the expectation. + + + + + Set a delegate to be called when the expectation is matched. + The delegate return value will be returned from the expectation. + + + + + Set a delegate to be called when the expectation is matched. + The delegate return value will be returned from the expectation. + + + + + Set a delegate to be called when the expectation is matched. + The delegate return value will be returned from the expectation. + + + + + Set a delegate to be called when the expectation is matched. + The delegate return value will be returned from the expectation. + + + + + Set a delegate to be called when the expectation is matched. + The delegate return value will be returned from the expectation. + + + + + Set a delegate to be called when the expectation is matched. + The delegate return value will be returned from the expectation. + + + + + Set a delegate to be called when the expectation is matched. + The delegate return value will be returned from the expectation. + + + + + Set a delegate to be called when the expectation is matched. + The delegate return value will be returned from the expectation. + + + + + Set a delegate to be called when the expectation is matched. + The delegate return value will be returned from the expectation. + + + + + Set a delegate to be called when the expectation is matched. + The delegate return value will be returned from the expectation. + + + + + Set a delegate to be called when the expectation is matched. + The delegate return value will be returned from the expectation. + + + + + Set a delegate to be called when the expectation is matched + and allow to optionally modify the invocation as needed + + + + + Call the original method on the class, bypassing the mocking layers. + + + + + + Call the original method on the class, optionally bypassing the mocking layers. + + + + + + Use the property as a simple property, getting/setting the values without + causing mock expectations. + + + + + Expect last (property) call as property setting, ignore the argument given + + + + + + Expect last (property) call as property setting with a given argument. + + + + + + + Get an event raiser for the last subscribed event. + + + + + Set the parameter values for out and ref parameters. + This is done using zero based indexing, and _ignoring_ any non out/ref parameter. + + + + + Documentation message for the expectation + + Message + + + + Better syntax to define repeats. + + + + + Allows to specify the number of time for method calls + + + + + Repeat the method twice. + + + + + Repeat the method once. + + + + + Repeat the method at least once, then repeat as many time as it would like. + + + + + Repeat the method any number of times. + This has special affects in that this method would now ignore orderring. + + + + + Set the range to repeat an action. + + Min. + Max. + + + + Set the amount of times to repeat an action. + + + + + This method must not appear in the replay state. + This has special affects in that this method would now ignore orderring. + + + + + Creates a new instance. + + the repository for this expectation + the recorder for this proxy + the proxy for this expectation + Expectation. + + + + Add constraints for the method's arguments. + + + + + Set a callback method for the last call + + + + + Set a callback method for the last call + + + + + Set a callback method for the last call + + + + + Set a callback method for the last call + + + + + Set a callback method for the last call + + + + + Set a callback method for the last call + + + + + Set a callback method for the last call + + + + + Set a callback method for the last call + + + + + Set a callback method for the last call + + + + + Set a callback method for the last call + + + + + Set a callback method for the last call + + + + + Set a callback method for the last call + + + + + Set a delegate to be called when the expectation is matched. + The delegate return value will be returned from the expectation. + + + + + Set a delegate to be called when the expectation is matched. + The delegate return value will be returned from the expectation. + + + + + Set the return value for the method. + + The object the method will return + IRepeat that defines how many times the method will return this value + + + + Set the return value for the method, but allow to override this return value in the future + + IRepeat that defines how many times the method will return this value + + + + Throws the specified exception when the method is called. + + Exception to throw + + + + Ignores the arguments for this method. Any argument will be matched + againt this method. + + + + + Call the original method on the class, bypassing the mocking layers. + + + + + + Call the original method on the class, optionally bypassing the mocking layers + + + + + + Use the property as a simple property, getting/setting the values without + causing mock expectations. + + + + + Expect last (property) call as property setting, ignore the argument given + + + + + + Expect last (property) call as property setting with a given argument. + + + + + + + Gets the event raiser for the last event + + + + + Set the parameter values for out and ref parameters. + This is done using zero based indexing, and _ignoring_ any non out/ref parameter. + + + + + Repeat the method twice. + + + + + Repeat the method once. + + + + + Repeat the method at least once, then repeat as many time as it would like. + + + + + This method must not appear in the replay state. + + + + + Documentation message for the expectation + + Message + + + + Repeat the method any number of times. + + + + + Set the range to repeat an action. + + Min. + Max. + + + + Set the amount of times to repeat an action. + + + + + Better syntax to define repeats. + + + + + This class will provide hash code for hashtables without needing + to call the GetHashCode() on the object, which may very well be mocked. + This class has no state so it is a singelton to avoid creating a lot of objects + that does the exact same thing. See flyweight patterns. + + + + + Get the hash code for a proxy object without calling GetHashCode() + on the object. + + + + + Compares two instances of mocked objects + + + + + Compare two mocked objects + + + + + The next hash code value for a mock object. + This is safe for multi threading. + + + + + The sole instance of + + + + + This is a dummy type that is used merely to give DynamicProxy the proxy instance that + it needs to create IProxy's types. + + + + + Interface to find the repository of a mocked object + + + + + Return true if it should call the original method on the object + instead of pass it to the message chain. + + The method to call + + + + Register a method to be called on the object directly + + + + + Register a property on the object that will behave as a simple property + + + + + Check if the method was registered as a property method. + + + + + Do get/set on the property, according to need. + + + + + Do add/remove on the event + + + + + Get the subscribers of a spesific event + + + + + Gets the declaring type of the method, taking into acccount the possible generic + parameters that it was created with. + + + + + Clears the state of the object, remove original calls, property behavior, subscribed events, etc. + + + + + Get all the method calls arguments that were made against this object with the specificed + method. + + + Only method calls in replay mode are counted + + + + + Records the method call + + + + + Mocks that are tied to this mock lifestyle + + + + + The unique hash code of this mock, which is not related + to the value of the GetHashCode() call on the object. + + + + + Gets the repository. + + + + + Gets the implemented types by this mocked object + + The implemented. + + + + Gets or sets the constructor arguments. + + The constructor arguments. + + + + The mocked instance that this is representing + + + + + Create a new instance of + + + + + Return true if it should call the original method on the object + instead of pass it to the message chain. + + The method to call + + + + Register a method to be called on the object directly + + + + + Register a property on the object that will behave as a simple property + Return true if there is already a value for the property + + + + + Check if the method was registered as a property method. + + + + + Do get/set on the property, according to need. + + + + + Do add/remove on the event + + + + + Get the subscribers of a spesific event + + + + + Gets the declaring type of the method, taking into acccount the possible generic + parameters that it was created with. + + + + + Get all the method calls arguments that were made against this object with the specificed + method. + + + + + Only method calls in replay mode are counted + + + + + Records the method call + + + + + + + Clears the state of the object, remove original calls, property behavior, subscribed events, etc. + + + + + Mocks that are tied to this mock lifestyle + + + + + The unique hash code of this proxy, which is not related + to the value of the GetHashCode() call on the object. + + + + + Gets the repository. + + + + + Gets or sets the constructor arguments. + + The constructor arguments. + + + + The mocked instance that this is representing + + + + + Gets the implemented types by this mocked object + + The implemented. + + + + Range for expected method calls + + + + + Creates a new instance. + + Min. + Max. + + + + Return the string representation of this range. + + + + + Gets or sets the min. + + + + + + Gets or sets the max. + + + + + + Records all the expectations for a mock and + return a ReplayDynamicMockState when Replay() + is called. + + + + + Creates a new instance. + + Repository. + The proxy that generates the method calls + + + + Verify that we can move to replay state and move + to the reply state. + + + + + Get the default call count range expectation + + + + + + Gets a mock state that match the original mock state of the object. + + + + + Records all the expectations for a mock and + return a ReplayPartialMockState when Replay() + is called. + + + + + Creates a new instance. + + Repository. + The proxy that generates the method calls + + + + Verify that we can move to replay state and move + to the reply state. + + + + + Gets a mock state that matches the original mock state of the object. + + + + + Options for special repeat option + + + + + This method can be called only as many times as the IMethodOptions.Expect allows. + + + + + This method should never be called + + + + + This method can be call any number of times + + + + + This method will call the original method + + + + + This method will call the original method, bypassing the mocking layer + + + + + This method will simulate simple property behavior + + + + + Validate all expectations on a mock and ignores calls to + any method that was not setup properly. + + + + + Creates a new instance. + + The previous state for this method + + + + Add a method call for this state' mock. + + The invocation for this method + The method that was called + The arguments this method was called with + + + + Gets a mock state that match the original mock state of the object. + + + + + Validate all expectations on a mock and ignores calls to + any method that was not setup properly. + + + + + Creates a new instance. + + The previous state for this method + + + + Add a method call for this state' mock. + + The invocation for this method + The method that was called + The arguments this method was called with + + + + Gets a mock state that match the original mock state of the object. + + + + + Summary description for RhinoInterceptor. + + + + + Creates a new instance. + + + + + Intercept a method call and direct it to the repository. + + + + + Validate arguments for methods + + + + + Validate that the passed argument is not null. + + The object to validate + The name of the argument + + If the obj is null, an ArgumentNullException with the passed name + is thrown. + + + + + Validate that the arguments are equal. + + Expected args. + Actual Args. + + + + Validate that the two arguments are equals, including validation for + when the arguments are collections, in which case it will validate their values. + + + + + This method is safe for use even if any of the objects is a mocked object + that override equals. + + + + + Throw an object already verified when accessed + + + + + Create a new instance of VerifiedMockState + + The previous mock state, used to get the initial record state + + + + Add a method call for this state' mock. + + The invocation for this method + The method that was called + The arguments this method was called with + + + + Verify that this mock expectations have passed. + + + + + Verify that we can move to replay state and move + to the reply state. + + + + + Gets a mock state that match the original mock state of the object. + + + + + Get the options for the last method call + + + + + Set the exception to throw when Verify is called. + This is used to report exception that may have happened but where caught in the code. + This way, they are reported anyway when Verify() is called. + + + + + not relevant + + + + + Gets the matching verify state for this state + + + + + Get the options for the last method call + + + + + Records the actions on all the mocks created by a repository. + + + + + Records the specified call with the specified args on the mocked object. + + + + + Get the expectation for this method on this object with this arguments + + + + + This check the methods that were setup using the SetupResult.For() + or LastCall.Repeat.Any() and that bypass the whole expectation model. + + + + + Gets the all expectations for a mocked object and method combination, + regardless of the expected arguments / callbacks / contraints. + + Mocked object. + Method. + List of all relevant expectation + + + + Gets the all expectations for proxy. + + Mocked object. + List of all relevant expectation + + + + Removes all the repeatable expectations for proxy. + + Mocked object. + + + + Replaces the old expectation with the new expectation for the specified proxy/method pair. + This replace ALL expectations that equal to old expectations. + + Proxy. + Method. + Old expectation. + New expectation. + + + + Adds the recorder and turn it into the active recorder. + + Recorder. + + + + Moves to previous recorder. + + + + + Gets the recorded expectation or null. + + + + + Gets the next expected calls string. + + + + + Moves to parent recorder. + + + + + Set the expectation so it can repeat any number of times. + + + + + Removes the expectation from the recorder + + + + + Clear the replayer to call (and all its chain of replayers) + This also removes it from the list of expectations, so it will never be considered again + + + + + Get the expectation for this method on this object with this arguments + + + + + Gets a value indicating whether this instance has expectations that weren't satisfied yet. + + + true if this instance has expectations; otherwise, false. + + + + + Allows to set various options for the last method call on + a specified object. + If the method has a return value, it's recommended to use Expect + + + + + Allows to get an interface to work on the last call. + + The mocked object + Interface that allows to set options for the last method call on this object + + + + Set the return value for the method. + + The object the method will return + IRepeat that defines how many times the method will return this value + + + + Set the return value for the method. This overload is needed for LastCall.Return(null) + + The object the method will return + IRepeat that defines how many times the method will return this value + + + + Throws the specified exception when the method is called. + + Exception to throw + + + + Ignores the arguments for this method. Any argument will be matched + againt this method. + + + + + Add constraints for the method's arguments. + + + + + Set a callback method for the last call + + + + + Set a callback method for the last call + + + + + Set a callback method for the last call + + + + + Set a callback method for the last call + + + + + Set a callback method for the last call + + + + + Set a callback method for the last call + + + + + Set a callback method for the last call + + + + + Set a callback method for the last call + + + + + Set a callback method for the last call + + + + + Set a callback method for the last call + + + + + Set a callback method for the last call + + + + + Set a callback method for the last call + + + + + Call the original method on the class, bypassing the mocking layers, for the last call. + + + + + Call the original method on the class, optionally bypassing the mocking layers, for the last call. + + + + + Set a delegate to be called when the expectation is matched. + The delegate return value will be returned from the expectation. + + + + + Gets an interface that will raise the last event when called. + + + + + Set the parameter values for out and ref parameters. + This is done using zero based indexing, and _ignoring_ any non out/ref parameter. + + + + + Documentation message for the expectation + + Message + + + + Use the property as a simple property, getting/setting the values without + causing mock expectations. + + + + + Better syntax to define repeats. + + + + + Base class for method recorders, handle delegating to inner recorder if needed. + + + + + List of the expected actions on for this recorder + The legal values are: + * Expectations + * Method Recorders + + + + + The current recorder. + + + + + The current replayer; + + + + + The parent recorder of this one, may be null. + + + + + This contains a list of all the replayers that should be ignored + for a spesific method call. A replayer gets into this list by calling + ClearReplayerToCall() on its parent. This list is Clear()ed on each new invocation. + + + + + All the repeatable methods calls. + + + + + Counts the recursion depth of the current expectation search stack + + + + + Creates a new instance. + + + + + Creates a new instance. + + Parent recorder. + Repeatable methods + + + + Records the specified call with the specified args on the mocked object. + + + + + Get the expectation for this method on this object with this arguments + + + + + Gets the all expectations for a mocked object and method combination, + regardless of the expected arguments / callbacks / contraints. + + Mocked object. + Method. + List of all relevant expectation + + + + Gets the all expectations for proxy. + + Mocked object. + List of all relevant expectation + + + + Replaces the old expectation with the new expectation for the specified proxy/method pair. + This replace ALL expectations that equal to old expectations. + + Proxy. + Method. + Old expectation. + New expectation. + + + + Remove the all repeatable expectations for proxy. + + Mocked object. + + + + Set the expectation so it can repeat any number of times. + + + + + Removes the expectation from the recorder + + + + + Adds the recorder and turn it into the active recorder. + + Recorder. + + + + Moves to previous recorder. + + + + + Moves to parent recorder. + + + + + Gets the recorded expectation or null. + + + + + Clear the replayer to call (and all its chain of replayers). + This also removes it from the list of expectations, so it will never be considered again + + + + + Get the expectation for this method on this object with this arguments + + + + + Gets the next expected calls string. + + + + + Handles the real getting of the recorded expectation or null. + + + + + Handle the real execution of this method for the derived class + + + + + Handle the real execution of this method for the derived class + + + + + Handle the real execution of this method for the derived class + + + + + Handle the real execution of this method for the derived class + + + + + Handle the real execution of this method for the derived class + + + + + Handle the real execution of this method for the derived class + + + + + Should this replayer be considered valid for this call? + + + + + This check the methods that were setup using the SetupResult.For() + or LastCall.Repeat.Any() and that bypass the whole expectation model. + + + + + Gets a value indicating whether this instance has expectations that weren't satisfied yet. + + + true if this instance has expectations; otherwise, false. + + + + + Handle the real execution of this method for the derived class + + + + + Ordered collection of methods, methods must arrive in specified order + in order to pass. + + + + + Unordered collection of method records, any expectation that exist + will be matched. + + + + + The parent recorder we have redirected to. + Useful for certain edge cases in orderring. + See: FieldProblem_Entropy for the details. + + + + + Creates a new instance. + + Parent recorder. + Repeatable methods + + + + Creates a new instance. + + + + + Records the specified call with the specified args on the mocked object. + + Mocked object. + Method. + Expectation. + + + + Get the expectation for this method on this object with this arguments + + Invocation for this method + Mocked object. + Method. + Args. + True is the call was recorded, false otherwise + + + + Gets the all expectations for a mocked object and method combination, + regardless of the expected arguments / callbacks / contraints. + + Mocked object. + Method. + List of all relevant expectation + + + + Gets the all expectations for proxy. + + Mocked object. + List of all relevant expectation + + + + Replaces the old expectation with the new expectation for the specified proxy/method pair. + This replace ALL expectations that equal to old expectations. + + Proxy. + Method. + Old expectation. + New expectation. + + + + Handle the real execution of this method for the derived class + + + + + Handles the real getting of the recorded expectation or null. + + + + + Handle the real execution of this method for the derived class + + + + + Gets the next expected calls string. + + + + + Create an exception for an unexpected method call. + + + + + Gets a value indicating whether this instance has expectations that weren't satisfied yet. + + + true if this instance has expectations; otherwise, false. + + + + + Creates a new instance. + + Parent recorder. + Repetable methods + + + + Creates a new instance. + + + + + Handles the real getting of the recorded expectation or null. + + + + + Get the expectation for this method on this object with this arguments + + + + + Gets the next expected calls string. + + + + + Hold an expectation for a method call on an object + + + + + Creates a new instance. + + Proxy. + Method. + Expectation. + + + + Determines if the object equal to this instance + + Obj. + + + + + Gets the hash code. + + + + + + Gets the proxy. + + + + + + Gets the method. + + + + + + Gets the expectation. + + + + + + Holds a pair of mocked object and a method + and allows to compare them against each other. + This allows us to have a distinction between mockOne.MyMethod() and + mockTwo.MyMethod()... + + + + + Creates a new instance. + + Proxy. + Method. + + + + Determines whatever obj equals to this instance. + ProxyMethodPairs are equal when they point to the same /instance/ of + an object, and to the same method. + + Obj. + + + + + Gets the hash code. + + + + + + Gets the proxy. + + + + + + Gets the method. + + + + + + Change the recorder from ordered to unordered and vice versa + + + + + Creates a new instance. + + + + + Disposes this instance. + + + + + Accessor for the current mocker + + + + + The current mocker + + + + + Used for [assembly: InternalsVisibleTo(RhinoMocks.StrongName)] + Used for [assembly: InternalsVisibleTo(RhinoMocks.NormalName)] + + + + + Strong name for the Dynamic Proxy assemblies. Used for InternalsVisibleTo specification. + + + + + Normal name for dynamic proxy assemblies. Used for InternalsVisibleTo specification. + + + + + Logs all method calls for methods + + + + + Setup method calls to repeat any number of times. + + + + + Get the method options and set the last method call to repeat + any number of times. + This also means that the method would transcend ordering + + + + + Get the method options for the last method call on the mockInstance and set it + to repeat any number of times. + This also means that the method would transcend ordering + + + + + Utility class for working with method calls. + + + + + Return the string representation of a method call and its arguments. + + The method + The method arguments + Invocation of the method, used to get the generics arguments + Delegate to format the parameter + The string representation of this method call + + + + Return the string representation of a method call and its arguments. + + The invocation of the method, used to get the generic parameters + The method + The method arguments + The string representation of this method call + + + + Delegate to format the argument for the string representation of + the method call. + + + + + Utility to get the default value for a type + + + + + The default value for a type. + Null for reference types and void + 0 for value types. + First element for enums + Note that we need to get the value even for opened generic types, such as those from + generic methods. + + Type. + The invocation. + the default value + + + + Allows easier access to MockRepository, works closely with Mocker.Current to + allow access to a context where the mock repository is automatially verified at + the end of the code block. + + + + + Initialize a code block where Mocker.Current is initialized. + At the end of the code block, all the expectation will be verified. + This overload will create a new MockRepository. + + The code that will be executed under the mock context + + + + Initialize a code block where Mocker.Current is initialized. + At the end of the code block, all the expectation will be verified. + This overload will create a new MockRepository. + + The mock repository to use, at the end of the code block, VerifyAll() will be called on the repository. + The code that will be executed under the mock context + + + + Create a FluentMocker + + The mock repository to use. + + + + A method with no arguments and no return value that will be called under the mock context. + + + + + FluentMocker implements some kind of fluent interface attempt + for saying "With the Mocks [mocks], Expecting (in same order) [things] verify [that]." + + + + + Interface to verify previously defined expectations + + + + + Verifies if a piece of code + + + + + Defines unordered expectations + + A delegate describing the expectations + an IMockVerifier + + + + Defines ordered expectations + + A delegate describing the expectations + an IMockVerifier + + + + Verifies previously defined expectations + + + + + This delegate is compatible with the System.Func{T,R} signature + We have to define our own to get compatability with 2.0 + + + + + This attribute is here so we can get better Pex integration + Using this means that Pex will not try to inspect the work of + the actual proxies being generated by Rhino Mocks + + + + diff --git a/lib/Net/4.0/log4net.dll b/lib/Net/4.0/log4net.dll new file mode 100644 index 00000000..995816f2 Binary files /dev/null and b/lib/Net/4.0/log4net.dll differ diff --git a/lib/Net/4.0/nunit.core.dll b/lib/Net/4.0/nunit.core.dll new file mode 100644 index 00000000..dd3b2e00 Binary files /dev/null and b/lib/Net/4.0/nunit.core.dll differ diff --git a/lib/Net/4.0/nunit.core.interfaces.dll b/lib/Net/4.0/nunit.core.interfaces.dll new file mode 100644 index 00000000..39a11273 Binary files /dev/null and b/lib/Net/4.0/nunit.core.interfaces.dll differ diff --git a/lib/Net/4.0/nunit.framework.dll b/lib/Net/4.0/nunit.framework.dll new file mode 100644 index 00000000..639dbb0d Binary files /dev/null and b/lib/Net/4.0/nunit.framework.dll differ diff --git a/lib/Net/4.0/nunit.framework.xml b/lib/Net/4.0/nunit.framework.xml new file mode 100644 index 00000000..e67b2cdc --- /dev/null +++ b/lib/Net/4.0/nunit.framework.xml @@ -0,0 +1,10228 @@ + + + + nunit.framework + + + + + BinaryConstraint is the abstract base of all constraints + that combine two other constraints in some fashion. + + + + + The Constraint class is the base of all built-in constraints + within NUnit. It provides the operator overloads used to combine + constraints. + + + + + The IConstraintExpression interface is implemented by all + complete and resolvable constraints and expressions. + + + + + Return the top-level constraint for this expression + + + + + + Static UnsetObject used to detect derived constraints + failing to set the actual value. + + + + + The actual value being tested against a constraint + + + + + The display name of this Constraint for use by ToString() + + + + + Argument fields used by ToString(); + + + + + The builder holding this constraint + + + + + Construct a constraint with no arguments + + + + + Construct a constraint with one argument + + + + + Construct a constraint with two arguments + + + + + Sets the ConstraintBuilder holding this constraint + + + + + Write the failure message to the MessageWriter provided + as an argument. The default implementation simply passes + the constraint and the actual value to the writer, which + then displays the constraint description and the value. + + Constraints that need to provide additional details, + such as where the error occured can override this. + + The MessageWriter on which to display the message + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Test whether the constraint is satisfied by an + ActualValueDelegate that returns the value to be tested. + The default implementation simply evaluates the delegate + but derived classes may override it to provide for delayed + processing. + + An ActualValueDelegate + True for success, false for failure + + + + Test whether the constraint is satisfied by a given reference. + The default implementation simply dereferences the value but + derived classes may override it to provide for delayed processing. + + A reference to the value to be tested + True for success, false for failure + + + + Write the constraint description to a MessageWriter + + The writer on which the description is displayed + + + + Write the actual value for a failing constraint test to a + MessageWriter. The default implementation simply writes + the raw value of actual, leaving it to the writer to + perform any formatting. + + The writer on which the actual value is displayed + + + + Default override of ToString returns the constraint DisplayName + followed by any arguments within angle brackets. + + + + + + Returns the string representation of this constraint + + + + + This operator creates a constraint that is satisfied only if both + argument constraints are satisfied. + + + + + This operator creates a constraint that is satisfied if either + of the argument constraints is satisfied. + + + + + This operator creates a constraint that is satisfied if the + argument constraint is not satisfied. + + + + + Returns a DelayedConstraint with the specified delay time. + + The delay in milliseconds. + + + + + Returns a DelayedConstraint with the specified delay time + and polling interval. + + The delay in milliseconds. + The interval at which to test the constraint. + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + Returns a ConstraintExpression by appending And + to the current constraint. + + + + + Returns a ConstraintExpression by appending And + to the current constraint. + + + + + Returns a ConstraintExpression by appending Or + to the current constraint. + + + + + Class used to detect any derived constraints + that fail to set the actual value in their + Matches override. + + + + + The first constraint being combined + + + + + The second constraint being combined + + + + + Construct a BinaryConstraint from two other constraints + + The first constraint + The second constraint + + + + AndConstraint succeeds only if both members succeed. + + + + + Create an AndConstraint from two other constraints + + The first constraint + The second constraint + + + + Apply both member constraints to an actual value, succeeding + succeeding only if both of them succeed. + + The actual value + True if the constraints both succeeded + + + + Write a description for this contraint to a MessageWriter + + The MessageWriter to receive the description + + + + Write the actual value for a failing constraint test to a + MessageWriter. The default implementation simply writes + the raw value of actual, leaving it to the writer to + perform any formatting. + + The writer on which the actual value is displayed + + + + OrConstraint succeeds if either member succeeds + + + + + Create an OrConstraint from two other constraints + + The first constraint + The second constraint + + + + Apply the member constraints to an actual value, succeeding + succeeding as soon as one of them succeeds. + + The actual value + True if either constraint succeeded + + + + Write a description for this contraint to a MessageWriter + + The MessageWriter to receive the description + + + + CollectionConstraint is the abstract base class for + constraints that operate on collections. + + + + + Construct an empty CollectionConstraint + + + + + Construct a CollectionConstraint + + + + + + Determines whether the specified enumerable is empty. + + The enumerable. + + true if the specified enumerable is empty; otherwise, false. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Protected method to be implemented by derived classes + + + + + + + CollectionItemsEqualConstraint is the abstract base class for all + collection constraints that apply some notion of item equality + as a part of their operation. + + + + + Construct an empty CollectionConstraint + + + + + Construct a CollectionConstraint + + + + + + Flag the constraint to use the supplied IComparer object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied IComparer object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied Comparison object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied IEqualityComparer object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied IEqualityComparer object. + + The IComparer object to use. + Self. + + + + Compares two collection members for equality + + + + + Return a new CollectionTally for use in making tests + + The collection to be included in the tally + + + + Flag the constraint to ignore case and return self. + + + + + EmptyCollectionConstraint tests whether a collection is empty. + + + + + Check that the collection is empty + + + + + + + Write the constraint description to a MessageWriter + + + + + + UniqueItemsConstraint tests whether all the items in a + collection are unique. + + + + + Check that all items are unique. + + + + + + + Write a description of this constraint to a MessageWriter + + + + + + CollectionContainsConstraint is used to test whether a collection + contains an expected object as a member. + + + + + Construct a CollectionContainsConstraint + + + + + + Test whether the expected item is contained in the collection + + + + + + + Write a descripton of the constraint to a MessageWriter + + + + + + CollectionEquivalentCOnstraint is used to determine whether two + collections are equivalent. + + + + + Construct a CollectionEquivalentConstraint + + + + + + Test whether two collections are equivalent + + + + + + + Write a description of this constraint to a MessageWriter + + + + + + CollectionSubsetConstraint is used to determine whether + one collection is a subset of another + + + + + Construct a CollectionSubsetConstraint + + The collection that the actual value is expected to be a subset of + + + + Test whether the actual collection is a subset of + the expected collection provided. + + + + + + + Write a description of this constraint to a MessageWriter + + + + + + CollectionOrderedConstraint is used to test whether a collection is ordered. + + + + + Construct a CollectionOrderedConstraint + + + + + Modifies the constraint to use an IComparer and returns self. + + + + + Modifies the constraint to use an IComparer<T> and returns self. + + + + + Modifies the constraint to use a Comparison<T> and returns self. + + + + + Modifies the constraint to test ordering by the value of + a specified property and returns self. + + + + + Test whether the collection is ordered + + + + + + + Write a description of the constraint to a MessageWriter + + + + + + Returns the string representation of the constraint. + + + + + + If used performs a reverse comparison + + + + + Abstract base class for constraints that compare values to + determine if one is greater than, equal to or less than + the other. + + + + + The value against which a comparison is to be made + + + + + If true, less than returns success + + + + + if true, equal returns success + + + + + if true, greater than returns success + + + + + The predicate used as a part of the description + + + + + ComparisonAdapter to be used in making the comparison + + + + + Initializes a new instance of the class. + + The value against which to make a comparison. + if set to true less succeeds. + if set to true equal succeeds. + if set to true greater succeeds. + String used in describing the constraint. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Write the constraint description to a MessageWriter + + The writer on which the description is displayed + + + + Modifies the constraint to use an IComparer and returns self + + + + + Modifies the constraint to use an IComparer<T> and returns self + + + + + Modifies the constraint to use a Comparison<T> and returns self + + + + + Tests whether a value is greater than the value supplied to its constructor + + + + + Initializes a new instance of the class. + + The expected value. + + + + Tests whether a value is greater than or equal to the value supplied to its constructor + + + + + Initializes a new instance of the class. + + The expected value. + + + + Tests whether a value is less than the value supplied to its constructor + + + + + Initializes a new instance of the class. + + The expected value. + + + + Tests whether a value is less than or equal to the value supplied to its constructor + + + + + Initializes a new instance of the class. + + The expected value. + + + + Delegate used to delay evaluation of the actual value + to be used in evaluating a constraint + + + + + ConstraintBuilder maintains the stacks that are used in + processing a ConstraintExpression. An OperatorStack + is used to hold operators that are waiting for their + operands to be reognized. a ConstraintStack holds + input constraints as well as the results of each + operator applied. + + + + + Initializes a new instance of the class. + + + + + Appends the specified operator to the expression by first + reducing the operator stack and then pushing the new + operator on the stack. + + The operator to push. + + + + Appends the specified constraint to the expresson by pushing + it on the constraint stack. + + The constraint to push. + + + + Sets the top operator right context. + + The right context. + + + + Reduces the operator stack until the topmost item + precedence is greater than or equal to the target precedence. + + The target precedence. + + + + Resolves this instance, returning a Constraint. If the builder + is not currently in a resolvable state, an exception is thrown. + + The resolved constraint + + + + Gets a value indicating whether this instance is resolvable. + + + true if this instance is resolvable; otherwise, false. + + + + + OperatorStack is a type-safe stack for holding ConstraintOperators + + + + + Initializes a new instance of the class. + + The builder. + + + + Pushes the specified operator onto the stack. + + The op. + + + + Pops the topmost operator from the stack. + + + + + + Gets a value indicating whether this is empty. + + true if empty; otherwise, false. + + + + Gets the topmost operator without modifying the stack. + + The top. + + + + ConstraintStack is a type-safe stack for holding Constraints + + + + + Initializes a new instance of the class. + + The builder. + + + + Pushes the specified constraint. As a side effect, + the constraint's builder field is set to the + ConstraintBuilder owning this stack. + + The constraint. + + + + Pops this topmost constrait from the stack. + As a side effect, the constraint's builder + field is set to null. + + + + + + Gets a value indicating whether this is empty. + + true if empty; otherwise, false. + + + + Gets the topmost constraint without modifying the stack. + + The topmost constraint + + + + EmptyConstraint tests a whether a string or collection is empty, + postponing the decision about which test is applied until the + type of the actual argument is known. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Write the constraint description to a MessageWriter + + The writer on which the description is displayed + + + + EqualConstraint is able to compare an actual value with the + expected value provided in its constructor. Two objects are + considered equal if both are null, or if both have the same + value. NUnit has special semantics for some object types. + + + + + If true, strings in error messages will be clipped + + + + + NUnitEqualityComparer used to test equality. + + + + + Initializes a new instance of the class. + + The expected value. + + + + Flag the constraint to use a tolerance when determining equality. + + Tolerance value to be used + Self. + + + + Flag the constraint to use the supplied IComparer object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied IComparer object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied IComparer object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied Comparison object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied IEqualityComparer object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied IEqualityComparer object. + + The IComparer object to use. + Self. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Write a failure message. Overridden to provide custom + failure messages for EqualConstraint. + + The MessageWriter to write to + + + + Write description of this constraint + + The MessageWriter to write to + + + + Display the failure information for two collections that did not match. + + The MessageWriter on which to display + The expected collection. + The actual collection + The depth of this failure in a set of nested collections + + + + Displays a single line showing the types and sizes of the expected + and actual collections or arrays. If both are identical, the value is + only shown once. + + The MessageWriter on which to display + The expected collection or array + The actual collection or array + The indentation level for the message line + + + + Displays a single line showing the point in the expected and actual + arrays at which the comparison failed. If the arrays have different + structures or dimensions, both values are shown. + + The MessageWriter on which to display + The expected array + The actual array + Index of the failure point in the underlying collections + The indentation level for the message line + + + + Flag the constraint to ignore case and return self. + + + + + Flag the constraint to suppress string clipping + and return self. + + + + + Flag the constraint to compare arrays as collections + and return self. + + + + + Switches the .Within() modifier to interpret its tolerance as + a distance in representable values (see remarks). + + Self. + + Ulp stands for "unit in the last place" and describes the minimum + amount a given value can change. For any integers, an ulp is 1 whole + digit. For floating point values, the accuracy of which is better + for smaller numbers and worse for larger numbers, an ulp depends + on the size of the number. Using ulps for comparison of floating + point results instead of fixed tolerances is safer because it will + automatically compensate for the added inaccuracy of larger numbers. + + + + + Switches the .Within() modifier to interpret its tolerance as + a percentage that the actual values is allowed to deviate from + the expected value. + + Self + + + + Causes the tolerance to be interpreted as a TimeSpan in days. + + Self + + + + Causes the tolerance to be interpreted as a TimeSpan in hours. + + Self + + + + Causes the tolerance to be interpreted as a TimeSpan in minutes. + + Self + + + + Causes the tolerance to be interpreted as a TimeSpan in seconds. + + Self + + + + Causes the tolerance to be interpreted as a TimeSpan in milliseconds. + + Self + + + + Causes the tolerance to be interpreted as a TimeSpan in clock ticks. + + Self + + + + SameAsConstraint tests whether an object is identical to + the object passed to its constructor + + + + + Initializes a new instance of the class. + + The expected object. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Write the constraint description to a MessageWriter + + The writer on which the description is displayed + + + + StringConstraint is the abstract base for constraints + that operate on strings. It supports the IgnoreCase + modifier for string operations. + + + + + The expected value + + + + + Indicates whether tests should be case-insensitive + + + + + Constructs a StringConstraint given an expected value + + The expected value + + + + Modify the constraint to ignore case in matching. + + + + + EmptyStringConstraint tests whether a string is empty. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Write the constraint description to a MessageWriter + + The writer on which the description is displayed + + + + NullEmptyStringConstraint tests whether a string is either null or empty. + + + + + Constructs a new NullOrEmptyStringConstraint + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Write the constraint description to a MessageWriter + + The writer on which the description is displayed + + + + SubstringConstraint can test whether a string contains + the expected substring. + + + + + Initializes a new instance of the class. + + The expected. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Write the constraint description to a MessageWriter + + The writer on which the description is displayed + + + + StartsWithConstraint can test whether a string starts + with an expected substring. + + + + + Initializes a new instance of the class. + + The expected string + + + + Test whether the constraint is matched by the actual value. + This is a template method, which calls the IsMatch method + of the derived class. + + + + + + + Write the constraint description to a MessageWriter + + The writer on which the description is displayed + + + + EndsWithConstraint can test whether a string ends + with an expected substring. + + + + + Initializes a new instance of the class. + + The expected string + + + + Test whether the constraint is matched by the actual value. + This is a template method, which calls the IsMatch method + of the derived class. + + + + + + + Write the constraint description to a MessageWriter + + The writer on which the description is displayed + + + + RegexConstraint can test whether a string matches + the pattern provided. + + + + + Initializes a new instance of the class. + + The pattern. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Write the constraint description to a MessageWriter + + The writer on which the description is displayed + + + + TypeConstraint is the abstract base for constraints + that take a Type as their expected value. + + + + + The expected Type used by the constraint + + + + + Construct a TypeConstraint for a given Type + + + + + + Write the actual value for a failing constraint test to a + MessageWriter. TypeConstraints override this method to write + the name of the type. + + The writer on which the actual value is displayed + + + + ExactTypeConstraint is used to test that an object + is of the exact type provided in the constructor + + + + + Construct an ExactTypeConstraint for a given Type + + The expected Type. + + + + Test that an object is of the exact type specified + + The actual value. + True if the tested object is of the exact type provided, otherwise false. + + + + Write the description of this constraint to a MessageWriter + + The MessageWriter to use + + + + InstanceOfTypeConstraint is used to test that an object + is of the same type provided or derived from it. + + + + + Construct an InstanceOfTypeConstraint for the type provided + + The expected Type + + + + Test whether an object is of the specified type or a derived type + + The object to be tested + True if the object is of the provided type or derives from it, otherwise false. + + + + Write a description of this constraint to a MessageWriter + + The MessageWriter to use + + + + AssignableFromConstraint is used to test that an object + can be assigned from a given Type. + + + + + Construct an AssignableFromConstraint for the type provided + + + + + + Test whether an object can be assigned from the specified type + + The object to be tested + True if the object can be assigned a value of the expected Type, otherwise false. + + + + Write a description of this constraint to a MessageWriter + + The MessageWriter to use + + + + AssignableToConstraint is used to test that an object + can be assigned to a given Type. + + + + + Construct an AssignableToConstraint for the type provided + + + + + + Test whether an object can be assigned to the specified type + + The object to be tested + True if the object can be assigned a value of the expected Type, otherwise false. + + + + Write a description of this constraint to a MessageWriter + + The MessageWriter to use + + + + ContainsConstraint tests a whether a string contains a substring + or a collection contains an object. It postpones the decision of + which test to use until the type of the actual argument is known. + This allows testing whether a string is contained in a collection + or as a substring of another string using the same syntax. + + + + + Initializes a new instance of the class. + + The expected. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Write the constraint description to a MessageWriter + + The writer on which the description is displayed + + + + Flag the constraint to ignore case and return self. + + + + + PropertyExistsConstraint tests that a named property + exists on the object provided through Match. + + Originally, PropertyConstraint provided this feature + in addition to making optional tests on the vaue + of the property. The two constraints are now separate. + + + + + Initializes a new instance of the class. + + The name of the property. + + + + Test whether the property exists for a given object + + The object to be tested + True for success, false for failure + + + + Write the constraint description to a MessageWriter + + The writer on which the description is displayed + + + + Write the actual value for a failing constraint test to a + MessageWriter. + + The writer on which the actual value is displayed + + + + Returns the string representation of the constraint. + + + + + + PropertyConstraint extracts a named property and uses + its value as the actual value for a chained constraint. + + + + + Abstract base class used for prefixes + + + + + The base constraint + + + + + Construct given a base constraint + + + + + + Initializes a new instance of the class. + + The name. + The constraint to apply to the property. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Write the constraint description to a MessageWriter + + The writer on which the description is displayed + + + + Write the actual value for a failing constraint test to a + MessageWriter. The default implementation simply writes + the raw value of actual, leaving it to the writer to + perform any formatting. + + The writer on which the actual value is displayed + + + + Returns the string representation of the constraint. + + + + + + NotConstraint negates the effect of some other constraint + + + + + Initializes a new instance of the class. + + The base constraint to be negated. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for if the base constraint fails, false if it succeeds + + + + Write the constraint description to a MessageWriter + + The writer on which the description is displayed + + + + Write the actual value for a failing constraint test to a MessageWriter. + + The writer on which the actual value is displayed + + + + AllItemsConstraint applies another constraint to each + item in a collection, succeeding if they all succeed. + + + + + Construct an AllItemsConstraint on top of an existing constraint + + + + + + Apply the item constraint to each item in the collection, + failing if any item fails. + + + + + + + Write a description of this constraint to a MessageWriter + + + + + + SomeItemsConstraint applies another constraint to each + item in a collection, succeeding if any of them succeeds. + + + + + Construct a SomeItemsConstraint on top of an existing constraint + + + + + + Apply the item constraint to each item in the collection, + succeeding if any item succeeds. + + + + + + + Write a description of this constraint to a MessageWriter + + + + + + NoItemConstraint applies another constraint to each + item in a collection, failing if any of them succeeds. + + + + + Construct a SomeItemsConstraint on top of an existing constraint + + + + + + Apply the item constraint to each item in the collection, + failing if any item fails. + + + + + + + Write a description of this constraint to a MessageWriter + + + + + + The Numerics class contains common operations on numeric values. + + + + + Checks the type of the object, returning true if + the object is a numeric type. + + The object to check + true if the object is a numeric type + + + + Checks the type of the object, returning true if + the object is a floating point numeric type. + + The object to check + true if the object is a floating point numeric type + + + + Checks the type of the object, returning true if + the object is a fixed point numeric type. + + The object to check + true if the object is a fixed point numeric type + + + + Test two numeric values for equality, performing the usual numeric + conversions and using a provided or default tolerance. If the tolerance + provided is Empty, this method may set it to a default tolerance. + + The expected value + The actual value + A reference to the tolerance in effect + True if the values are equal + + + + Compare two numeric values, performing the usual numeric conversions. + + The expected value + The actual value + The relationship of the values to each other + + + + MessageWriter is the abstract base for classes that write + constraint descriptions and messages in some form. The + class has separate methods for writing various components + of a message, allowing implementations to tailor the + presentation as needed. + + + + + Construct a MessageWriter given a culture + + + + + Method to write single line message with optional args, usually + written to precede the general failure message. + + The message to be written + Any arguments used in formatting the message + + + + Method to write single line message with optional args, usually + written to precede the general failure message, at a givel + indentation level. + + The indentation level of the message + The message to be written + Any arguments used in formatting the message + + + + Display Expected and Actual lines for a constraint. This + is called by MessageWriter's default implementation of + WriteMessageTo and provides the generic two-line display. + + The constraint that failed + + + + Display Expected and Actual lines for given values. This + method may be called by constraints that need more control over + the display of actual and expected values than is provided + by the default implementation. + + The expected value + The actual value causing the failure + + + + Display Expected and Actual lines for given values, including + a tolerance value on the Expected line. + + The expected value + The actual value causing the failure + The tolerance within which the test was made + + + + Display the expected and actual string values on separate lines. + If the mismatch parameter is >=0, an additional line is displayed + line containing a caret that points to the mismatch point. + + The expected string value + The actual string value + The point at which the strings don't match or -1 + If true, case is ignored in locating the point where the strings differ + If true, the strings should be clipped to fit the line + + + + Writes the text for a connector. + + The connector. + + + + Writes the text for a predicate. + + The predicate. + + + + Writes the text for an expected value. + + The expected value. + + + + Writes the text for a modifier + + The modifier. + + + + Writes the text for an actual value. + + The actual value. + + + + Writes the text for a generalized value. + + The value. + + + + Writes the text for a collection value, + starting at a particular point, to a max length + + The collection containing elements to write. + The starting point of the elements to write + The maximum number of elements to write + + + + Abstract method to get the max line length + + + + + Static methods used in creating messages + + + + + Static string used when strings are clipped + + + + + Returns the representation of a type as used in NUnitLite. + This is the same as Type.ToString() except for arrays, + which are displayed with their declared sizes. + + + + + + + Converts any control characters in a string + to their escaped representation. + + The string to be converted + The converted string + + + + Return the a string representation for a set of indices into an array + + Array of indices for which a string is needed + + + + Get an array of indices representing the point in a collection or + array corresponding to a single int index into the collection. + + The collection to which the indices apply + Index in the collection + Array of indices + + + + Clip a string to a given length, starting at a particular offset, returning the clipped + string with ellipses representing the removed parts + + The string to be clipped + The maximum permitted length of the result string + The point at which to start clipping + The clipped string + + + + Clip the expected and actual strings in a coordinated fashion, + so that they may be displayed together. + + + + + + + + + Shows the position two strings start to differ. Comparison + starts at the start index. + + The expected string + The actual string + The index in the strings at which comparison should start + Boolean indicating whether case should be ignored + -1 if no mismatch found, or the index where mismatch found + + + + PathConstraint serves as the abstract base of constraints + that operate on paths and provides several helper methods. + + + + + The expected path used in the constraint + + + + + Flag indicating whether a caseInsensitive comparison should be made + + + + + Construct a PathConstraint for a give expected path + + The expected path + + + + Returns the string representation of this constraint + + + + + Canonicalize the provided path + + + The path in standardized form + + + + Test whether two paths are the same + + The first path + The second path + + + + + Test whether one path is the same as or under another path + + The first path - supposed to be the parent path + The second path - supposed to be the child path + + + + + Modifies the current instance to be case-insensitve + and returns it. + + + + + Modifies the current instance to be case-sensitve + and returns it. + + + + + Summary description for SamePathConstraint. + + + + + Initializes a new instance of the class. + + The expected path + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Write the constraint description to a MessageWriter + + The writer on which the description is displayed + + + + SamePathOrUnderConstraint tests that one path is under another + + + + + Initializes a new instance of the class. + + The expected path + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Write the constraint description to a MessageWriter + + The writer on which the description is displayed + + + + EmptyDirectoryConstraint is used to test that a directory is empty + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Write the constraint description to a MessageWriter + + The writer on which the description is displayed + + + + Write the actual value for a failing constraint test to a + MessageWriter. The default implementation simply writes + the raw value of actual, leaving it to the writer to + perform any formatting. + + The writer on which the actual value is displayed + + + + SubDirectoryConstraint is used to test that one directory is a subdirectory of another. + + + + + Initializes a new instance of the class. + + The dir info. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Write the constraint description to a MessageWriter + + The writer on which the description is displayed + + + + Builds a list of DirectoryInfo objects, recursing where necessary + + directory to recurse + list of DirectoryInfo objects from the top level + + + + private method to determine whether a directory is within the path + + top-level directory to search + directory to search for + true if found, false if not + + + + Method to compare two DirectoryInfo objects + + first directory to compare + second directory to compare + true if equivalent, false if not + + + + ThrowsConstraint is used to test the exception thrown by + a delegate by applying a constraint to it. + + + + + Initializes a new instance of the class, + using a constraint to be applied to the exception. + + A constraint to apply to the caught exception. + + + + Executes the code of the delegate and captures any exception. + If a non-null base constraint was provided, it applies that + constraint to the exception. + + A delegate representing the code to be tested + True if an exception is thrown and the constraint succeeds, otherwise false + + + + Converts an ActualValueDelegate to a TestDelegate + before calling the primary overload. + + + + + + + Write the constraint description to a MessageWriter + + The writer on which the description is displayed + + + + Write the actual value for a failing constraint test to a + MessageWriter. The default implementation simply writes + the raw value of actual, leaving it to the writer to + perform any formatting. + + The writer on which the actual value is displayed + + + + Returns the string representation of this constraint + + + + + Get the actual exception thrown - used by Assert.Throws. + + + + + ThrowsNothingConstraint tests that a delegate does not + throw an exception. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True if no exception is thrown, otherwise false + + + + Write the constraint description to a MessageWriter + + The writer on which the description is displayed + + + + Write the actual value for a failing constraint test to a + MessageWriter. The default implementation simply writes + the raw value of actual, leaving it to the writer to + perform any formatting. + + The writer on which the actual value is displayed + + + + RangeConstraint tests whethe two values are within a + specified range. + + + + + Initializes a new instance of the class. + + From. + To. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Write the constraint description to a MessageWriter + + The writer on which the description is displayed + + + + Modifies the constraint to use an IComparer and returns self. + + + + + Modifies the constraint to use an IComparer<T> and returns self. + + + + + Modifies the constraint to use a Comparison<T> and returns self. + + + + + Helper class with properties and methods that supply + a number of constraints used in Asserts. + + + + + Returns a new PropertyConstraintExpression, which will either + test for the existence of the named property on the object + being tested or apply any following constraint to that property. + + + + + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + + + + + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + + + + + Returns a constraint that tests two items for equality + + + + + Returns a constraint that tests that two references are the same object + + + + + Returns a constraint that tests whether the + actual value is greater than the suppled argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the suppled argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the suppled argument + + + + + Returns a constraint that tests whether the + actual value is less than the suppled argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the suppled argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the suppled argument + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a collection containing the same elements as the + collection supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a subset of the collection supplied as an argument. + + + + + Returns a new CollectionContainsConstraint checking for the + presence of a particular object in the collection. + + + + + Returns a new CollectionContainsConstraint checking for the + presence of a particular object in the collection. + + + + + Returns a new ContainsConstraint. This constraint + will, in turn, make use of the appropriate second-level + constraint, depending on the type of the actual argument. + This overload is only used if the item sought is a string, + since any other type implies that we are looking for a + collection member. + + + + + Returns a constraint that succeeds if the actual + value contains the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value contains the substring supplied as an argument. + + + + + Returns a constraint that fails if the actual + value contains the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that fails if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that fails if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the Regex pattern supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the Regex pattern supplied as an argument. + + + + + Returns a constraint that fails if the actual + value matches the pattern supplied as an argument. + + + + + Returns a constraint that tests whether the path provided + is the same as an expected path after canonicalization. + + + + + Returns a constraint that tests whether the path provided + is the same path or under an expected path after canonicalization. + + + + + Returns a constraint that tests whether the actual value falls + within a specified range. + + + + + Returns a ConstraintExpression that negates any + following constraint. + + + + + Returns a ConstraintExpression that negates any + following constraint. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them succeed. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if at least one of them succeeds. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them fail. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Length property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Count property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Message property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the InnerException property of the object being tested. + + + + + Returns a constraint that tests for null + + + + + Returns a constraint that tests for True + + + + + Returns a constraint that tests for False + + + + + Returns a constraint that tests for NaN + + + + + Returns a constraint that tests for empty + + + + + Returns a constraint that tests whether a collection + contains all unique items. + + + + + Returns a constraint that tests whether an object graph is serializable in binary format. + + + + + Returns a constraint that tests whether an object graph is serializable in xml format. + + + + + Returns a constraint that tests whether a collection is ordered + + + + + The ConstraintOperator class is used internally by a + ConstraintBuilder to represent an operator that + modifies or combines constraints. + + Constraint operators use left and right precedence + values to determine whether the top operator on the + stack should be reduced before pushing a new operator. + + + + + The precedence value used when the operator + is about to be pushed to the stack. + + + + + The precedence value used when the operator + is on the top of the stack. + + + + + Reduce produces a constraint from the operator and + any arguments. It takes the arguments from the constraint + stack and pushes the resulting constraint on it. + + + + + + The syntax element preceding this operator + + + + + The syntax element folowing this operator + + + + + The precedence value used when the operator + is about to be pushed to the stack. + + + + + The precedence value used when the operator + is on the top of the stack. + + + + + PrefixOperator takes a single constraint and modifies + it's action in some way. + + + + + Reduce produces a constraint from the operator and + any arguments. It takes the arguments from the constraint + stack and pushes the resulting constraint on it. + + + + + + Returns the constraint created by applying this + prefix to another constraint. + + + + + + + Negates the test of the constraint it wraps. + + + + + Constructs a new NotOperator + + + + + Returns a NotConstraint applied to its argument. + + + + + Abstract base for operators that indicate how to + apply a constraint to items in a collection. + + + + + Constructs a CollectionOperator + + + + + Represents a constraint that succeeds if all the + members of a collection match a base constraint. + + + + + Returns a constraint that will apply the argument + to the members of a collection, succeeding if + they all succeed. + + + + + Represents a constraint that succeeds if any of the + members of a collection match a base constraint. + + + + + Returns a constraint that will apply the argument + to the members of a collection, succeeding if + any of them succeed. + + + + + Represents a constraint that succeeds if none of the + members of a collection match a base constraint. + + + + + Returns a constraint that will apply the argument + to the members of a collection, succeeding if + none of them succeed. + + + + + Represents a constraint that simply wraps the + constraint provided as an argument, without any + further functionality, but which modifes the + order of evaluation because of its precedence. + + + + + Constructor for the WithOperator + + + + + Returns a constraint that wraps its argument + + + + + Abstract base class for operators that are able to reduce to a + constraint whether or not another syntactic element follows. + + + + + Operator used to test for the presence of a named Property + on an object and optionally apply further tests to the + value of that property. + + + + + Constructs a PropOperator for a particular named property + + + + + Reduce produces a constraint from the operator and + any arguments. It takes the arguments from the constraint + stack and pushes the resulting constraint on it. + + + + + + Gets the name of the property to which the operator applies + + + + + Operator that tests for the presence of a particular attribute + on a type and optionally applies further tests to the attribute. + + + + + Construct an AttributeOperator for a particular Type + + The Type of attribute tested + + + + Reduce produces a constraint from the operator and + any arguments. It takes the arguments from the constraint + stack and pushes the resulting constraint on it. + + + + + Operator that tests that an exception is thrown and + optionally applies further tests to the exception. + + + + + Construct a ThrowsOperator + + + + + Reduce produces a constraint from the operator and + any arguments. It takes the arguments from the constraint + stack and pushes the resulting constraint on it. + + + + + Abstract base class for all binary operators + + + + + Reduce produces a constraint from the operator and + any arguments. It takes the arguments from the constraint + stack and pushes the resulting constraint on it. + + + + + + Abstract method that produces a constraint by applying + the operator to its left and right constraint arguments. + + + + + Gets the left precedence of the operator + + + + + Gets the right precedence of the operator + + + + + Operator that requires both it's arguments to succeed + + + + + Construct an AndOperator + + + + + Apply the operator to produce an AndConstraint + + + + + Operator that requires at least one of it's arguments to succeed + + + + + Construct an OrOperator + + + + + Apply the operator to produce an OrConstraint + + + + + ConstraintExpression represents a compound constraint in the + process of being constructed from a series of syntactic elements. + + Individual elements are appended to the expression as they are + reognized. Once an actual Constraint is appended, the expression + returns a resolvable Constraint. + + + + + ConstraintExpressionBase is the abstract base class for the + generated ConstraintExpression class, which represents a + compound constraint in the process of being constructed + from a series of syntactic elements. + + NOTE: ConstraintExpressionBase is aware of some of its + derived classes, which is an apparent violation of + encapsulation. Ideally, these classes would be a + single class, but they must be separated in order to + allow parts to be generated under .NET 1.x and to + provide proper user feedback in syntactically + aware IDEs. + + + + + The ConstraintBuilder holding the elements recognized so far + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the + class passing in a ConstraintBuilder, which may be pre-populated. + + The builder. + + + + Returns a string representation of the expression as it + currently stands. This should only be used for testing, + since it has the side-effect of resolving the expression. + + + + + + Appends an operator to the expression and returns the + resulting expression itself. + + + + + Appends a self-resolving operator to the expression and + returns a new ResolvableConstraintExpression. + + + + + Appends a constraint to the expression and returns that + constraint, which is associated with the current state + of the expression being built. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the + class passing in a ConstraintBuilder, which may be pre-populated. + + The builder. + + + + Returns a new PropertyConstraintExpression, which will either + test for the existence of the named property on the object + being tested or apply any following constraint to that property. + + + + + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + + + + + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + + + + + Returns the constraint provided as an argument - used to allow custom + custom constraints to easily participate in the syntax. + + + + + Returns the constraint provided as an argument - used to allow custom + custom constraints to easily participate in the syntax. + + + + + Returns a constraint that tests two items for equality + + + + + Returns a constraint that tests that two references are the same object + + + + + Returns a constraint that tests whether the + actual value is greater than the suppled argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the suppled argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the suppled argument + + + + + Returns a constraint that tests whether the + actual value is less than the suppled argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the suppled argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the suppled argument + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a collection containing the same elements as the + collection supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a subset of the collection supplied as an argument. + + + + + Returns a new CollectionContainsConstraint checking for the + presence of a particular object in the collection. + + + + + Returns a new CollectionContainsConstraint checking for the + presence of a particular object in the collection. + + + + + Returns a new ContainsConstraint. This constraint + will, in turn, make use of the appropriate second-level + constraint, depending on the type of the actual argument. + This overload is only used if the item sought is a string, + since any other type implies that we are looking for a + collection member. + + + + + Returns a constraint that succeeds if the actual + value contains the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value contains the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the Regex pattern supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the Regex pattern supplied as an argument. + + + + + Returns a constraint that tests whether the path provided + is the same as an expected path after canonicalization. + + + + + Returns a constraint that tests whether the path provided + is the same path or under an expected path after canonicalization. + + + + + Returns a constraint that tests whether the actual value falls + within a specified range. + + + + + Returns a ConstraintExpression that negates any + following constraint. + + + + + Returns a ConstraintExpression that negates any + following constraint. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them succeed. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if at least one of them succeeds. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them fail. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Length property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Count property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Message property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the InnerException property of the object being tested. + + + + + With is currently a NOP - reserved for future use. + + + + + Returns a constraint that tests for null + + + + + Returns a constraint that tests for True + + + + + Returns a constraint that tests for False + + + + + Returns a constraint that tests for NaN + + + + + Returns a constraint that tests for empty + + + + + Returns a constraint that tests whether a collection + contains all unique items. + + + + + Returns a constraint that tests whether an object graph is serializable in binary format. + + + + + Returns a constraint that tests whether an object graph is serializable in xml format. + + + + + Returns a constraint that tests whether a collection is ordered + + + + + BinarySerializableConstraint tests whether + an object is serializable in binary format. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Write the constraint description to a MessageWriter + + The writer on which the description is displayed + + + + Write the actual value for a failing constraint test to a + MessageWriter. The default implementation simply writes + the raw value of actual, leaving it to the writer to + perform any formatting. + + The writer on which the actual value is displayed + + + + Returns the string representation + + + + + BinarySerializableConstraint tests whether + an object is serializable in binary format. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Write the constraint description to a MessageWriter + + The writer on which the description is displayed + + + + Write the actual value for a failing constraint test to a + MessageWriter. The default implementation simply writes + the raw value of actual, leaving it to the writer to + perform any formatting. + + The writer on which the actual value is displayed + + + + Returns the string representation of this constraint + + + + + BasicConstraint is the abstract base for constraints that + perform a simple comparison to a constant value. + + + + + Initializes a new instance of the class. + + The expected. + The description. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Write the constraint description to a MessageWriter + + The writer on which the description is displayed + + + + NullConstraint tests that the actual value is null + + + + + Initializes a new instance of the class. + + + + + TrueConstraint tests that the actual value is true + + + + + Initializes a new instance of the class. + + + + + FalseConstraint tests that the actual value is false + + + + + Initializes a new instance of the class. + + + + + NaNConstraint tests that the actual value is a double or float NaN + + + + + Test that the actual value is an NaN + + + + + + + Write the constraint description to a specified writer + + + + + + AttributeExistsConstraint tests for the presence of a + specified attribute on a Type. + + + + + Constructs an AttributeExistsConstraint for a specific attribute Type + + + + + + Tests whether the object provides the expected attribute. + + A Type, MethodInfo, or other ICustomAttributeProvider + True if the expected attribute is present, otherwise false + + + + Writes the description of the constraint to the specified writer + + + + + AttributeConstraint tests that a specified attribute is present + on a Type or other provider and that the value of the attribute + satisfies some other constraint. + + + + + Constructs an AttributeConstraint for a specified attriute + Type and base constraint. + + + + + + + Determines whether the Type or other provider has the + expected attribute and if its value matches the + additional constraint specified. + + + + + Writes a description of the attribute to the specified writer. + + + + + Writes the actual value supplied to the specified writer. + + + + + Returns a string representation of the constraint. + + + + + ResolvableConstraintExpression is used to represent a compound + constraint being constructed at a point where the last operator + may either terminate the expression or may have additional + qualifying constraints added to it. + + It is used, for example, for a Property element or for + an Exception element, either of which may be optionally + followed by constraints that apply to the property or + exception. + + + + + Create a new instance of ResolvableConstraintExpression + + + + + Create a new instance of ResolvableConstraintExpression, + passing in a pre-populated ConstraintBuilder. + + + + + Resolve the current expression to a Constraint + + + + + Appends an And Operator to the expression + + + + + Appends an Or operator to the expression. + + + + + Applies a delay to the match so that a match can be evaluated in the future. + + + + + Creates a new DelayedConstraint + + The inner constraint two decorate + The time interval after which the match is performed + If the value of is less than 0 + + + + Creates a new DelayedConstraint + + The inner constraint two decorate + The time interval after which the match is performed + The time interval used for polling + If the value of is less than 0 + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for if the base constraint fails, false if it succeeds + + + + Test whether the constraint is satisfied by a delegate + + The delegate whose value is to be tested + True for if the base constraint fails, false if it succeeds + + + + Test whether the constraint is satisfied by a given reference. + Overridden to wait for the specified delay period before + calling the base constraint with the dereferenced value. + + A reference to the value to be tested + True for success, false for failure + + + + Write the constraint description to a MessageWriter + + The writer on which the description is displayed + + + + Write the actual value for a failing constraint test to a MessageWriter. + + The writer on which the actual value is displayed + + + + Returns the string representation of the constraint. + + + + Helper routines for working with floating point numbers + + + The floating point comparison code is based on this excellent article: + http://www.cygnus-software.com/papers/comparingfloats/comparingfloats.htm + + + "ULP" means Unit in the Last Place and in the context of this library refers to + the distance between two adjacent floating point numbers. IEEE floating point + numbers can only represent a finite subset of natural numbers, with greater + accuracy for smaller numbers and lower accuracy for very large numbers. + + + If a comparison is allowed "2 ulps" of deviation, that means the values are + allowed to deviate by up to 2 adjacent floating point values, which might be + as low as 0.0000001 for small numbers or as high as 10.0 for large numbers. + + + + + Compares two floating point values for equality + First floating point value to be compared + Second floating point value t be compared + + Maximum number of representable floating point values that are allowed to + be between the left and the right floating point values + + True if both numbers are equal or close to being equal + + + Floating point values can only represent a finite subset of natural numbers. + For example, the values 2.00000000 and 2.00000024 can be stored in a float, + but nothing inbetween them. + + + This comparison will count how many possible floating point values are between + the left and the right number. If the number of possible values between both + numbers is less than or equal to maxUlps, then the numbers are considered as + being equal. + + + Implementation partially follows the code outlined here: + http://www.anttirt.net/2007/08/19/proper-floating-point-comparisons/ + + + + + Compares two double precision floating point values for equality + First double precision floating point value to be compared + Second double precision floating point value t be compared + + Maximum number of representable double precision floating point values that are + allowed to be between the left and the right double precision floating point values + + True if both numbers are equal or close to being equal + + + Double precision floating point values can only represent a limited series of + natural numbers. For example, the values 2.0000000000000000 and 2.0000000000000004 + can be stored in a double, but nothing inbetween them. + + + This comparison will count how many possible double precision floating point + values are between the left and the right number. If the number of possible + values between both numbers is less than or equal to maxUlps, then the numbers + are considered as being equal. + + + Implementation partially follows the code outlined here: + http://www.anttirt.net/2007/08/19/proper-floating-point-comparisons/ + + + + + + Reinterprets the memory contents of a floating point value as an integer value + + + Floating point value whose memory contents to reinterpret + + + The memory contents of the floating point value interpreted as an integer + + + + + Reinterprets the memory contents of a double precision floating point + value as an integer value + + + Double precision floating point value whose memory contents to reinterpret + + + The memory contents of the double precision floating point value + interpreted as an integer + + + + + Reinterprets the memory contents of an integer as a floating point value + + Integer value whose memory contents to reinterpret + + The memory contents of the integer value interpreted as a floating point value + + + + + Reinterprets the memory contents of an integer value as a double precision + floating point value + + Integer whose memory contents to reinterpret + + The memory contents of the integer interpreted as a double precision + floating point value + + + + Union of a floating point variable and an integer + + + The union's value as a floating point variable + + + The union's value as an integer + + + The union's value as an unsigned integer + + + Union of a double precision floating point variable and a long + + + The union's value as a double precision floating point variable + + + The union's value as a long + + + The union's value as an unsigned long + + + + Modes in which the tolerance value for a comparison can + be interpreted. + + + + + The tolerance was created with a value, without specifying + how the value would be used. This is used to prevent setting + the mode more than once and is generally changed to Linear + upon execution of the test. + + + + + The tolerance is used as a numeric range within which + two compared values are considered to be equal. + + + + + Interprets the tolerance as the percentage by which + the two compared values my deviate from each other. + + + + + Compares two values based in their distance in + representable numbers. + + + + + The Tolerance class generalizes the notion of a tolerance + within which an equality test succeeds. Normally, it is + used with numeric types, but it can be used with any + type that supports taking a difference between two + objects and comparing that difference to a value. + + + + + Constructs a linear tolerance of a specdified amount + + + + + Constructs a tolerance given an amount and ToleranceMode + + + + + Tests that the current Tolerance is linear with a + numeric value, throwing an exception if it is not. + + + + + Returns an empty Tolerance object, equivalent to + specifying an exact match. + + + + + Gets the ToleranceMode for the current Tolerance + + + + + Gets the value of the current Tolerance instance. + + + + + Returns a new tolerance, using the current amount as a percentage. + + + + + Returns a new tolerance, using the current amount in Ulps. + + + + + Returns a new tolerance with a TimeSpan as the amount, using + the current amount as a number of days. + + + + + Returns a new tolerance with a TimeSpan as the amount, using + the current amount as a number of hours. + + + + + Returns a new tolerance with a TimeSpan as the amount, using + the current amount as a number of minutes. + + + + + Returns a new tolerance with a TimeSpan as the amount, using + the current amount as a number of seconds. + + + + + Returns a new tolerance with a TimeSpan as the amount, using + the current amount as a number of milliseconds. + + + + + Returns a new tolerance with a TimeSpan as the amount, using + the current amount as a number of clock ticks. + + + + + Returns true if the current tolerance is empty. + + + + + ComparisonAdapter class centralizes all comparisons of + values in NUnit, adapting to the use of any provided + IComparer, IComparer<T> or Comparison<T> + + + + + Returns a ComparisonAdapter that wraps an IComparer + + + + + Returns a ComparisonAdapter that wraps an IComparer<T> + + + + + Returns a ComparisonAdapter that wraps a Comparison<T> + + + + + Compares two objects + + + + + Gets the default ComparisonAdapter, which wraps an + NUnitComparer object. + + + + + Construct a ComparisonAdapter for an IComparer + + + + + Compares two objects + + + + + + + + Construct a default ComparisonAdapter + + + + + ComparisonAdapter<T> extends ComparisonAdapter and + allows use of an IComparer<T> or Comparison<T> + to actually perform the comparison. + + + + + Construct a ComparisonAdapter for an IComparer<T> + + + + + Compare a Type T to an object + + + + + Construct a ComparisonAdapter for a Comparison<T> + + + + + Compare a Type T to an object + + + + + EqualityAdapter class handles all equality comparisons + that use an IEqualityComparer, IEqualityComparer<T> + or a ComparisonAdapter. + + + + + Compares two objects, returning true if they are equal + + + + + Returns an EqualityAdapter that wraps an IComparer. + + + + + Returns an EqualityAdapter that wraps an IEqualityComparer. + + + + + Returns an EqualityAdapter that wraps an IEqualityComparer<T>. + + + + + Returns an EqualityAdapter that wraps an IComparer<T>. + + + + + Returns an EqualityAdapter that wraps a Comparison<T>. + + + + + NUnitComparer encapsulates NUnit's default behavior + in comparing two objects. + + + + + Compares two objects + + + + + + + + Returns the default NUnitComparer. + + + + + NUnitEqualityComparer encapsulates NUnit's handling of + equality tests between objects. + + + + + If true, all string comparisons will ignore case + + + + + If true, arrays will be treated as collections, allowing + those of different dimensions to be compared + + + + + If non-zero, equality comparisons within the specified + tolerance will succeed. + + + + + Comparison object used in comparisons for some constraints. + + + + + Compares two objects for equality. + + + + + Helper method to compare two arrays + + + + + Method to compare two DirectoryInfo objects + + first directory to compare + second directory to compare + true if equivalent, false if not + + + + Returns the default NUnitEqualityComparer + + + + + Gets and sets a flag indicating whether case should + be ignored in determining equality. + + + + + Gets and sets a flag indicating that arrays should be + compared as collections, without regard to their shape. + + + + + Gets and sets an external comparer to be used to + test for equality. It is applied to members of + collections, in place of NUnit's own logic. + + + + + Gets and sets a tolerance used to compare objects of + certin types. + + + + + Gets the list of failure points for the last Match performed. + + + + + Predicate constraint wraps a Predicate in a constraint, + returning success if the predicate is true. + + + + + Construct a PredicateConstraint from a predicate + + + + + Determines whether the predicate succeeds when applied + to the actual value. + + + + + Writes the description to a MessageWriter + + + + + CollectionTally counts (tallies) the number of + occurences of each object in one or more enumerations. + + + + + Construct a CollectionTally object from a comparer and a collection + + + + + Try to remove an object from the tally + + The object to remove + True if successful, false if the object was not found + + + + Try to remove a set of objects from the tally + + The objects to remove + True if successful, false if any object was not found + + + + The number of objects remaining in the tally + + + + + SetUpFixtureAttribute is used to identify a SetUpFixture + + + + + Basic Asserts on strings. + + + + + The Equals method throws an AssertionException. This is done + to make sure there is no mistake by calling this function. + + + + + + + override the default ReferenceEquals to throw an AssertionException. This + implementation makes sure there is no mistake in calling this function + as part of Assert. + + + + + + + Asserts that a string is found within another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string is found within another string. + + The expected string + The string to be examined + The message to display in case of failure + + + + Asserts that a string is found within another string. + + The expected string + The string to be examined + + + + Asserts that a string is not found within another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string is found within another string. + + The expected string + The string to be examined + The message to display in case of failure + + + + Asserts that a string is found within another string. + + The expected string + The string to be examined + + + + Asserts that a string starts with another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string starts with another string. + + The expected string + The string to be examined + The message to display in case of failure + + + + Asserts that a string starts with another string. + + The expected string + The string to be examined + + + + Asserts that a string does not start with another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string does not start with another string. + + The expected string + The string to be examined + The message to display in case of failure + + + + Asserts that a string does not start with another string. + + The expected string + The string to be examined + + + + Asserts that a string ends with another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string ends with another string. + + The expected string + The string to be examined + The message to display in case of failure + + + + Asserts that a string ends with another string. + + The expected string + The string to be examined + + + + Asserts that a string does not end with another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string does not end with another string. + + The expected string + The string to be examined + The message to display in case of failure + + + + Asserts that a string does not end with another string. + + The expected string + The string to be examined + + + + Asserts that two strings are equal, without regard to case. + + The expected string + The actual string + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that two strings are equal, without regard to case. + + The expected string + The actual string + The message to display in case of failure + + + + Asserts that two strings are equal, without regard to case. + + The expected string + The actual string + + + + Asserts that two strings are not equal, without regard to case. + + The expected string + The actual string + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that two strings are Notequal, without regard to case. + + The expected string + The actual string + The message to display in case of failure + + + + Asserts that two strings are not equal, without regard to case. + + The expected string + The actual string + + + + Asserts that a string matches an expected regular expression pattern. + + The regex pattern to be matched + The actual string + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string matches an expected regular expression pattern. + + The regex pattern to be matched + The actual string + The message to display in case of failure + + + + Asserts that a string matches an expected regular expression pattern. + + The regex pattern to be matched + The actual string + + + + Asserts that a string does not match an expected regular expression pattern. + + The regex pattern to be used + The actual string + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string does not match an expected regular expression pattern. + + The regex pattern to be used + The actual string + The message to display in case of failure + + + + Asserts that a string does not match an expected regular expression pattern. + + The regex pattern to be used + The actual string + + + + PropertyAttribute is used to attach information to a test as a name/value pair.. + + + + + Construct a PropertyAttribute with a name and string value + + The name of the property + The property value + + + + Construct a PropertyAttribute with a name and int value + + The name of the property + The property value + + + + Construct a PropertyAttribute with a name and double value + + The name of the property + The property value + + + + Constructor for derived classes that set the + property dictionary directly. + + + + + Constructor for use by derived classes that use the + name of the type as the property name. Derived classes + must ensure that the Type of the property value is + a standard type supported by the BCL. Any custom + types will cause a serialization Exception when + in the client. + + + + + Gets the property dictionary for this attribute + + + + + A set of Assert methods operationg on one or more collections + + + + + The Equals method throws an AssertionException. This is done + to make sure there is no mistake by calling this function. + + + + + + + override the default ReferenceEquals to throw an AssertionException. This + implementation makes sure there is no mistake in calling this function + as part of Assert. + + + + + + + Asserts that all items contained in collection are of the type specified by expectedType. + + IEnumerable containing objects to be considered + System.Type that all objects in collection must be instances of + + + + Asserts that all items contained in collection are of the type specified by expectedType. + + IEnumerable containing objects to be considered + System.Type that all objects in collection must be instances of + The message that will be displayed on failure + + + + Asserts that all items contained in collection are of the type specified by expectedType. + + IEnumerable containing objects to be considered + System.Type that all objects in collection must be instances of + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that all items contained in collection are not equal to null. + + IEnumerable containing objects to be considered + + + + Asserts that all items contained in collection are not equal to null. + + IEnumerable containing objects to be considered + The message that will be displayed on failure + + + + Asserts that all items contained in collection are not equal to null. + + IEnumerable of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Ensures that every object contained in collection exists within the collection + once and only once. + + IEnumerable of objects to be considered + + + + Ensures that every object contained in collection exists within the collection + once and only once. + + IEnumerable of objects to be considered + The message that will be displayed on failure + + + + Ensures that every object contained in collection exists within the collection + once and only once. + + IEnumerable of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are exactly equal. The collections must have the same count, + and contain the exact same objects in the same order. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + + + + Asserts that expected and actual are exactly equal. The collections must have the same count, + and contain the exact same objects in the same order. + If comparer is not null then it will be used to compare the objects. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The IComparer to use in comparing objects from each IEnumerable + + + + Asserts that expected and actual are exactly equal. The collections must have the same count, + and contain the exact same objects in the same order. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The message that will be displayed on failure + + + + Asserts that expected and actual are exactly equal. The collections must have the same count, + and contain the exact same objects in the same order. + If comparer is not null then it will be used to compare the objects. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The IComparer to use in comparing objects from each IEnumerable + The message that will be displayed on failure + + + + Asserts that expected and actual are exactly equal. The collections must have the same count, + and contain the exact same objects in the same order. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are exactly equal. The collections must have the same count, + and contain the exact same objects in the same order. + If comparer is not null then it will be used to compare the objects. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The IComparer to use in comparing objects from each IEnumerable + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are equivalent, containing the same objects but the match may be in any order. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + + + + Asserts that expected and actual are equivalent, containing the same objects but the match may be in any order. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The message that will be displayed on failure + + + + Asserts that expected and actual are equivalent, containing the same objects but the match may be in any order. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are not exactly equal. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + + + + Asserts that expected and actual are not exactly equal. + If comparer is not null then it will be used to compare the objects. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The IComparer to use in comparing objects from each IEnumerable + + + + Asserts that expected and actual are not exactly equal. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The message that will be displayed on failure + + + + Asserts that expected and actual are not exactly equal. + If comparer is not null then it will be used to compare the objects. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The IComparer to use in comparing objects from each IEnumerable + The message that will be displayed on failure + + + + Asserts that expected and actual are not exactly equal. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are not exactly equal. + If comparer is not null then it will be used to compare the objects. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The IComparer to use in comparing objects from each IEnumerable + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are not equivalent. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + + + + Asserts that expected and actual are not equivalent. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The message that will be displayed on failure + + + + Asserts that expected and actual are not equivalent. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that collection contains actual as an item. + + IEnumerable of objects to be considered + Object to be found within collection + + + + Asserts that collection contains actual as an item. + + IEnumerable of objects to be considered + Object to be found within collection + The message that will be displayed on failure + + + + Asserts that collection contains actual as an item. + + IEnumerable of objects to be considered + Object to be found within collection + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that collection does not contain actual as an item. + + IEnumerable of objects to be considered + Object that cannot exist within collection + + + + Asserts that collection does not contain actual as an item. + + IEnumerable of objects to be considered + Object that cannot exist within collection + The message that will be displayed on failure + + + + Asserts that collection does not contain actual as an item. + + IEnumerable of objects to be considered + Object that cannot exist within collection + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that superset is not a subject of subset. + + The IEnumerable superset to be considered + The IEnumerable subset to be considered + + + + Asserts that superset is not a subject of subset. + + The IEnumerable superset to be considered + The IEnumerable subset to be considered + The message that will be displayed on failure + + + + Asserts that superset is not a subject of subset. + + The IEnumerable superset to be considered + The IEnumerable subset to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that superset is a subset of subset. + + The IEnumerable superset to be considered + The IEnumerable subset to be considered + + + + Asserts that superset is a subset of subset. + + The IEnumerable superset to be considered + The IEnumerable subset to be considered + The message that will be displayed on failure + + + + Asserts that superset is a subset of subset. + + The IEnumerable superset to be considered + The IEnumerable subset to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Assert that an array, list or other collection is empty + + An array, list or other collection implementing IEnumerable + The message to be displayed on failure + Arguments to be used in formatting the message + + + + Assert that an array, list or other collection is empty + + An array, list or other collection implementing IEnumerable + The message to be displayed on failure + + + + Assert that an array,list or other collection is empty + + An array, list or other collection implementing IEnumerable + + + + Assert that an array, list or other collection is empty + + An array, list or other collection implementing IEnumerable + The message to be displayed on failure + Arguments to be used in formatting the message + + + + Assert that an array, list or other collection is empty + + An array, list or other collection implementing IEnumerable + The message to be displayed on failure + + + + Assert that an array,list or other collection is empty + + An array, list or other collection implementing IEnumerable + + + + Assert that an array, list or other collection is ordered + + An array, list or other collection implementing IEnumerable + The message to be displayed on failure + Arguments to be used in formatting the message + + + + Assert that an array, list or other collection is ordered + + An array, list or other collection implementing IEnumerable + The message to be displayed on failure + + + + Assert that an array, list or other collection is ordered + + An array, list or other collection implementing IEnumerable + + + + Assert that an array, list or other collection is ordered + + An array, list or other collection implementing IEnumerable + A custom comparer to perform the comparisons + The message to be displayed on failure + Arguments to be used in formatting the message + + + + Assert that an array, list or other collection is ordered + + An array, list or other collection implementing IEnumerable + A custom comparer to perform the comparisons + The message to be displayed on failure + + + + Assert that an array, list or other collection is ordered + + An array, list or other collection implementing IEnumerable + A custom comparer to perform the comparisons + + + + Summary description for FileAssert. + + + + + The Equals method throws an AssertionException. This is done + to make sure there is no mistake by calling this function. + + + + + + + override the default ReferenceEquals to throw an AssertionException. This + implementation makes sure there is no mistake in calling this function + as part of Assert. + + + + + + + We don't actually want any instances of this object, but some people + like to inherit from it to add other static methods. Hence, the + protected constructor disallows any instances of this object. + + + + + Verifies that two Streams are equal. Two Streams are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + The expected Stream + The actual Stream + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Verifies that two Streams are equal. Two Streams are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + The expected Stream + The actual Stream + The message to display if objects are not equal + + + + Verifies that two Streams are equal. Two Streams are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + The expected Stream + The actual Stream + + + + Verifies that two files are equal. Two files are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + A file containing the value that is expected + A file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Verifies that two files are equal. Two files are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + A file containing the value that is expected + A file containing the actual value + The message to display if objects are not equal + + + + Verifies that two files are equal. Two files are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + A file containing the value that is expected + A file containing the actual value + + + + Verifies that two files are equal. Two files are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + The path to a file containing the value that is expected + The path to a file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Verifies that two files are equal. Two files are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + The path to a file containing the value that is expected + The path to a file containing the actual value + The message to display if objects are not equal + + + + Verifies that two files are equal. Two files are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + The path to a file containing the value that is expected + The path to a file containing the actual value + + + + Asserts that two Streams are not equal. If they are equal + an is thrown. + + The expected Stream + The actual Stream + The message to be displayed when the two Stream are the same. + Arguments to be used in formatting the message + + + + Asserts that two Streams are not equal. If they are equal + an is thrown. + + The expected Stream + The actual Stream + The message to be displayed when the Streams are the same. + + + + Asserts that two Streams are not equal. If they are equal + an is thrown. + + The expected Stream + The actual Stream + + + + Asserts that two files are not equal. If they are equal + an is thrown. + + A file containing the value that is expected + A file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Asserts that two files are not equal. If they are equal + an is thrown. + + A file containing the value that is expected + A file containing the actual value + The message to display if objects are not equal + + + + Asserts that two files are not equal. If they are equal + an is thrown. + + A file containing the value that is expected + A file containing the actual value + + + + Asserts that two files are not equal. If they are equal + an is thrown. + + The path to a file containing the value that is expected + The path to a file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Asserts that two files are not equal. If they are equal + an is thrown. + + The path to a file containing the value that is expected + The path to a file containing the actual value + The message to display if objects are not equal + + + + Asserts that two files are not equal. If they are equal + an is thrown. + + The path to a file containing the value that is expected + The path to a file containing the actual value + + + + Attribute used to provide descriptive text about a + test case or fixture. + + + + + Construct the attribute + + Text describing the test + + + + Gets the test description + + + + + Interface implemented by a user fixture in order to + validate any expected exceptions. It is only called + for test methods marked with the ExpectedException + attribute. + + + + + Method to handle an expected exception + + The exception to be handled + + + + TextMessageWriter writes constraint descriptions and messages + in displayable form as a text stream. It tailors the display + of individual message components to form the standard message + format of NUnit assertion failure messages. + + + + + Prefix used for the expected value line of a message + + + + + Prefix used for the actual value line of a message + + + + + Length of a message prefix + + + + + Construct a TextMessageWriter + + + + + Construct a TextMessageWriter, specifying a user message + and optional formatting arguments. + + + + + + + Method to write single line message with optional args, usually + written to precede the general failure message, at a givel + indentation level. + + The indentation level of the message + The message to be written + Any arguments used in formatting the message + + + + Display Expected and Actual lines for a constraint. This + is called by MessageWriter's default implementation of + WriteMessageTo and provides the generic two-line display. + + The constraint that failed + + + + Display Expected and Actual lines for given values. This + method may be called by constraints that need more control over + the display of actual and expected values than is provided + by the default implementation. + + The expected value + The actual value causing the failure + + + + Display Expected and Actual lines for given values, including + a tolerance value on the expected line. + + The expected value + The actual value causing the failure + The tolerance within which the test was made + + + + Display the expected and actual string values on separate lines. + If the mismatch parameter is >=0, an additional line is displayed + line containing a caret that points to the mismatch point. + + The expected string value + The actual string value + The point at which the strings don't match or -1 + If true, case is ignored in string comparisons + If true, clip the strings to fit the max line length + + + + Writes the text for a connector. + + The connector. + + + + Writes the text for a predicate. + + The predicate. + + + + Write the text for a modifier. + + The modifier. + + + + Writes the text for an expected value. + + The expected value. + + + + Writes the text for an actual value. + + The actual value. + + + + Writes the text for a generalized value. + + The value. + + + + Writes the text for a collection value, + starting at a particular point, to a max length + + The collection containing elements to write. + The starting point of the elements to write + The maximum number of elements to write + + + + Write the generic 'Expected' line for a constraint + + The constraint that failed + + + + Write the generic 'Expected' line for a given value + + The expected value + + + + Write the generic 'Expected' line for a given value + and tolerance. + + The expected value + The tolerance within which the test was made + + + + Write the generic 'Actual' line for a constraint + + The constraint for which the actual value is to be written + + + + Write the generic 'Actual' line for a given value + + The actual value causing a failure + + + + Gets or sets the maximum line length for this writer + + + + + AssertionHelper is an optional base class for user tests, + allowing the use of shorter names for constraints and + asserts and avoiding conflict with the definition of + , from which it inherits much of its + behavior, in certain mock object frameworks. + + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. Works + identically to + + A Constraint to be applied + The actual value to test + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. Works + identically to + + A Constraint to be applied + The actual value to test + The message that will be displayed on failure + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. Works + identically to + + A Constraint to be applied + The actual value to test + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + A Constraint expression to be applied + An ActualValueDelegate returning the value to be tested + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + A Constraint expression to be applied + An ActualValueDelegate returning the value to be tested + The message that will be displayed on failure + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to a referenced value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + A Constraint to be applied + The actual value to test + + + + Apply a constraint to a referenced value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + A Constraint to be applied + The actual value to test + The message that will be displayed on failure + + + + Apply a constraint to a referenced value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + A Constraint to be applied + The actual value to test + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the method throws + an . Works Identically to + . + + The evaluated condition + The message to display if the condition is false + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the method throws + an . Works Identically to + . + + The evaluated condition + The message to display if the condition is false + + + + Asserts that a condition is true. If the condition is false the method throws + an . Works Identically to . + + The evaluated condition + + + + Asserts that the code represented by a delegate throws an exception + that satisfies the constraint provided. + + A TestDelegate to be executed + A ThrowsConstraint used in the test + + + + Returns a ListMapper based on a collection. + + The original collection + + + + + Abstract base for Attributes that are used to include tests + in the test run based on environmental settings. + + + + + Constructor with no included items specified, for use + with named property syntax. + + + + + Constructor taking one or more included items + + Comma-delimited list of included items + + + + Name of the item that is needed in order for + a test to run. Multiple itemss may be given, + separated by a comma. + + + + + Name of the item to be excluded. Multiple items + may be given, separated by a comma. + + + + + The reason for including or excluding the test + + + + + PlatformAttribute is used to mark a test fixture or an + individual method as applying to a particular platform only. + + + + + Constructor with no platforms specified, for use + with named property syntax. + + + + + Constructor taking one or more platforms + + Comma-deliminted list of platforms + + + + CultureAttribute is used to mark a test fixture or an + individual method as applying to a particular Culture only. + + + + + Constructor with no cultures specified, for use + with named property syntax. + + + + + Constructor taking one or more cultures + + Comma-deliminted list of cultures + + + + Summary description for SetCultureAttribute. + + + + + Construct given the name of a culture + + + + + + GlobalSettings is a place for setting default values used + by the framework in performing asserts. + + + + + Default tolerance for floating point equality + + + + + Summary description for DirectoryAssert + + + + + The Equals method throws an AssertionException. This is done + to make sure there is no mistake by calling this function. + + + + + + + override the default ReferenceEquals to throw an AssertionException. This + implementation makes sure there is no mistake in calling this function + as part of Assert. + + + + + + + We don't actually want any instances of this object, but some people + like to inherit from it to add other static methods. Hence, the + protected constructor disallows any instances of this object. + + + + + Verifies that two directories are equal. Two directories are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + A directory containing the value that is expected + A directory containing the actual value + The message to display if directories are not equal + Arguments to be used in formatting the message + + + + Verifies that two directories are equal. Two directories are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + A directory containing the value that is expected + A directory containing the actual value + The message to display if directories are not equal + + + + Verifies that two directories are equal. Two directories are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + A directory containing the value that is expected + A directory containing the actual value + + + + Verifies that two directories are equal. Two directories are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + A directory path string containing the value that is expected + A directory path string containing the actual value + The message to display if directories are not equal + Arguments to be used in formatting the message + + + + Verifies that two directories are equal. Two directories are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + A directory path string containing the value that is expected + A directory path string containing the actual value + The message to display if directories are not equal + + + + Verifies that two directories are equal. Two directories are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + A directory path string containing the value that is expected + A directory path string containing the actual value + + + + Asserts that two directories are not equal. If they are equal + an is thrown. + + A directory containing the value that is expected + A directory containing the actual value + The message to display if directories are not equal + Arguments to be used in formatting the message + + + + Asserts that two directories are not equal. If they are equal + an is thrown. + + A directory containing the value that is expected + A directory containing the actual value + The message to display if directories are not equal + + + + Asserts that two directories are not equal. If they are equal + an is thrown. + + A directory containing the value that is expected + A directory containing the actual value + + + + Asserts that two directories are not equal. If they are equal + an is thrown. + + A directory path string containing the value that is expected + A directory path string containing the actual value + The message to display if directories are equal + Arguments to be used in formatting the message + + + + Asserts that two directories are not equal. If they are equal + an is thrown. + + A directory path string containing the value that is expected + A directory path string containing the actual value + The message to display if directories are equal + + + + Asserts that two directories are not equal. If they are equal + an is thrown. + + A directory path string containing the value that is expected + A directory path string containing the actual value + + + + Asserts that the directory is empty. If it is not empty + an is thrown. + + A directory to search + The message to display if directories are not equal + Arguments to be used in formatting the message + + + + Asserts that the directory is empty. If it is not empty + an is thrown. + + A directory to search + The message to display if directories are not equal + + + + Asserts that the directory is empty. If it is not empty + an is thrown. + + A directory to search + + + + Asserts that the directory is empty. If it is not empty + an is thrown. + + A directory to search + The message to display if directories are not equal + Arguments to be used in formatting the message + + + + Asserts that the directory is empty. If it is not empty + an is thrown. + + A directory to search + The message to display if directories are not equal + + + + Asserts that the directory is empty. If it is not empty + an is thrown. + + A directory to search + + + + Asserts that the directory is not empty. If it is empty + an is thrown. + + A directory to search + The message to display if directories are not equal + Arguments to be used in formatting the message + + + + Asserts that the directory is not empty. If it is empty + an is thrown. + + A directory to search + The message to display if directories are not equal + + + + Asserts that the directory is not empty. If it is empty + an is thrown. + + A directory to search + + + + Asserts that the directory is not empty. If it is empty + an is thrown. + + A directory to search + The message to display if directories are not equal + Arguments to be used in formatting the message + + + + Asserts that the directory is not empty. If it is empty + an is thrown. + + A directory to search + The message to display if directories are not equal + + + + Asserts that the directory is not empty. If it is empty + an is thrown. + + A directory to search + + + + Asserts that path contains actual as a subdirectory or + an is thrown. + + A directory to search + sub-directory asserted to exist under directory + The message to display if directory is not within the path + Arguments to be used in formatting the message + + + + Asserts that path contains actual as a subdirectory or + an is thrown. + + A directory to search + sub-directory asserted to exist under directory + The message to display if directory is not within the path + + + + Asserts that path contains actual as a subdirectory or + an is thrown. + + A directory to search + sub-directory asserted to exist under directory + + + + Asserts that path contains actual as a subdirectory or + an is thrown. + + A directory to search + sub-directory asserted to exist under directory + The message to display if directory is not within the path + Arguments to be used in formatting the message + + + + Asserts that path contains actual as a subdirectory or + an is thrown. + + A directory to search + sub-directory asserted to exist under directory + The message to display if directory is not within the path + + + + Asserts that path contains actual as a subdirectory or + an is thrown. + + A directory to search + sub-directory asserted to exist under directory + + + + Asserts that path does not contain actual as a subdirectory or + an is thrown. + + A directory to search + sub-directory asserted to exist under directory + The message to display if directory is not within the path + Arguments to be used in formatting the message + + + + Asserts that path does not contain actual as a subdirectory or + an is thrown. + + A directory to search + sub-directory asserted to exist under directory + The message to display if directory is not within the path + + + + Asserts that path does not contain actual as a subdirectory or + an is thrown. + + A directory to search + sub-directory asserted to exist under directory + + + + Asserts that path does not contain actual as a subdirectory or + an is thrown. + + A directory to search + sub-directory asserted to exist under directory + The message to display if directory is not within the path + Arguments to be used in formatting the message + + + + Asserts that path does not contain actual as a subdirectory or + an is thrown. + + A directory to search + sub-directory asserted to exist under directory + The message to display if directory is not within the path + + + + Asserts that path does not contain actual as a subdirectory or + an is thrown. + + A directory to search + sub-directory asserted to exist under directory + + + + TestCaseAttribute is used to mark parameterized test cases + and provide them with their arguments. + + + + + The ITestCaseData interface is implemented by a class + that is able to return complete testcases for use by + a parameterized test method. + + NOTE: This interface is used in both the framework + and the core, even though that results in two different + types. However, sharing the source code guarantees that + the various implementations will be compatible and that + the core is able to reflect successfully over the + framework implementations of ITestCaseData. + + + + + Gets the argument list to be provided to the test + + + + + Gets the expected result + + + + + Gets the expected exception Type + + + + + Gets the FullName of the expected exception + + + + + Gets the name to be used for the test + + + + + Gets the description of the test + + + + + Gets a value indicating whether this is ignored. + + true if ignored; otherwise, false. + + + + Gets the ignore reason. + + The ignore reason. + + + + Construct a TestCaseAttribute with a list of arguments. + This constructor is not CLS-Compliant + + + + + + Construct a TestCaseAttribute with a single argument + + + + + + Construct a TestCaseAttribute with a two arguments + + + + + + + Construct a TestCaseAttribute with a three arguments + + + + + + + + Gets the list of arguments to a test case + + + + + Gets or sets the expected result. + + The result. + + + + Gets or sets the expected exception. + + The expected exception. + + + + Gets or sets the name the expected exception. + + The expected name of the exception. + + + + Gets or sets the expected message of the expected exception + + The expected message of the exception. + + + + Gets or sets the type of match to be performed on the expected message + + + + + Gets or sets the description. + + The description. + + + + Gets or sets the name of the test. + + The name of the test. + + + + Gets or sets the ignored status of the test + + + + + Gets or sets the ignored status of the test + + + + + Gets the ignore reason. + + The ignore reason. + + + + The TestCaseData class represents a set of arguments + and other parameter info to be used for a parameterized + test case. It provides a number of instance modifiers + for use in initializing the test case. + + Note: Instance modifiers are getters that return + the same instance after modifying it's state. + + + + + The argument list to be provided to the test + + + + + The expected result to be returned + + + + + The expected exception Type + + + + + The FullName of the expected exception + + + + + The name to be used for the test + + + + + The description of the test + + + + + A dictionary of properties, used to add information + to tests without requiring the class to change. + + + + + If true, indicates that the test case is to be ignored + + + + + The reason for ignoring a test case + + + + + Initializes a new instance of the class. + + The arguments. + + + + Initializes a new instance of the class. + + The argument. + + + + Initializes a new instance of the class. + + The first argument. + The second argument. + + + + Initializes a new instance of the class. + + The first argument. + The second argument. + The third argument. + + + + Sets the expected result for the test + + The expected result + A modified TestCaseData + + + + Sets the expected exception type for the test + + Type of the expected exception. + The modified TestCaseData instance + + + + Sets the expected exception type for the test + + FullName of the expected exception. + The modified TestCaseData instance + + + + Sets the name of the test case + + The modified TestCaseData instance + + + + Sets the description for the test case + being constructed. + + The description. + The modified TestCaseData instance. + + + + Applies a category to the test + + + + + + + Applies a named property to the test + + + + + + + + Applies a named property to the test + + + + + + + + Applies a named property to the test + + + + + + + + Ignores this TestCase. + + + + + + Ignores this TestCase, specifying the reason. + + The reason. + + + + + Gets the argument list to be provided to the test + + + + + Gets the expected result + + + + + Gets the expected exception Type + + + + + Gets the FullName of the expected exception + + + + + Gets the name to be used for the test + + + + + Gets the description of the test + + + + + Gets a value indicating whether this is ignored. + + true if ignored; otherwise, false. + + + + Gets the ignore reason. + + The ignore reason. + + + + Gets a list of categories associated with this test. + + + + + Gets the property dictionary for this test + + + + + Thrown when an assertion failed. + + + + + + + The error message that explains + the reason for the exception + The exception that caused the + current exception + + + + Serialization Constructor + + + + + Thrown when a test executes inconclusively. + + + + + The error message that explains + the reason for the exception + + + The error message that explains + the reason for the exception + The exception that caused the + current exception + + + + Serialization Constructor + + + + + Attribute used to identify a method that is + called before any tests in a fixture are run. + + + + + Attribute used to identify a method that is called after + all the tests in a fixture have run. The method is + guaranteed to be called, even if an exception is thrown. + + + + + ExplicitAttribute marks a test or test fixture so that it will + only be run if explicitly executed from the gui or command line + or if it is included by use of a filter. The test will not be + run simply because an enclosing suite is run. + + + + + Default constructor + + + + + Constructor with a reason + + The reason test is marked explicit + + + + The reason test is marked explicit + + + + + Thrown when an assertion failed. + + + + + The error message that explains + the reason for the exception + + + The error message that explains + the reason for the exception + The exception that caused the + current exception + + + + Serialization Constructor + + + + + Thrown when an assertion failed. + + + + + + + The error message that explains + the reason for the exception + The exception that caused the + current exception + + + + Serialization Constructor + + + + + Enumeration indicating how the expected message parameter is to be used + + + + Expect an exact match + + + Expect a message containing the parameter string + + + Match the regular expression provided as a parameter + + + Expect a message that starts with the parameter string + + + + ExpectedExceptionAttribute + + + + + + Constructor for a non-specific exception + + + + + Constructor for a given type of exception + + The type of the expected exception + + + + Constructor for a given exception name + + The full name of the expected exception + + + + Gets or sets the expected exception type + + + + + Gets or sets the full Type name of the expected exception + + + + + Gets or sets the expected message text + + + + + Gets or sets the user message displayed in case of failure + + + + + Gets or sets the type of match to be performed on the expected message + + + + + Gets the name of a method to be used as an exception handler + + + + + Attribute used to mark a test that is to be ignored. + Ignored tests result in a warning message when the + tests are run. + + + + + Constructs the attribute without giving a reason + for ignoring the test. + + + + + Constructs the attribute giving a reason for ignoring the test + + The reason for ignoring the test + + + + The reason for ignoring a test + + + + + Attribute used to mark a class that contains one-time SetUp + and/or TearDown methods that apply to all the tests in a + namespace or an assembly. + + + + + Attribute used to mark a static (shared in VB) property + that returns a list of tests. + + + + + Attribute used to identify a method that is called + immediately after each test is run. The method is + guaranteed to be called, even if an exception is thrown. + + + + + Adding this attribute to a method within a + class makes the method callable from the NUnit test runner. There is a property + called Description which is optional which you can provide a more detailed test + description. This class cannot be inherited. + + + + [TestFixture] + public class Fixture + { + [Test] + public void MethodToTest() + {} + + [Test(Description = "more detailed description")] + publc void TestDescriptionMethod() + {} + } + + + + + + Descriptive text for this test + + + + + [TestFixture] + public class ExampleClass + {} + + + + + Default constructor + + + + + Construct with a object[] representing a set of arguments. + In .NET 2.0, the arguments may later be separated into + type arguments and constructor arguments. + + + + + + Descriptive text for this fixture + + + + + The arguments originally provided to the attribute + + + + + Gets or sets a value indicating whether this should be ignored. + + true if ignore; otherwise, false. + + + + Gets or sets the ignore reason. May set Ignored as a side effect. + + The ignore reason. + + + + Get or set the type arguments. If not set + explicitly, any leading arguments that are + Types are taken as type arguments. + + + + + RequiredAddinAttribute may be used to indicate the names of any addins + that must be present in order to run some or all of the tests in an + assembly. If the addin is not loaded, the entire assembly is marked + as NotRunnable. + + + + + Initializes a new instance of the class. + + The required addin. + + + + Gets the name of required addin. + + The required addin name. + + + + Marks a test to use a combinatorial join of any argument data + provided. NUnit will create a test case for every combination of + the arguments provided. This can result in a large number of test + cases and so should be used judiciously. This is the default join + type, so the attribute need not be used except as documentation. + + + + + Default constructor + + + + + Marks a test to use pairwise join of any argument data provided. + NUnit will attempt too excercise every pair of argument values at + least once, using as small a number of test cases as it can. With + only two arguments, this is the same as a combinatorial join. + + + + + Default constructor + + + + + Marks a test to use a sequential join of any argument data + provided. NUnit will use arguements for each parameter in + sequence, generating test cases up to the largest number + of argument values provided and using null for any arguments + for which it runs out of values. Normally, this should be + used with the same number of arguments for each parameter. + + + + + Default constructor + + + + + Abstract base class for attributes that apply to parameters + and supply data for the parameter. + + + + + Gets the data to be provided to the specified parameter + + + + + ValuesAttribute is used to provide literal arguments for + an individual parameter of a test. + + + + + The collection of data to be returned. Must + be set by any derived attribute classes. + We use an object[] so that the individual + elements may have their type changed in GetData + if necessary. + + + + + Construct with one argument + + + + + + Construct with two arguments + + + + + + + Construct with three arguments + + + + + + + + Construct with an array of arguments + + + + + + Get the collection of values to be used as arguments + + + + + RandomAttribute is used to supply a set of random values + to a single parameter of a parameterized test. + + + + + Construct a set of doubles from 0.0 to 1.0, + specifying only the count. + + + + + + Construct a set of doubles from min to max + + + + + + + + Construct a set of ints from min to max + + + + + + + + Get the collection of values to be used as arguments + + + + + RangeAttribute is used to supply a range of values to an + individual parameter of a parameterized test. + + + + + Construct a range of ints using default step of 1 + + + + + + + Construct a range of ints specifying the step size + + + + + + + + Construct a range of longs + + + + + + + + Construct a range of doubles + + + + + + + + Construct a range of floats + + + + + + + + Helper class with properties and methods that supply + a number of constraints used in Asserts. + + + + + Returns a new PropertyConstraintExpression, which will either + test for the existence of the named property on the object + being tested or apply any following constraint to that property. + + + + + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + + + + + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + + + + + Returns a new CollectionContainsConstraint checking for the + presence of a particular object in the collection. + + + + + Returns a ConstraintExpression that negates any + following constraint. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them succeed. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if at least one of them succeeds. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them fail. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Length property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Count property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Message property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the InnerException property of the object being tested. + + + + + Helper class with properties and methods that supply + a number of constraints used in Asserts. + + + + + Returns a constraint that tests two items for equality + + + + + Returns a constraint that tests that two references are the same object + + + + + Returns a constraint that tests whether the + actual value is greater than the suppled argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the suppled argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the suppled argument + + + + + Returns a constraint that tests whether the + actual value is less than the suppled argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the suppled argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the suppled argument + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a collection containing the same elements as the + collection supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a subset of the collection supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value contains the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the Regex pattern supplied as an argument. + + + + + Returns a constraint that tests whether the path provided + is the same as an expected path after canonicalization. + + + + + Returns a constraint that tests whether the path provided + is the same path or under an expected path after canonicalization. + + + + + Returns a constraint that tests whether the actual value falls + within a specified range. + + + + + Returns a ConstraintExpression that negates any + following constraint. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them succeed. + + + + + Returns a constraint that tests for null + + + + + Returns a constraint that tests for True + + + + + Returns a constraint that tests for False + + + + + Returns a constraint that tests for NaN + + + + + Returns a constraint that tests for empty + + + + + Returns a constraint that tests whether a collection + contains all unique items. + + + + + Returns a constraint that tests whether an object graph is serializable in binary format. + + + + + Returns a constraint that tests whether an object graph is serializable in xml format. + + + + + Returns a constraint that tests whether a collection is ordered + + + + + The List class is a helper class with properties and methods + that supply a number of constraints used with lists and collections. + + + + + List.Map returns a ListMapper, which can be used to map + the original collection to another collection. + + + + + + + ListMapper is used to transform a collection used as an actual argument + producing another collection to be used in the assertion. + + + + + Construct a ListMapper based on a collection + + The collection to be transformed + + + + Produces a collection containing all the values of a property + + The collection of property values + + + + + Helper class with static methods used to supply constraints + that operate on strings. + + + + + Returns a constraint that succeeds if the actual + value contains the substring supplied as an argument. + + + + + Returns a constraint that fails if the actual + value contains the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that fails if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that fails if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the Regex pattern supplied as an argument. + + + + + Returns a constraint that fails if the actual + value matches the pattern supplied as an argument. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them succeed. + + + + + Helper class with properties and methods that supply + constraints that operate on exceptions. + + + + + Creates a constraint specifying the exact type of exception expected + + + + + Creates a constraint specifying the exact type of exception expected + + + + + Creates a constraint specifying the type of exception expected + + + + + Creates a constraint specifying the type of exception expected + + + + + Creates a constraint specifying an expected exception + + + + + Creates a constraint specifying an exception with a given InnerException + + + + + Creates a constraint specifying an expected TargetInvocationException + + + + + Creates a constraint specifying an expected TargetInvocationException + + + + + Creates a constraint specifying an expected TargetInvocationException + + + + + Creates a constraint specifying that no exception is thrown + + + + + FactoryAttribute indicates the source to be used to + provide test cases for a test method. + + + + + Construct with the name of the factory - for use with languages + that don't support params arrays. + + An array of the names of the factories that will provide data + + + + Construct with a Type and name - for use with languages + that don't support params arrays. + + The Type that will provide data + The name of the method, property or field that will provide data + + + + The name of a the method, property or fiend to be used as a source + + + + + A Type to be used as a source + + + + + ValueSourceAttribute indicates the source to be used to + provide data for one parameter of a test method. + + + + + Construct with the name of the factory - for use with languages + that don't support params arrays. + + The name of the data source to be used + + + + Construct with a Type and name - for use with languages + that don't support params arrays. + + The Type that will provide data + The name of the method, property or field that will provide data + + + + The name of a the method, property or fiend to be used as a source + + + + + A Type to be used as a source + + + + + The Iz class is a synonym for Is intended for use in VB, + which regards Is as a keyword. + + + + + WUsed on a method, marks the test with a timeout value in milliseconds. + The test will be run in a separate thread and is cancelled if the timeout + is exceeded. Used on a method or assembly, sets the default timeout + for all contained test methods. + + + + + Construct a TimeoutAttribute given a time in milliseconds + + The timeout value in milliseconds + + + + Marks a test that must run in the STA, causing it + to run in a separate thread if necessary. + + On methods, you may also use STAThreadAttribute + to serve the same purpose. + + + + + Construct a RequiresSTAAttribute + + + + + Marks a test that must run in the MTA, causing it + to run in a separate thread if necessary. + + On methods, you may also use MTAThreadAttribute + to serve the same purpose. + + + + + Construct a RequiresMTAAttribute + + + + + Marks a test that must run on a separate thread. + + + + + Construct a RequiresThreadAttribute + + + + + Construct a RequiresThreadAttribute, specifying the apartment + + + + + Summary description for MaxTimeAttribute. + + + + + Construct a MaxTimeAttribute, given a time in milliseconds. + + The maximum elapsed time in milliseconds + + + + RepeatAttribute may be applied to test case in order + to run it multiple times. + + + + + Construct a RepeatAttribute + + The number of times to run the test + + + + Provides static methods to express the assumptions + that must be met for a test to give a meaningful + result. If an assumption is not met, the test + should produce an inconclusive result. + + + + + The Equals method throws an AssertionException. This is done + to make sure there is no mistake by calling this function. + + + + + + + override the default ReferenceEquals to throw an AssertionException. This + implementation makes sure there is no mistake in calling this function + as part of Assert. + + + + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + A Constraint expression to be applied + The actual value to test + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + A Constraint expression to be applied + The actual value to test + The message that will be displayed on failure + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + A Constraint expression to be applied + The actual value to test + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + A Constraint expression to be applied + An ActualValueDelegate returning the value to be tested + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + A Constraint expression to be applied + An ActualValueDelegate returning the value to be tested + The message that will be displayed on failure + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to a referenced value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + A Constraint expression to be applied + The actual value to test + + + + Apply a constraint to a referenced value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + A Constraint expression to be applied + The actual value to test + The message that will be displayed on failure + + + + Apply a constraint to a referenced value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + A Constraint expression to be applied + The actual value to test + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + The message to display if the condition is false + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + The message to display if the condition is false + + + + Asserts that a condition is true. If the condition is false the + method throws an . + + The evaluated condition + + + + Asserts that the code represented by a delegate throws an exception + that satisfies the constraint provided. + + A TestDelegate to be executed + A ThrowsConstraint used in the test + + + + Randomizer returns a set of random values in a repeatable + way, to allow re-running of tests if necessary. + + + + + Get a randomizer for a particular member, returning + one that has already been created if it exists. + This ensures that the same values are generated + each time the tests are reloaded. + + + + + Get a randomizer for a particular parameter, returning + one that has already been created if it exists. + This ensures that the same values are generated + each time the tests are reloaded. + + + + + Construct a randomizer using a random seed + + + + + Construct a randomizer using a specified seed + + + + + Return an array of random doubles between 0.0 and 1.0. + + + + + + + Return an array of random doubles with values in a specified range. + + + + + Return an array of random ints with values in a specified range. + + + + + Get a random seed for use in creating a randomizer. + + + + + Adding this attribute to a method within a + class makes the method callable from the NUnit test runner. There is a property + called Description which is optional which you can provide a more detailed test + description. This class cannot be inherited. + + + + [TestFixture] + public class Fixture + { + [Test] + public void MethodToTest() + {} + + [Test(Description = "more detailed description")] + publc void TestDescriptionMethod() + {} + } + + + + + + Used to mark a field for use as a datapoint when executing a theory + within the same fixture that requires an argument of the field's Type. + + + + + Used to mark an array as containing a set of datapoints to be used + executing a theory within the same fixture that requires an argument + of the Type of the array elements. + + + + + The SpecialValue enum is used to represent TestCase arguments + that cannot be used as arguments to an Attribute. + + + + + Null represents a null value, which cannot be used as an + argument to an attriute under .NET 1.x + + + + + Summary description for SetUICultureAttribute. + + + + + Construct given the name of a culture + + + + + + Delegate used by tests that execute code and + capture any thrown exception. + + + + + The Assert class contains a collection of static methods that + implement the most common assertions used in NUnit. + + + + + We don't actually want any instances of this object, but some people + like to inherit from it to add other static methods. Hence, the + protected constructor disallows any instances of this object. + + + + + The Equals method throws an AssertionException. This is done + to make sure there is no mistake by calling this function. + + + + + + + override the default ReferenceEquals to throw an AssertionException. This + implementation makes sure there is no mistake in calling this function + as part of Assert. + + + + + + + Helper for Assert.AreEqual(double expected, double actual, ...) + allowing code generation to work consistently. + + The expected value + The actual value + The maximum acceptable difference between the + the expected and the actual + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Throws a with the message and arguments + that are passed in. This allows a test to be cut short, with a result + of success returned to NUnit. + + The message to initialize the with. + Arguments to be used in formatting the message + + + + Throws a with the message and arguments + that are passed in. This allows a test to be cut short, with a result + of success returned to NUnit. + + The message to initialize the with. + + + + Throws a with the message and arguments + that are passed in. This allows a test to be cut short, with a result + of success returned to NUnit. + + + + + Throws an with the message and arguments + that are passed in. This is used by the other Assert functions. + + The message to initialize the with. + Arguments to be used in formatting the message + + + + Throws an with the message that is + passed in. This is used by the other Assert functions. + + The message to initialize the with. + + + + Throws an . + This is used by the other Assert functions. + + + + + Throws an with the message and arguments + that are passed in. This causes the test to be reported as ignored. + + The message to initialize the with. + Arguments to be used in formatting the message + + + + Throws an with the message that is + passed in. This causes the test to be reported as ignored. + + The message to initialize the with. + + + + Throws an . + This causes the test to be reported as ignored. + + + + + Throws an with the message and arguments + that are passed in. This causes the test to be reported as inconclusive. + + The message to initialize the with. + Arguments to be used in formatting the message + + + + Throws an with the message that is + passed in. This causes the test to be reported as inconclusive. + + The message to initialize the with. + + + + Throws an . + This causes the test to be reported as Inconclusive. + + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + A Constraint to be applied + The actual value to test + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + A Constraint to be applied + The actual value to test + The message that will be displayed on failure + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + A Constraint expression to be applied + The actual value to test + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + A Constraint expression to be applied + An ActualValueDelegate returning the value to be tested + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + A Constraint expression to be applied + An ActualValueDelegate returning the value to be tested + The message that will be displayed on failure + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to a referenced value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + A Constraint to be applied + The actual value to test + + + + Apply a constraint to a referenced value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + A Constraint to be applied + The actual value to test + The message that will be displayed on failure + + + + Apply a constraint to a referenced value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + A Constraint to be applied + The actual value to test + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + The message to display if the condition is false + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + The message to display if the condition is false + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + + + + Asserts that the code represented by a delegate throws an exception + that satisfies the constraint provided. + + A TestDelegate to be executed + A ThrowsConstraint used in the test + + + + Verifies that a delegate throws a particular exception when called. + + A constraint to be satisfied by the exception + A TestSnippet delegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that a delegate throws a particular exception when called. + + A constraint to be satisfied by the exception + A TestSnippet delegate + The message that will be displayed on failure + + + + Verifies that a delegate throws a particular exception when called. + + A constraint to be satisfied by the exception + A TestSnippet delegate + + + + Verifies that a delegate throws a particular exception when called. + + The exception Type expected + A TestSnippet delegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that a delegate throws a particular exception when called. + + The exception Type expected + A TestSnippet delegate + The message that will be displayed on failure + + + + Verifies that a delegate throws a particular exception when called. + + The exception Type expected + A TestSnippet delegate + + + + Verifies that a delegate throws a particular exception when called. + + Type of the expected exception + A TestSnippet delegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that a delegate throws a particular exception when called. + + Type of the expected exception + A TestSnippet delegate + The message that will be displayed on failure + + + + Verifies that a delegate throws a particular exception when called. + + Type of the expected exception + A TestSnippet delegate + + + + Verifies that a delegate throws an exception when called + and returns it. + + A TestDelegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that a delegate throws an exception when called + and returns it. + + A TestDelegate + The message that will be displayed on failure + + + + Verifies that a delegate throws an exception when called + and returns it. + + A TestDelegate + + + + Verifies that a delegate throws an exception of a certain Type + or one derived from it when called and returns it. + + The expected Exception Type + A TestDelegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that a delegate throws an exception of a certain Type + or one derived from it when called and returns it. + + The expected Exception Type + A TestDelegate + The message that will be displayed on failure + + + + Verifies that a delegate throws an exception of a certain Type + or one derived from it when called and returns it. + + The expected Exception Type + A TestDelegate + + + + Verifies that a delegate throws an exception of a certain Type + or one derived from it when called and returns it. + + The expected Exception Type + A TestDelegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that a delegate throws an exception of a certain Type + or one derived from it when called and returns it. + + The expected Exception Type + A TestDelegate + The message that will be displayed on failure + + + + Verifies that a delegate throws an exception of a certain Type + or one derived from it when called and returns it. + + The expected Exception Type + A TestDelegate + + + + Verifies that a delegate does not throw an exception + + A TestSnippet delegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that a delegate does not throw an exception. + + A TestSnippet delegate + The message that will be displayed on failure + + + + Verifies that a delegate does not throw an exception. + + A TestSnippet delegate + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + The message to display in case of failure + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + The message to display in case of failure + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + + + + Asserts that a condition is false. If the condition is true the method throws + an . + + The evaluated condition + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a condition is false. If the condition is true the method throws + an . + + The evaluated condition + The message to display in case of failure + + + + Asserts that a condition is false. If the condition is true the method throws + an . + + The evaluated condition + + + + Asserts that a condition is false. If the condition is true the method throws + an . + + The evaluated condition + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a condition is false. If the condition is true the method throws + an . + + The evaluated condition + The message to display in case of failure + + + + Asserts that a condition is false. If the condition is true the method throws + an . + + The evaluated condition + + + + Verifies that the object that is passed in is not equal to null + If the object is null then an + is thrown. + + The object that is to be tested + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the object that is passed in is not equal to null + If the object is null then an + is thrown. + + The object that is to be tested + The message to display in case of failure + + + + Verifies that the object that is passed in is not equal to null + If the object is null then an + is thrown. + + The object that is to be tested + + + + Verifies that the object that is passed in is not equal to null + If the object is null then an + is thrown. + + The object that is to be tested + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the object that is passed in is not equal to null + If the object is null then an + is thrown. + + The object that is to be tested + The message to display in case of failure + + + + Verifies that the object that is passed in is not equal to null + If the object is null then an + is thrown. + + The object that is to be tested + + + + Verifies that the object that is passed in is equal to null + If the object is not null then an + is thrown. + + The object that is to be tested + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the object that is passed in is equal to null + If the object is not null then an + is thrown. + + The object that is to be tested + The message to display in case of failure + + + + Verifies that the object that is passed in is equal to null + If the object is not null then an + is thrown. + + The object that is to be tested + + + + Verifies that the object that is passed in is equal to null + If the object is not null then an + is thrown. + + The object that is to be tested + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the object that is passed in is equal to null + If the object is not null then an + is thrown. + + The object that is to be tested + The message to display in case of failure + + + + Verifies that the object that is passed in is equal to null + If the object is not null then an + is thrown. + + The object that is to be tested + + + + Verifies that the double that is passed in is an NaN value. + If the object is not NaN then an + is thrown. + + The value that is to be tested + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the double that is passed in is an NaN value. + If the object is not NaN then an + is thrown. + + The value that is to be tested + The message to display in case of failure + + + + Verifies that the double that is passed in is an NaN value. + If the object is not NaN then an + is thrown. + + The value that is to be tested + + + + Verifies that the double that is passed in is an NaN value. + If the object is not NaN then an + is thrown. + + The value that is to be tested + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the double that is passed in is an NaN value. + If the object is not NaN then an + is thrown. + + The value that is to be tested + The message to display in case of failure + + + + Verifies that the double that is passed in is an NaN value. + If the object is not NaN then an + is thrown. + + The value that is to be tested + + + + Assert that a string is empty - that is equal to string.Empty + + The string to be tested + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Assert that a string is empty - that is equal to string.Empty + + The string to be tested + The message to display in case of failure + + + + Assert that a string is empty - that is equal to string.Empty + + The string to be tested + + + + Assert that an array, list or other collection is empty + + An array, list or other collection implementing ICollection + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Assert that an array, list or other collection is empty + + An array, list or other collection implementing ICollection + The message to display in case of failure + + + + Assert that an array, list or other collection is empty + + An array, list or other collection implementing ICollection + + + + Assert that a string is not empty - that is not equal to string.Empty + + The string to be tested + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Assert that a string is not empty - that is not equal to string.Empty + + The string to be tested + The message to display in case of failure + + + + Assert that a string is not empty - that is not equal to string.Empty + + The string to be tested + + + + Assert that an array, list or other collection is not empty + + An array, list or other collection implementing ICollection + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Assert that an array, list or other collection is not empty + + An array, list or other collection implementing ICollection + The message to display in case of failure + + + + Assert that an array, list or other collection is not empty + + An array, list or other collection implementing ICollection + + + + Assert that a string is either null or equal to string.Empty + + The string to be tested + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Assert that a string is either null or equal to string.Empty + + The string to be tested + The message to display in case of failure + + + + Assert that a string is either null or equal to string.Empty + + The string to be tested + + + + Assert that a string is not null or empty + + The string to be tested + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Assert that a string is not null or empty + + The string to be tested + The message to display in case of failure + + + + Assert that a string is not null or empty + + The string to be tested + + + + Asserts that an object may be assigned a value of a given Type. + + The expected Type. + The object under examination + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object may be assigned a value of a given Type. + + The expected Type. + The object under examination + The message to display in case of failure + + + + Asserts that an object may be assigned a value of a given Type. + + The expected Type. + The object under examination + + + + Asserts that an object may be assigned a value of a given Type. + + The expected Type. + The object under examination + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object may be assigned a value of a given Type. + + The expected Type. + The object under examination + The message to display in case of failure + + + + Asserts that an object may be assigned a value of a given Type. + + The expected Type. + The object under examination + + + + Asserts that an object may not be assigned a value of a given Type. + + The expected Type. + The object under examination + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object may not be assigned a value of a given Type. + + The expected Type. + The object under examination + The message to display in case of failure + + + + Asserts that an object may not be assigned a value of a given Type. + + The expected Type. + The object under examination + + + + Asserts that an object may not be assigned a value of a given Type. + + The expected Type. + The object under examination + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object may not be assigned a value of a given Type. + + The expected Type. + The object under examination + The message to display in case of failure + + + + Asserts that an object may not be assigned a value of a given Type. + + The expected Type. + The object under examination + + + + Asserts that an object is an instance of a given type. + + The expected Type + The object being examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object is an instance of a given type. + + The expected Type + The object being examined + The message to display in case of failure + + + + Asserts that an object is an instance of a given type. + + The expected Type + The object being examined + + + + Asserts that an object is an instance of a given type. + + The expected Type + The object being examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object is an instance of a given type. + + The expected Type + The object being examined + The message to display in case of failure + + + + Asserts that an object is an instance of a given type. + + The expected Type + The object being examined + + + + Asserts that an object is an instance of a given type. + + The expected Type + The object being examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object is an instance of a given type. + + The expected Type + The object being examined + The message to display in case of failure + + + + Asserts that an object is an instance of a given type. + + The expected Type + The object being examined + + + + Asserts that an object is not an instance of a given type. + + The expected Type + The object being examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object is not an instance of a given type. + + The expected Type + The object being examined + The message to display in case of failure + + + + Asserts that an object is not an instance of a given type. + + The expected Type + The object being examined + + + + Asserts that an object is not an instance of a given type. + + The expected Type + The object being examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object is not an instance of a given type. + + The expected Type + The object being examined + The message to display in case of failure + + + + Asserts that an object is not an instance of a given type. + + The expected Type + The object being examined + + + + Asserts that an object is not an instance of a given type. + + The expected Type + The object being examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object is not an instance of a given type. + + The expected Type + The object being examined + The message to display in case of failure + + + + Asserts that an object is not an instance of a given type. + + The expected Type + The object being examined + + + + Verifies that two values are equal. If they are not, then an + is thrown. + + The expected value + The actual value + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that two values are equal. If they are not, then an + is thrown. + + The expected value + The actual value + The message to display in case of failure + + + + Verifies that two values are equal. If they are not, then an + is thrown. + + The expected value + The actual value + + + + Verifies that two values are equal. If they are not, then an + is thrown. + + The expected value + The actual value + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that two values are equal. If they are not, then an + is thrown. + + The expected value + The actual value + The message to display in case of failure + + + + Verifies that two values are equal. If they are not, then an + is thrown. + + The expected value + The actual value + + + + Verifies that two values are equal. If they are not, then an + is thrown. + + The expected value + The actual value + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that two values are equal. If they are not, then an + is thrown. + + The expected value + The actual value + The message to display in case of failure + + + + Verifies that two values are equal. If they are not, then an + is thrown. + + The expected value + The actual value + + + + Verifies that two values are equal. If they are not, then an + is thrown. + + The expected value + The actual value + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that two values are equal. If they are not, then an + is thrown. + + The expected value + The actual value + The message to display in case of failure + + + + Verifies that two values are equal. If they are not, then an + is thrown. + + The expected value + The actual value + + + + Verifies that two values are equal. If they are not, then an + is thrown. + + The expected value + The actual value + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that two values are equal. If they are not, then an + is thrown. + + The expected value + The actual value + The message to display in case of failure + + + + Verifies that two values are equal. If they are not, then an + is thrown. + + The expected value + The actual value + + + + Verifies that two doubles are equal considering a delta. If the + expected value is infinity then the delta value is ignored. If + they are not equal then an is + thrown. + + The expected value + The actual value + The maximum acceptable difference between the + the expected and the actual + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that two doubles are equal considering a delta. If the + expected value is infinity then the delta value is ignored. If + they are not equal then an is + thrown. + + The expected value + The actual value + The maximum acceptable difference between the + the expected and the actual + The message to display in case of failure + + + + Verifies that two doubles are equal considering a delta. If the + expected value is infinity then the delta value is ignored. If + they are not equal then an is + thrown. + + The expected value + The actual value + The maximum acceptable difference between the + the expected and the actual + + + + Verifies that two doubles are equal considering a delta. If the + expected value is infinity then the delta value is ignored. If + they are not equal then an is + thrown. + + The expected value + The actual value + The maximum acceptable difference between the + the expected and the actual + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that two doubles are equal considering a delta. If the + expected value is infinity then the delta value is ignored. If + they are not equal then an is + thrown. + + The expected value + The actual value + The maximum acceptable difference between the + the expected and the actual + The message to display in case of failure + + + + Verifies that two doubles are equal considering a delta. If the + expected value is infinity then the delta value is ignored. If + they are not equal then an is + thrown. + + The expected value + The actual value + The maximum acceptable difference between the + the expected and the actual + + + + Verifies that two objects are equal. Two objects are considered + equal if both are null, or if both have the same value. NUnit + has special semantics for some object types. + If they are not equal an is thrown. + + The value that is expected + The actual value + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that two objects are equal. Two objects are considered + equal if both are null, or if both have the same value. NUnit + has special semantics for some object types. + If they are not equal an is thrown. + + The value that is expected + The actual value + The message to display in case of failure + + + + Verifies that two objects are equal. Two objects are considered + equal if both are null, or if both have the same value. NUnit + has special semantics for some object types. + If they are not equal an is thrown. + + The value that is expected + The actual value + + + + Verifies that two values are not equal. If they are equal, then an + is thrown. + + The expected value + The actual value + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that two values are not equal. If they are equal, then an + is thrown. + + The expected value + The actual value + The message to display in case of failure + + + + Verifies that two values are not equal. If they are equal, then an + is thrown. + + The expected value + The actual value + + + + Verifies that two values are not equal. If they are equal, then an + is thrown. + + The expected value + The actual value + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that two values are not equal. If they are equal, then an + is thrown. + + The expected value + The actual value + The message to display in case of failure + + + + Verifies that two values are not equal. If they are equal, then an + is thrown. + + The expected value + The actual value + + + + Verifies that two values are not equal. If they are equal, then an + is thrown. + + The expected value + The actual value + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that two values are not equal. If they are equal, then an + is thrown. + + The expected value + The actual value + The message to display in case of failure + + + + Verifies that two values are not equal. If they are equal, then an + is thrown. + + The expected value + The actual value + + + + Verifies that two values are not equal. If they are equal, then an + is thrown. + + The expected value + The actual value + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that two values are not equal. If they are equal, then an + is thrown. + + The expected value + The actual value + The message to display in case of failure + + + + Verifies that two values are not equal. If they are equal, then an + is thrown. + + The expected value + The actual value + + + + Verifies that two values are not equal. If they are equal, then an + is thrown. + + The expected value + The actual value + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that two values are not equal. If they are equal, then an + is thrown. + + The expected value + The actual value + The message to display in case of failure + + + + Verifies that two values are not equal. If they are equal, then an + is thrown. + + The expected value + The actual value + + + + Verifies that two values are not equal. If they are equal, then an + is thrown. + + The expected value + The actual value + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that two values are not equal. If they are equal, then an + is thrown. + + The expected value + The actual value + The message to display in case of failure + + + + Verifies that two values are not equal. If they are equal, then an + is thrown. + + The expected value + The actual value + + + + Verifies that two values are not equal. If they are equal, then an + is thrown. + + The expected value + The actual value + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that two values are not equal. If they are equal, then an + is thrown. + + The expected value + The actual value + The message to display in case of failure + + + + Verifies that two values are not equal. If they are equal, then an + is thrown. + + The expected value + The actual value + + + + Verifies that two objects are not equal. Two objects are considered + equal if both are null, or if both have the same value. NUnit + has special semantics for some object types. + If they are equal an is thrown. + + The value that is expected + The actual value + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that two objects are not equal. Two objects are considered + equal if both are null, or if both have the same value. NUnit + has special semantics for some object types. + If they are equal an is thrown. + + The value that is expected + The actual value + The message to display in case of failure + + + + Verifies that two objects are not equal. Two objects are considered + equal if both are null, or if both have the same value. NUnit + has special semantics for some object types. + If they are equal an is thrown. + + The value that is expected + The actual value + + + + Asserts that two objects refer to the same object. If they + are not the same an is thrown. + + The expected object + The actual object + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that two objects refer to the same object. If they + are not the same an is thrown. + + The expected object + The actual object + The message to display in case of failure + + + + Asserts that two objects refer to the same object. If they + are not the same an is thrown. + + The expected object + The actual object + + + + Asserts that two objects do not refer to the same object. If they + are the same an is thrown. + + The expected object + The actual object + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that two objects do not refer to the same object. If they + are the same an is thrown. + + The expected object + The actual object + The message to display in case of failure + + + + Asserts that two objects do not refer to the same object. If they + are the same an is thrown. + + The expected object + The actual object + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is greater than or equal tothe second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than or equal tothe second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + + + + Verifies that the first value is greater than or equal tothe second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than or equal tothe second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than or equal tothe second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + + + + Verifies that the first value is greater than or equal tothe second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than or equal tothe second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than or equal tothe second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + + + + Verifies that the first value is greater than or equal tothe second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than or equal tothe second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than or equal tothe second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + + + + Verifies that the first value is greater than or equal tothe second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than or equal tothe second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than or equal tothe second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + + + + Verifies that the first value is greater than or equal tothe second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than or equal tothe second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than or equal tothe second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + + + + Verifies that the first value is greater than or equal tothe second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than or equal tothe second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than or equal tothe second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + + + + Verifies that the first value is greater than or equal tothe second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than or equal tothe second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than or equal tothe second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + + + + Verifies that the first value is greater than or equal tothe second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Asserts that an object is contained in a list. + + The expected object + The list to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object is contained in a list. + + The expected object + The list to be examined + The message to display in case of failure + + + + Asserts that an object is contained in a list. + + The expected object + The list to be examined + + + + Gets the number of assertions executed so far and + resets the counter to zero. + + + + + Static helper class used in the constraint-based syntax + + + + + Creates a new SubstringConstraint + + The value of the substring + A SubstringConstraint + + + + Creates a new CollectionContainsConstraint. + + The item that should be found. + A new CollectionContainsConstraint + + + + Attribute used to apply a category to a test + + + + + The name of the category + + + + + Construct attribute for a given category based on + a name. The name may not contain the characters ',', + '+', '-' or '!'. However, this is not checked in the + constructor since it would cause an error to arise at + as the test was loaded without giving a clear indication + of where the problem is located. The error is handled + in NUnitFramework.cs by marking the test as not + runnable. + + The name of the category + + + + Protected constructor uses the Type name as the name + of the category. + + + + + The name of the category + + + + + The TestStatus enum indicates the result of running a test + + + + + The test was inconclusive + + + + + The test has skipped + + + + + The test succeeded + + + + + The test failed + + + + + Provide the context information of the current test + + + + + The TestState of current test. This maps to the ResultState + used in nunit.core and is subject to change in the future. + + + + + The TestStatus of current test. This enum will be used + in future versions of NUnit and so is to be preferred + to the TestState value. + + + + + The name of the currently executing test. If no + test is running, the name of the last test run. + + + + + The properties of the currently executing test + or, if no test is running, of the last test run. + + + + + The ResultState enum indicates the result of running a test + + + + + The result is inconclusive + + + + + The test was not runnable. + + + + + The test has been skipped. + + + + + The test has been ignored. + + + + + The test succeeded + + + + + The test failed + + + + + The test encountered an unexpected exception + + + + + The test was cancelled by the user + + + + diff --git a/src/Spring/Spring.Aop/Aop/Config/AopNamespaceParser.cs b/src/Spring/Spring.Aop/Aop/Config/AopNamespaceParser.cs index ac3955d6..d75f05e7 100644 --- a/src/Spring/Spring.Aop/Aop/Config/AopNamespaceParser.cs +++ b/src/Spring/Spring.Aop/Aop/Config/AopNamespaceParser.cs @@ -18,7 +18,6 @@ #endregion -using System; using Spring.Objects.Factory.Xml; namespace Spring.Aop.Config diff --git a/src/Spring/Spring.Aop/Aop/Framework/AbstractMethodInvocation.cs b/src/Spring/Spring.Aop/Aop/Framework/AbstractMethodInvocation.cs index 213563c3..17bc760b 100644 --- a/src/Spring/Spring.Aop/Aop/Framework/AbstractMethodInvocation.cs +++ b/src/Spring/Spring.Aop/Aop/Framework/AbstractMethodInvocation.cs @@ -357,7 +357,7 @@ namespace Spring.Aop.Framework { StringBuilder buffer = new StringBuilder("Invocation: method '"); buffer.Append(Method.Name).Append("', ").Append("arguments "); - buffer.Append(this.arguments != null ? StringUtils.ArrayToCommaDelimitedString(this.arguments) : "[none]"); + buffer.Append(this.arguments != null ? StringUtils.CollectionToCommaDelimitedString(this.arguments) : "[none]"); buffer.Append("; "); if (this.target == null) { diff --git a/src/Spring/Spring.Aop/Aop/Framework/Adapter/AdvisorAdapterRegistrationManager.cs b/src/Spring/Spring.Aop/Aop/Framework/Adapter/AdvisorAdapterRegistrationManager.cs index 49c86fae..11469052 100644 --- a/src/Spring/Spring.Aop/Aop/Framework/Adapter/AdvisorAdapterRegistrationManager.cs +++ b/src/Spring/Spring.Aop/Aop/Framework/Adapter/AdvisorAdapterRegistrationManager.cs @@ -20,7 +20,6 @@ #region Imports -using System; using Spring.Objects.Factory.Config; #endregion diff --git a/src/Spring/Spring.Aop/Aop/Framework/Adapter/DefaultAdvisorAdapterRegistry.cs b/src/Spring/Spring.Aop/Aop/Framework/Adapter/DefaultAdvisorAdapterRegistry.cs index d5c2c7dc..396ff9c9 100644 --- a/src/Spring/Spring.Aop/Aop/Framework/Adapter/DefaultAdvisorAdapterRegistry.cs +++ b/src/Spring/Spring.Aop/Aop/Framework/Adapter/DefaultAdvisorAdapterRegistry.cs @@ -21,12 +21,10 @@ #region Imports using System; -using System.Collections; +using System.Collections.Generic; using AopAlliance.Aop; using AopAlliance.Intercept; - -using Spring.Aop; using Spring.Aop.Support; #endregion @@ -43,7 +41,7 @@ namespace Spring.Aop.Framework.Adapter [Serializable] public class DefaultAdvisorAdapterRegistry : IAdvisorAdapterRegistry { - private readonly IList adapters = new ArrayList(); + private readonly IList adapters = new List(); /// /// Creates a new instance of the diff --git a/src/Spring/Spring.Aop/Aop/Framework/Adapter/IAdvisorAdapter.cs b/src/Spring/Spring.Aop/Aop/Framework/Adapter/IAdvisorAdapter.cs index 71fe8484..8ac7f40a 100644 --- a/src/Spring/Spring.Aop/Aop/Framework/Adapter/IAdvisorAdapter.cs +++ b/src/Spring/Spring.Aop/Aop/Framework/Adapter/IAdvisorAdapter.cs @@ -20,7 +20,6 @@ #region Imports -using System; using AopAlliance.Aop; using AopAlliance.Intercept; diff --git a/src/Spring/Spring.Aop/Aop/Framework/Adapter/IAdvisorAdapterRegistry.cs b/src/Spring/Spring.Aop/Aop/Framework/Adapter/IAdvisorAdapterRegistry.cs index 1b571536..83549c50 100644 --- a/src/Spring/Spring.Aop/Aop/Framework/Adapter/IAdvisorAdapterRegistry.cs +++ b/src/Spring/Spring.Aop/Aop/Framework/Adapter/IAdvisorAdapterRegistry.cs @@ -20,7 +20,6 @@ #region Imports -using System; using AopAlliance.Intercept; #endregion diff --git a/src/Spring/Spring.Aop/Aop/Framework/AdvisedSupport.cs b/src/Spring/Spring.Aop/Aop/Framework/AdvisedSupport.cs index cc250005..d305f805 100644 --- a/src/Spring/Spring.Aop/Aop/Framework/AdvisedSupport.cs +++ b/src/Spring/Spring.Aop/Aop/Framework/AdvisedSupport.cs @@ -20,16 +20,16 @@ using System; using System.Collections; -using System.Collections.Specialized; +using System.Collections.Generic; using System.Reflection; using System.Text; + using AopAlliance.Aop; using AopAlliance.Intercept; -using Spring.Aop; + using Spring.Aop.Support; using Spring.Aop.Target; using Spring.Util; -using Spring.Proxy; namespace Spring.Aop.Framework { @@ -65,7 +65,7 @@ namespace Spring.Aop.Framework /// will be wrapped in an advice before being added to this list. ///

/// - private IList _advisors = new ArrayList(); + private List _advisors = new List(); /// /// Array updated on changes to the advisors list, which is easier to @@ -76,7 +76,7 @@ namespace Spring.Aop.Framework /// /// List of introductions. /// - private ArrayList _introductions = new ArrayList(); + private List _introductions = new List(); /// /// Interface map specifying which object should interface methods be @@ -88,7 +88,7 @@ namespace Spring.Aop.Framework /// to the target object. ///

/// - private readonly IDictionary interfaceMap = new ListDictionary(); + private readonly Dictionary interfaceMap = new Dictionary(); /// /// The for this instance. @@ -108,7 +108,7 @@ namespace Spring.Aop.Framework /// /// The list of event listeners. /// - private readonly IList listeners = new ArrayList(); + private readonly IList listeners = new List(); /// /// The advisor chain factory. @@ -274,7 +274,7 @@ namespace Spring.Aop.Framework for (int i = 0; i < this._introductions.Count; i++) { - IIntroductionAdvisor advisor = (IIntroductionAdvisor) this._introductions[i]; + IIntroductionAdvisor advisor = this._introductions[i]; canBeSerialized = advisor.GetType().IsSerializable && advisor.Advice.GetType().IsSerializable; if (!canBeSerialized) return false; @@ -294,7 +294,7 @@ namespace Spring.Aop.Framework /// to be (or that are being) proxied by this proxy. /// /// - public virtual Type[] Interfaces + public virtual IList Interfaces { get { @@ -318,12 +318,12 @@ namespace Spring.Aop.Framework /// /// Set interfaces to be proxied, bypassing locking and /// - protected void SetInterfacesInternal(Type[] value) + protected void SetInterfacesInternal(IList value) { this.interfaceMap.Clear(); if (value != null) { - for (int i = 0; i < value.Length; i++) + for (int i = 0; i < value.Count; i++) { AddInterfaceInternal(value[i]); } @@ -392,14 +392,9 @@ namespace Spring.Aop.Framework /// instances that have been applied to this proxy. /// /// - public virtual IAdvisor[] Advisors + public virtual IList Advisors { - get - { - { - return _advisorsArray; - } - } + get { return _advisorsArray; } } /// @@ -419,13 +414,13 @@ namespace Spring.Aop.Framework /// instances that have been applied to this proxy. /// /// - public virtual IIntroductionAdvisor[] Introductions + public virtual IList Introductions { get { lock (this.SyncRoot) { - return (IIntroductionAdvisor[])this._introductions.ToArray(typeof(IIntroductionAdvisor)); + return this._introductions; } } } @@ -680,7 +675,7 @@ namespace Spring.Aop.Framework "Introduction index " + index + " is out of bounds: Only have " + _introductions.Count + " introductions."); } - IIntroductionAdvisor advisor = (IIntroductionAdvisor)_introductions[index]; + IIntroductionAdvisor advisor = _introductions[index]; // remove all interfaces introduced by the advisor... foreach (Type intf in advisor.Interfaces) { @@ -830,8 +825,7 @@ namespace Spring.Aop.Framework int pos = this._introductions.Count; for (int i = 0; i < pos; i++) { - IIntroductionAdvisor introduction - = (IIntroductionAdvisor)this._introductions[i]; + IIntroductionAdvisor introduction = this._introductions[i]; if (introduction.Advice.GetType() == introductionType) { pos = i; @@ -1123,7 +1117,7 @@ namespace Spring.Aop.Framework DieIfFrozen("Cannot remove interface: configuration is frozen."); lock (this.SyncRoot) { - if (intf != null && this.interfaceMap.Contains(intf)) + if (intf != null && this.interfaceMap.ContainsKey(intf)) { this.interfaceMap.Remove(intf); InterfacesChanged(); @@ -1188,7 +1182,7 @@ namespace Spring.Aop.Framework { for (int i = 0; i < this._advisors.Count; ++i) { - IAdvisor advisor = (IAdvisor)this._advisors[i]; + IAdvisor advisor = this._advisors[i]; if (advisor.Advice == advice) { return i; @@ -1492,7 +1486,7 @@ namespace Spring.Aop.Framework /// protected internal virtual void CopyConfigurationFrom(AdvisedSupport other) { - CopyConfigurationFrom(other, other.TargetSource, new ArrayList(other.Advisors), new ArrayList(other.Introductions)); + CopyConfigurationFrom(other, other.TargetSource, new List(other.Advisors), new List(other.Introductions)); } /// @@ -1515,25 +1509,25 @@ namespace Spring.Aop.Framework /// the new target source /// the advisors for the chain /// the introductions for the chain - protected internal virtual void CopyConfigurationFrom(AdvisedSupport other, ITargetSource targetSource, IList advisors, IList introductions) + protected internal virtual void CopyConfigurationFrom(AdvisedSupport other, ITargetSource targetSource, IList advisors, IList introductions) { CopyFrom(other); this.AdvisorChainFactory = other.advisorChainFactory; this.m_targetSource = targetSource; // this.cachedProxyType = other.cachedProxyType; // this.cachedProxyConstructor = other.cachedProxyConstructor; - this.Interfaces = (Type[]) CollectionUtils.ToArray(other.Interfaces, typeof(Type)); + this.Interfaces = new List(other.Interfaces); foreach (Type intf in other.interfaceMap.Keys) { this.interfaceMap[intf] = other.interfaceMap[intf]; } - this._advisors = new ArrayList(); + this._advisors = new List(); foreach (IAdvisor advisor in advisors) { AssertUtils.ArgumentNotNull(advisor, "Advisor must not be null"); AddAdvisor(advisor); } - this._introductions = new ArrayList(); + this._introductions = new List(); foreach (IIntroductionAdvisor advisor in introductions) { // TODO (EE): implement @@ -1575,7 +1569,7 @@ namespace Spring.Aop.Framework foreach (Type intf in this.interfaceMap.Keys) { buffer.Append(separator).Append("[").Append(intf.FullName).Append("] -> "); - IIntroductionAdvisor advisor = this.interfaceMap[intf] as IIntroductionAdvisor; + IIntroductionAdvisor advisor = this.interfaceMap[intf]; if (advisor == null) { if (TargetSource.TargetType != null) diff --git a/src/Spring/Spring.Aop/Aop/Framework/AdvisorChainFactoryUtils.cs b/src/Spring/Spring.Aop/Aop/Framework/AdvisorChainFactoryUtils.cs index f9201428..d4ebd34e 100644 --- a/src/Spring/Spring.Aop/Aop/Framework/AdvisorChainFactoryUtils.cs +++ b/src/Spring/Spring.Aop/Aop/Framework/AdvisorChainFactoryUtils.cs @@ -21,9 +21,11 @@ #region Imports using System; -using System.Collections; +using System.Collections.Generic; using System.Reflection; + using AopAlliance.Intercept; + using Spring.Aop.Framework.Adapter; #endregion @@ -62,10 +64,10 @@ namespace Spring.Aop.Framework /// (if there's /// a dynamic method matcher that needs evaluation at runtime). /// - public static IList CalculateInterceptors( + public static IList CalculateInterceptors( IAdvised config, object proxy, MethodInfo method, Type targetType) { - IList interceptors = new ArrayList(config.Advisors.Length); + IList interceptors = new List(config.Advisors.Count); foreach (IAdvisor advisor in config.Advisors) { if (advisor is IPointcutAdvisor) diff --git a/src/Spring/Spring.Aop/Aop/Framework/AopContext.cs b/src/Spring/Spring.Aop/Aop/Framework/AopContext.cs index 1d058fae..5954a361 100644 --- a/src/Spring/Spring.Aop/Aop/Framework/AopContext.cs +++ b/src/Spring/Spring.Aop/Aop/Framework/AopContext.cs @@ -22,7 +22,6 @@ using System; using System.Collections; -using Spring.Threading; #endregion diff --git a/src/Spring/Spring.Aop/Aop/Framework/AopUtils.cs b/src/Spring/Spring.Aop/Aop/Framework/AopUtils.cs index 6a489af0..4242b401 100644 --- a/src/Spring/Spring.Aop/Aop/Framework/AopUtils.cs +++ b/src/Spring/Spring.Aop/Aop/Framework/AopUtils.cs @@ -21,8 +21,8 @@ #region Imports using System; -using System.Collections; using System.Reflection; + using Spring.Collections; using Spring.Util; diff --git a/src/Spring/Spring.Aop/Aop/Framework/AutoProxy/AbstractAdvisorAutoProxyCreator.cs b/src/Spring/Spring.Aop/Aop/Framework/AutoProxy/AbstractAdvisorAutoProxyCreator.cs index a937aabc..6144760e 100644 --- a/src/Spring/Spring.Aop/Aop/Framework/AutoProxy/AbstractAdvisorAutoProxyCreator.cs +++ b/src/Spring/Spring.Aop/Aop/Framework/AutoProxy/AbstractAdvisorAutoProxyCreator.cs @@ -22,12 +22,14 @@ using System; using System.Collections; +using System.Collections.Generic; using Common.Logging; -using Spring.Aop.Framework.DynamicProxy; + using Spring.Core; using Spring.Objects.Factory; using Spring.Objects.Factory.Config; using Spring.Util; +using System.Linq; #endregion @@ -124,20 +126,20 @@ namespace Spring.Aop.Framework.AutoProxy /// the type of the target object /// the name of the target object /// targetSource returned by TargetSource property: - /// may be ignored. Will be null unless a custom target source is in use. + /// may be ignored. Will be null unless a custom target source is in use. /// /// an array of additional interceptors for the particular object; /// or an empty array if no additional interceptors but just the common ones; /// or null if no proxy at all, not even with the common interceptors. /// - protected override object[] GetAdvicesAndAdvisorsForObject(Type targetType, string targetName, ITargetSource customTargetSource) + protected override IList GetAdvicesAndAdvisorsForObject(Type targetType, string targetName, ITargetSource customTargetSource) { - IList advisors = FindEligibleAdvisors(targetType, targetName); + IList advisors = FindEligibleAdvisors(targetType, targetName); if (advisors.Count == 0) { return DO_NOT_PROXY; } - return (object[]) CollectionUtils.ToArray(advisors, typeof (object)); + return advisors.Cast().ToArray(); } /// @@ -149,10 +151,10 @@ namespace Spring.Aop.Framework.AutoProxy /// the empty list, not null, if there are no pointcuts or interceptors. /// The by-order sorted list of advisors otherwise /// - protected IList FindEligibleAdvisors(Type targetType, string targetName) + protected IList FindEligibleAdvisors(Type targetType, string targetName) { - IList candidateAdvisors = FindCandidateAdvisors(targetType, targetName); - IList eligibleAdvisors = FindAdvisorsThatCanApply(candidateAdvisors, targetType, targetName); + IList candidateAdvisors = FindCandidateAdvisors(targetType, targetName); + IList eligibleAdvisors = FindAdvisorsThatCanApply(candidateAdvisors, targetType, targetName); ExtendAdvisors(eligibleAdvisors, targetType, targetName); eligibleAdvisors = SortAdvisors(eligibleAdvisors); @@ -166,7 +168,7 @@ namespace Spring.Aop.Framework.AutoProxy /// the type of the object to be advised /// the name of the object to be advised /// the list of candidate advisors - protected virtual IList FindCandidateAdvisors(Type targetType, string targetName) + protected virtual IList FindCandidateAdvisors(Type targetType, string targetName) { return _advisorRetrievalHelper.FindAdvisorObjects(targetType, targetName); } @@ -179,14 +181,14 @@ namespace Spring.Aop.Framework.AutoProxy /// the target object's type /// the target object's name /// the list of applicable advisors - protected virtual IList FindAdvisorsThatCanApply(IList candidateAdvisors, Type targetType, string targetName) + protected virtual IList FindAdvisorsThatCanApply(IList candidateAdvisors, Type targetType, string targetName) { if (candidateAdvisors.Count==0) { return candidateAdvisors; } - ArrayList eligibleAdvisors = new ArrayList(); + List eligibleAdvisors = new List(); foreach(IAdvisor candidate in candidateAdvisors) { if (candidate is IIntroductionAdvisor && AopUtils.CanApply(candidate, targetType, null)) @@ -229,14 +231,16 @@ namespace Spring.Aop.Framework.AutoProxy /// /// The advisors. /// - protected virtual IList SortAdvisors(IList advisors) + protected virtual IList SortAdvisors(IList advisors) { if (advisors.Count==0) { return advisors; - } + } - if (advisors is ArrayList) + if (advisors is List) + ((List)advisors).Sort(new OrderComparator()); + else if (advisors is ArrayList) ((ArrayList) advisors).Sort(new OrderComparator()); else if (advisors is Array) Array.Sort((Array) advisors, new OrderComparator()); @@ -256,7 +260,7 @@ namespace Spring.Aop.Framework.AutoProxy /// Advisors that have already been identified as applying to a given object /// the type of the object to be advised /// the name of the object to be advised - protected virtual void ExtendAdvisors(IList advisors, Type objectType, string objectName) + protected virtual void ExtendAdvisors(IList advisors, Type objectType, string objectName) {} /// diff --git a/src/Spring/Spring.Aop/Aop/Framework/AutoProxy/AbstractAutoProxyCreator.cs b/src/Spring/Spring.Aop/Aop/Framework/AutoProxy/AbstractAutoProxyCreator.cs index 29c653b1..4e45a493 100644 --- a/src/Spring/Spring.Aop/Aop/Framework/AutoProxy/AbstractAutoProxyCreator.cs +++ b/src/Spring/Spring.Aop/Aop/Framework/AutoProxy/AbstractAutoProxyCreator.cs @@ -20,10 +20,15 @@ using System; using System.Collections; +using System.Collections.Generic; +using System.Linq; using System.Reflection; using System.Runtime.Remoting; + using AopAlliance.Aop; + using Common.Logging; + using Spring.Aop.Framework.Adapter; using Spring.Aop.Target; using Spring.Collections; @@ -31,7 +36,6 @@ using Spring.Core; using Spring.Objects; using Spring.Objects.Factory; using Spring.Objects.Factory.Config; -using Spring.Util; namespace Spring.Aop.Framework.AutoProxy { @@ -79,13 +83,13 @@ namespace Spring.Aop.Framework.AutoProxy /// /// Convenience constant for subclasses: Return value for "do not proxy". /// - protected static readonly object[] DO_NOT_PROXY = null; + protected static readonly IList DO_NOT_PROXY = null; /// /// Convenience constant for subclasses: Return value for /// "proxy without additional interceptors, just the common ones". /// - protected static readonly object[] PROXY_WITHOUT_ADDITIONAL_INTERCEPTORS = new object[0]; + protected static readonly IList PROXY_WITHOUT_ADDITIONAL_INTERCEPTORS = new List(0); #endregion @@ -283,8 +287,7 @@ namespace Spring.Aop.Framework.AutoProxy } //ITargetSource targetSource = GetCustomTargetSource(obj.GetType(), objectName); - object[] specificInterceptors; - specificInterceptors = GetAdvicesAndAdvisorsForObject(objectType, objectName, null); + IList specificInterceptors = GetAdvicesAndAdvisorsForObject(objectType, objectName, null); // proxy if we have advice or if a TargetSourceCreator wants to do some @@ -455,11 +458,11 @@ namespace Spring.Aop.Framework.AutoProxy /// the new object instance /// the name of the object /// targetSource returned by TargetSource property: - /// may be ignored. Will be null unless a custom target source is in use. + /// may be ignored. Will be null unless a custom target source is in use. /// an array of additional interceptors for the particular object; /// or an empty array if no additional interceptors but just the common ones; /// or null if no proxy at all, not even with the common interceptors. - protected abstract object[] GetAdvicesAndAdvisorsForObject(Type targetType, string targetName, ITargetSource customTargetSource); + protected abstract IList GetAdvicesAndAdvisorsForObject(Type targetType, string targetName, ITargetSource customTargetSource); /// /// Create an AOP proxy for the given object. @@ -467,10 +470,10 @@ namespace Spring.Aop.Framework.AutoProxy /// Type of the object. /// The name of the object. /// The set of interceptors that is specific to this - /// object (may be empty but not null) + /// object (may be empty but not null) /// The target source for the proxy, already pre-configured to access the object. /// The AOP Proxy for the object. - protected virtual object CreateProxy(Type targetType, string targetName, object[] specificInterceptors, ITargetSource targetSource) + protected virtual object CreateProxy(Type targetType, string targetName, IList specificInterceptors, ITargetSource targetSource) { ProxyFactory proxyFactory = CreateProxyFactory(); // copy our properties (proxyTargetClass) inherited from ProxyConfig @@ -491,7 +494,7 @@ namespace Spring.Aop.Framework.AutoProxy } - IAdvisor[] advisors = BuildAdvisors(targetName, specificInterceptors); + IList advisors = BuildAdvisors(targetName, specificInterceptors); foreach (IAdvisor advisor in advisors) { @@ -526,14 +529,14 @@ namespace Spring.Aop.Framework.AutoProxy /// /// The name of the object. /// The set of interceptors that is specific to this - /// object (may be empty, but not null) + /// object (may be empty, but not null) /// The list of Advisors for the given object - protected virtual IAdvisor[] BuildAdvisors(string targetName, object[] specificInterceptors) + protected virtual IList BuildAdvisors(string targetName, IList specificInterceptors) { // handle prototypes correctly - IAdvisor[] commonInterceptors = ResolveInterceptorNames(); + IList commonInterceptors = ResolveInterceptorNames(); - ArrayList allInterceptors = new ArrayList(); + List allInterceptors = new List(); if (specificInterceptors != null) { allInterceptors.AddRange(specificInterceptors); @@ -541,26 +544,26 @@ namespace Spring.Aop.Framework.AutoProxy { if (applyCommonInterceptorsFirst) { - allInterceptors.InsertRange(0, commonInterceptors); + allInterceptors.InsertRange(0, commonInterceptors.Cast()); } else { - allInterceptors.AddRange(commonInterceptors); + allInterceptors.AddRange(commonInterceptors.Cast()); } } } if (logger.IsInfoEnabled) { - int nrOfCommonInterceptors = commonInterceptors != null ? commonInterceptors.Length : 0; - int nrOfSpecificInterceptors = specificInterceptors != null ? specificInterceptors.Length : 0; + int nrOfCommonInterceptors = commonInterceptors != null ? commonInterceptors.Count : 0; + int nrOfSpecificInterceptors = specificInterceptors != null ? specificInterceptors.Count : 0; logger.Info(string.Format("Creating implicit proxy for object '{0}' with {1} common interceptors and {2} specific interceptors", targetName, nrOfCommonInterceptors, nrOfSpecificInterceptors)); } - IAdvisor[] advisors = new IAdvisor[allInterceptors.Count]; + List advisors = new List(allInterceptors.Count); for (int i = 0; i < allInterceptors.Count; i++) { - advisors[i] = advisorAdapterRegistry.Wrap(allInterceptors[i]); + advisors.Add(advisorAdapterRegistry.Wrap(allInterceptors[i])); } return advisors; } @@ -581,9 +584,9 @@ namespace Spring.Aop.Framework.AutoProxy #region Private Methods - private IAdvisor[] ResolveInterceptorNames() + private IList ResolveInterceptorNames() { - ArrayList advisors = new ArrayList(); + List advisors = new List(); foreach (string name in interceptorNames) { object next = owningObjectFactory.GetObject(name); @@ -596,7 +599,7 @@ namespace Spring.Aop.Framework.AutoProxy advisors.Add(advisorAdapterRegistry.Wrap(next)); } } - return (IAdvisor[])advisors.ToArray(typeof(IAdvisor)); + return advisors; } #endregion @@ -656,7 +659,7 @@ namespace Spring.Aop.Framework.AutoProxy if (targetSource != null) { targetSourcedObjects.Add(objectName); - object[] specificInterceptors = GetAdvicesAndAdvisorsForObject(objectType, objectName, targetSource); + IList specificInterceptors = GetAdvicesAndAdvisorsForObject(objectType, objectName, targetSource); return CreateProxy(objectType, objectName, specificInterceptors, targetSource); } return null; @@ -684,8 +687,7 @@ namespace Spring.Aop.Framework.AutoProxy /// been set. /// Name of the object. /// The passed in PropertyValues - public IPropertyValues PostProcessPropertyValues(IPropertyValues pvs, PropertyInfo[] pis, object objectInstance, - string objectName) + public IPropertyValues PostProcessPropertyValues(IPropertyValues pvs, IList pis, object objectInstance, string objectName) { return pvs; } diff --git a/src/Spring/Spring.Aop/Aop/Framework/AutoProxy/AbstractFilteringAutoProxyCreator.cs b/src/Spring/Spring.Aop/Aop/Framework/AutoProxy/AbstractFilteringAutoProxyCreator.cs index 57833631..5c95302d 100644 --- a/src/Spring/Spring.Aop/Aop/Framework/AutoProxy/AbstractFilteringAutoProxyCreator.cs +++ b/src/Spring/Spring.Aop/Aop/Framework/AutoProxy/AbstractFilteringAutoProxyCreator.cs @@ -21,9 +21,7 @@ #region Imports using System; -using System.Collections; -using Spring.Objects.Factory; -using Spring.Util; +using System.Collections.Generic; #endregion @@ -61,7 +59,7 @@ namespace Spring.Aop.Framework.AutoProxy /// Always to indicate, that the object shall be proxied. /// /// - protected override object[] GetAdvicesAndAdvisorsForObject( Type targetType, string targetName, ITargetSource customTargetSource ) + protected override IList GetAdvicesAndAdvisorsForObject(Type targetType, string targetName, ITargetSource customTargetSource) { return PROXY_WITHOUT_ADDITIONAL_INTERCEPTORS; } diff --git a/src/Spring/Spring.Aop/Aop/Framework/AutoProxy/AttributeAutoProxyCreator.cs b/src/Spring/Spring.Aop/Aop/Framework/AutoProxy/AttributeAutoProxyCreator.cs index 5a2600fc..8764be79 100644 --- a/src/Spring/Spring.Aop/Aop/Framework/AutoProxy/AttributeAutoProxyCreator.cs +++ b/src/Spring/Spring.Aop/Aop/Framework/AutoProxy/AttributeAutoProxyCreator.cs @@ -21,8 +21,7 @@ #region Imports using System; -using System.Collections; -using Spring.Aop.Support; + using Spring.Util; #endregion diff --git a/src/Spring/Spring.Aop/Aop/Framework/AutoProxy/DefaultAdvisorAutoProxyCreator.cs b/src/Spring/Spring.Aop/Aop/Framework/AutoProxy/DefaultAdvisorAutoProxyCreator.cs index 1b441e15..5217ef44 100644 --- a/src/Spring/Spring.Aop/Aop/Framework/AutoProxy/DefaultAdvisorAutoProxyCreator.cs +++ b/src/Spring/Spring.Aop/Aop/Framework/AutoProxy/DefaultAdvisorAutoProxyCreator.cs @@ -22,7 +22,7 @@ using System; using System.Collections; -using Spring.Context; +using System.Collections.Generic; using Spring.Objects.Factory; #endregion @@ -45,7 +45,7 @@ namespace Spring.Aop.Framework.AutoProxy public static readonly string SEPARATOR = "."; private bool usePrefix; private string advisorObjectNamePrefix; - private IList cachedAdvisors; + private IList cachedAdvisors; #region Properties @@ -108,7 +108,7 @@ namespace Spring.Aop.Framework.AutoProxy /// the type of the object to be advised /// the name of the object to be advised /// the list of candidate advisors - protected override IList FindCandidateAdvisors(Type targetType, string targetName) + protected override IList FindCandidateAdvisors(Type targetType, string targetName) { if (cachedAdvisors == null) { cachedAdvisors = base.FindCandidateAdvisors(targetType, targetName); diff --git a/src/Spring/Spring.Aop/Aop/Framework/AutoProxy/IAdvisorRetrievalHelper.cs b/src/Spring/Spring.Aop/Aop/Framework/AutoProxy/IAdvisorRetrievalHelper.cs index 681b82a7..bcaa8451 100644 --- a/src/Spring/Spring.Aop/Aop/Framework/AutoProxy/IAdvisorRetrievalHelper.cs +++ b/src/Spring/Spring.Aop/Aop/Framework/AutoProxy/IAdvisorRetrievalHelper.cs @@ -1,5 +1,6 @@ using System; using System.Collections; +using System.Collections.Generic; namespace Spring.Aop.Framework.AutoProxy { @@ -13,6 +14,6 @@ namespace Spring.Aop.Framework.AutoProxy /// /// Get the list of advisor objects to apply on the target. /// - IList FindAdvisorObjects(Type targetType, string targetName); + IList FindAdvisorObjects(Type targetType, string targetName); } } \ No newline at end of file diff --git a/src/Spring/Spring.Aop/Aop/Framework/AutoProxy/InheritanceBasedAopConfigurer.cs b/src/Spring/Spring.Aop/Aop/Framework/AutoProxy/InheritanceBasedAopConfigurer.cs index 02c40933..3269320b 100644 --- a/src/Spring/Spring.Aop/Aop/Framework/AutoProxy/InheritanceBasedAopConfigurer.cs +++ b/src/Spring/Spring.Aop/Aop/Framework/AutoProxy/InheritanceBasedAopConfigurer.cs @@ -22,14 +22,14 @@ using System; using System.Collections; +using System.Collections.Generic; using AopAlliance.Aop; + using Spring.Util; using Spring.Objects.Factory; using Spring.Objects.Factory.Config; using Spring.Objects.Factory.Support; -using Spring.Aop; -using Spring.Aop.Framework; using Spring.Aop.Framework.Adapter; using Spring.Aop.Framework.DynamicProxy; using Spring.Core; @@ -176,8 +176,8 @@ namespace Spring.Aop.Framework.AutoProxy /// public void PostProcessObjectFactory(IConfigurableListableObjectFactory factory) { - string[] objectDefinitionNames = factory.GetObjectDefinitionNames(); - for (int i = 0; i < objectDefinitionNames.Length; ++i) + IList objectDefinitionNames = factory.GetObjectDefinitionNames(); + for (int i = 0; i < objectDefinitionNames.Count; ++i) { string name = objectDefinitionNames[i]; if (IsObjectNameMatch(name)) @@ -260,7 +260,7 @@ namespace Spring.Aop.Framework.AutoProxy proxyFactory.Interfaces = Type.EmptyTypes; } - IAdvisor[] advisors = ResolveInterceptorNames(); + IList advisors = ResolveInterceptorNames(); foreach (IAdvisor advisor in advisors) { if (advisor is IIntroductionAdvisor) @@ -307,9 +307,9 @@ namespace Spring.Aop.Framework.AutoProxy #region Private Methods - private IAdvisor[] ResolveInterceptorNames() + private IList ResolveInterceptorNames() { - ArrayList advisors = new ArrayList(); + List advisors = new List(); foreach (string name in interceptorNames) { object next = objectFactory.GetObject(name); @@ -322,7 +322,7 @@ namespace Spring.Aop.Framework.AutoProxy advisors.Add(advisorAdapterRegistry.Wrap(next)); } } - return (IAdvisor[])advisors.ToArray(typeof(IAdvisor)); + return advisors; } #endregion diff --git a/src/Spring/Spring.Aop/Aop/Framework/AutoProxy/ObjectFactoryAdvisorRetrievalHelper.cs b/src/Spring/Spring.Aop/Aop/Framework/AutoProxy/ObjectFactoryAdvisorRetrievalHelper.cs index 4a0d7141..71196265 100644 --- a/src/Spring/Spring.Aop/Aop/Framework/AutoProxy/ObjectFactoryAdvisorRetrievalHelper.cs +++ b/src/Spring/Spring.Aop/Aop/Framework/AutoProxy/ObjectFactoryAdvisorRetrievalHelper.cs @@ -1,25 +1,26 @@ #region License -/* - * Copyright 2002-2010 the original author or authors. - * - * 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. +/* + * Copyright 2002-2010 the original author or authors. + * + * 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. */ #endregion using System; -using System.Collections; +using System.Collections.Generic; + using Common.Logging; using Spring.Objects.Factory; using Spring.Objects.Factory.Config; @@ -36,7 +37,7 @@ namespace Spring.Aop.Framework.AutoProxy { private readonly ILog _log; private readonly IConfigurableListableObjectFactory _objectFactory; - private string[] _cachedObjectNames; + private List _cachedObjectNames; /// /// The object factory to lookup advisors from @@ -62,18 +63,18 @@ namespace Spring.Aop.Framework.AutoProxy /// the type of the object to be advised /// the name of the object to be advised /// A list of eligible instances - public virtual IList FindAdvisorObjects(Type targetType, string targetName) + public virtual IList FindAdvisorObjects(Type targetType, string targetName) { - string[] advisorNames = GetAdvisorCandidateNames(targetType, targetName); + IList advisorNames = GetAdvisorCandidateNames(targetType, targetName); - ArrayList advisors = new ArrayList(); + List advisors = new List(); - if (advisorNames.Length == 0) + if (advisorNames.Count == 0) { return advisors; } - for (int i = 0; i < advisorNames.Length; i++) + for (int i = 0; i < advisorNames.Count; i++) { string name = advisorNames[i]; if (IsEligibleObject(name, targetType, targetName) && !_objectFactory.IsCurrentlyInCreation(name)) @@ -111,12 +112,12 @@ namespace Spring.Aop.Framework.AutoProxy /// /// the advisor list /// the object name of the advisor to add - private void AddAdvisorCandidate(ArrayList advisors, string advisorName) + private void AddAdvisorCandidate(List advisors, string advisorName) { object advisorCandidate = _objectFactory.GetObject(advisorName); if (advisorCandidate is IAdvisor) { - advisors.Add(advisorCandidate); + advisors.Add((IAdvisor) advisorCandidate); } else if (advisorCandidate is IAdvisors) { @@ -135,7 +136,7 @@ namespace Spring.Aop.Framework.AutoProxy /// the type of the object to be advised /// the name of the object to be advised /// a non-null string array of advisor candidate names - protected virtual string[] GetAdvisorCandidateNames(Type targetType, string targetName) + protected virtual IList GetAdvisorCandidateNames(Type targetType, string targetName) { if (_cachedObjectNames == null) { @@ -143,12 +144,12 @@ namespace Spring.Aop.Framework.AutoProxy { if (_cachedObjectNames == null) { - ArrayList candidateNameList = new ArrayList(); - string[] advisorCandidateNames = ObjectFactoryUtils.ObjectNamesForTypeIncludingAncestors( _objectFactory, typeof(IAdvisor), true, false); + List candidateNameList = new List(); + IList advisorCandidateNames = ObjectFactoryUtils.ObjectNamesForTypeIncludingAncestors( _objectFactory, typeof(IAdvisor), true, false); candidateNameList.AddRange(advisorCandidateNames); - string[] advisorsCandidateNames = ObjectFactoryUtils.ObjectNamesForTypeIncludingAncestors(_objectFactory, typeof(IAdvisors), true, false); + IList advisorsCandidateNames = ObjectFactoryUtils.ObjectNamesForTypeIncludingAncestors(_objectFactory, typeof(IAdvisors), true, false); candidateNameList.AddRange(advisorsCandidateNames); - _cachedObjectNames = (string[]) candidateNameList.ToArray(typeof(string)); + _cachedObjectNames = candidateNameList; } } } @@ -162,7 +163,7 @@ namespace Spring.Aop.Framework.AutoProxy /// /// the name of the candidate advisor /// the type of the object to be advised - /// the name of the object to be advised + /// the name of the object to be advised protected virtual bool IsEligibleObject(string advisorName, Type objectType, string objectName ) { bool containsObjectDefinition = this.ObjectFactory.ContainsObjectDefinition(advisorName); diff --git a/src/Spring/Spring.Aop/Aop/Framework/AutoProxy/PointcutFilteringAutoProxyCreator.cs b/src/Spring/Spring.Aop/Aop/Framework/AutoProxy/PointcutFilteringAutoProxyCreator.cs index cfdb53f6..5d7ea845 100644 --- a/src/Spring/Spring.Aop/Aop/Framework/AutoProxy/PointcutFilteringAutoProxyCreator.cs +++ b/src/Spring/Spring.Aop/Aop/Framework/AutoProxy/PointcutFilteringAutoProxyCreator.cs @@ -21,8 +21,7 @@ #region Imports using System; -using System.Collections; -using Spring.Objects.Factory; + using Spring.Util; #endregion diff --git a/src/Spring/Spring.Aop/Aop/Framework/DynamicProxy/AbstractAopProxyFactory.cs b/src/Spring/Spring.Aop/Aop/Framework/DynamicProxy/AbstractAopProxyFactory.cs index 8ff91c56..9d0d95fa 100644 --- a/src/Spring/Spring.Aop/Aop/Framework/DynamicProxy/AbstractAopProxyFactory.cs +++ b/src/Spring/Spring.Aop/Aop/Framework/DynamicProxy/AbstractAopProxyFactory.cs @@ -1,5 +1,6 @@ using System; -using System.Collections; +using System.Collections.Generic; + using Spring.Aop.Support; using Spring.Aop.Target; @@ -30,7 +31,7 @@ namespace Spring.Aop.Framework.DynamicProxy { throw new AopConfigException("Cannot create IAopProxy with null ProxyConfig"); } - if (advisedSupport.Advisors.Length == 0 && advisedSupport.TargetSource == EmptyTargetSource.Empty) + if (advisedSupport.Advisors.Count == 0 && advisedSupport.TargetSource == EmptyTargetSource.Empty) { throw new AopConfigException("Cannot create IAopProxy with no advisors and no target source"); } @@ -57,14 +58,14 @@ namespace Spring.Aop.Framework.DynamicProxy { IAdvised innerProxy = (IAdvised)advisedSupport.TargetSource.GetTarget(); // eliminate duplicate advisors - ArrayList thisAdvisors = new ArrayList(advisedSupport.Advisors); + List thisAdvisors = new List(advisedSupport.Advisors); foreach (IAdvisor innerAdvisor in innerProxy.Advisors) { foreach (IAdvisor thisAdvisor in thisAdvisors) { if (ReferenceEquals(thisAdvisor, innerAdvisor) || (thisAdvisor.GetType() == typeof(DefaultPointcutAdvisor) - && ((DefaultPointcutAdvisor)thisAdvisor).Equals(innerAdvisor) + && thisAdvisor.Equals(innerAdvisor) ) ) { diff --git a/src/Spring/Spring.Aop/Aop/Framework/DynamicProxy/AdvisedProxy.cs b/src/Spring/Spring.Aop/Aop/Framework/DynamicProxy/AdvisedProxy.cs index 30b4267b..7427af85 100644 --- a/src/Spring/Spring.Aop/Aop/Framework/DynamicProxy/AdvisedProxy.cs +++ b/src/Spring/Spring.Aop/Aop/Framework/DynamicProxy/AdvisedProxy.cs @@ -20,6 +20,8 @@ using System; using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; using System.Collections.Specialized; using System.Reflection; using System.Runtime.Serialization; @@ -47,7 +49,7 @@ namespace Spring.Aop.Framework.DynamicProxy /// /// Optimization fields /// - private static IList EmptyList = ArrayList.ReadOnly(new ArrayList()); + private static IList EmptyList = new ReadOnlyCollection(new object[0]); /// /// IAdvised delegate @@ -163,8 +165,8 @@ namespace Spring.Aop.Framework.DynamicProxy this.m_targetType = advised.TargetSource.TargetType; // initialize introduction advice - this.m_introductions = new IAdvice[advised.Introductions.Length]; - for (int i = 0; i < advised.Introductions.Length; i++) + this.m_introductions = new IAdvice[advised.Introductions.Count]; + for (int i = 0; i < advised.Introductions.Count; i++) { this.m_introductions[i] = advised.Introductions[i].Advice; @@ -214,9 +216,9 @@ namespace Spring.Aop.Framework.DynamicProxy /// target type /// target method /// list of inteceptors for the specified method - public IList GetInterceptors(Type targetType, MethodInfo method) + public IList GetInterceptors(Type targetType, MethodInfo method) { - if (m_advised.Advisors.Length == 0) + if (m_advised.Advisors.Count == 0) { return EmptyList; } @@ -250,17 +252,17 @@ namespace Spring.Aop.Framework.DynamicProxy get { return m_advised.ProxyTargetAttributes; } } - IAdvisor[] IAdvised.Advisors + IList IAdvised.Advisors { get { return m_advised.Advisors; } } - IIntroductionAdvisor[] IAdvised.Introductions + IList IAdvised.Introductions { get { return m_advised.Introductions; } } - Type[] IAdvised.Interfaces + IList IAdvised.Interfaces { get { return m_advised.Interfaces; } } diff --git a/src/Spring/Spring.Aop/Aop/Framework/DynamicProxy/BaseAopProxyMethodBuilder.cs b/src/Spring/Spring.Aop/Aop/Framework/DynamicProxy/BaseAopProxyMethodBuilder.cs index 8a7ed927..42d3638d 100644 --- a/src/Spring/Spring.Aop/Aop/Framework/DynamicProxy/BaseAopProxyMethodBuilder.cs +++ b/src/Spring/Spring.Aop/Aop/Framework/DynamicProxy/BaseAopProxyMethodBuilder.cs @@ -20,7 +20,6 @@ #region Imports -using System; using System.Collections; using System.Reflection; using System.Reflection.Emit; diff --git a/src/Spring/Spring.Aop/Aop/Framework/DynamicProxy/BaseCompositionAopProxy.cs b/src/Spring/Spring.Aop/Aop/Framework/DynamicProxy/BaseCompositionAopProxy.cs index c71f6bda..bee8ffdb 100644 --- a/src/Spring/Spring.Aop/Aop/Framework/DynamicProxy/BaseCompositionAopProxy.cs +++ b/src/Spring/Spring.Aop/Aop/Framework/DynamicProxy/BaseCompositionAopProxy.cs @@ -22,7 +22,6 @@ using System; using System.Runtime.Serialization; -using System.Security.Permissions; #endregion diff --git a/src/Spring/Spring.Aop/Aop/Framework/DynamicProxy/CachedAopProxyFactory.cs b/src/Spring/Spring.Aop/Aop/Framework/DynamicProxy/CachedAopProxyFactory.cs index 1cb41710..79ab6917 100644 --- a/src/Spring/Spring.Aop/Aop/Framework/DynamicProxy/CachedAopProxyFactory.cs +++ b/src/Spring/Spring.Aop/Aop/Framework/DynamicProxy/CachedAopProxyFactory.cs @@ -21,6 +21,7 @@ #region Imports using System; +using System.Collections.Generic; using System.Text; using System.Collections; @@ -123,27 +124,27 @@ namespace Spring.Aop.Framework.DynamicProxy /// private sealed class ProxyTypeCacheKey { - private sealed class HashCodeComparer : IComparer + private sealed class HashCodeComparer : IComparer { - public int Compare(object x, object y) + public int Compare(Type x, Type y) { return x.GetHashCode().CompareTo(y.GetHashCode()); } } - private static IComparer interfaceComparer = new HashCodeComparer(); + private static HashCodeComparer interfaceComparer = new HashCodeComparer(); private Type baseType; private Type targetType; - private Type[] interfaceTypes; + private List interfaceTypes; private bool proxyTargetAttributes; - public ProxyTypeCacheKey(Type baseType, Type targetType, Type[] interfaceTypes, bool proxyTargetAttributes) + public ProxyTypeCacheKey(Type baseType, Type targetType, IList interfaceTypes, bool proxyTargetAttributes) { this.baseType = baseType; this.targetType = targetType; - Array.Sort(interfaceTypes, interfaceComparer); // sort by GetHashcode()? to have a defined order - this.interfaceTypes = interfaceTypes; + this.interfaceTypes = new List(interfaceTypes); + this.interfaceTypes.Sort(interfaceComparer); // sort by GetHashcode()? to have a defined order this.proxyTargetAttributes = proxyTargetAttributes; } @@ -166,7 +167,7 @@ namespace Spring.Aop.Framework.DynamicProxy { return false; } - for (int i = 0; i < interfaceTypes.Length; i++) + for (int i = 0; i < interfaceTypes.Count; i++) { if (!Equals(interfaceTypes[i], proxyTypeCacheKey.interfaceTypes[i])) { @@ -184,7 +185,7 @@ namespace Spring.Aop.Framework.DynamicProxy { int result = baseType.GetHashCode(); result = 29*result + targetType.GetHashCode(); - for (int i = 0; i < interfaceTypes.Length; i++) + for (int i = 0; i < interfaceTypes.Count; i++) { result = 29 * result + interfaceTypes[i].GetHashCode(); } diff --git a/src/Spring/Spring.Aop/Aop/Framework/DynamicProxy/CompositionAopProxyTypeBuilder.cs b/src/Spring/Spring.Aop/Aop/Framework/DynamicProxy/CompositionAopProxyTypeBuilder.cs index eb865cbd..6565d037 100644 --- a/src/Spring/Spring.Aop/Aop/Framework/DynamicProxy/CompositionAopProxyTypeBuilder.cs +++ b/src/Spring/Spring.Aop/Aop/Framework/DynamicProxy/CompositionAopProxyTypeBuilder.cs @@ -120,7 +120,7 @@ namespace Spring.Aop.Framework.DynamicProxy foreach (DictionaryEntry entry in targetMethods) { FieldInfo field = proxyType.GetField((string) entry.Key, BindingFlags.NonPublic | BindingFlags.Static); - field.SetValue(proxyType, (MethodInfo) entry.Value); + field.SetValue(proxyType, entry.Value); } return proxyType; diff --git a/src/Spring/Spring.Aop/Aop/Framework/DynamicProxy/DecoratorAopProxyTypeBuilder.cs b/src/Spring/Spring.Aop/Aop/Framework/DynamicProxy/DecoratorAopProxyTypeBuilder.cs index 5f0ea1b4..e8892cfd 100644 --- a/src/Spring/Spring.Aop/Aop/Framework/DynamicProxy/DecoratorAopProxyTypeBuilder.cs +++ b/src/Spring/Spring.Aop/Aop/Framework/DynamicProxy/DecoratorAopProxyTypeBuilder.cs @@ -155,7 +155,7 @@ namespace Spring.Aop.Framework.DynamicProxy foreach (DictionaryEntry entry in targetMethods) { FieldInfo field = proxyType.GetField((string)entry.Key, BindingFlags.NonPublic | BindingFlags.Static); - field.SetValue(proxyType, (MethodInfo)entry.Value); + field.SetValue(proxyType, entry.Value); } return proxyType; diff --git a/src/Spring/Spring.Aop/Aop/Framework/DynamicProxy/DefaultAopProxyFactory.cs b/src/Spring/Spring.Aop/Aop/Framework/DynamicProxy/DefaultAopProxyFactory.cs index 55ea6a04..052597e9 100644 --- a/src/Spring/Spring.Aop/Aop/Framework/DynamicProxy/DefaultAopProxyFactory.cs +++ b/src/Spring/Spring.Aop/Aop/Framework/DynamicProxy/DefaultAopProxyFactory.cs @@ -69,7 +69,7 @@ namespace Spring.Aop.Framework.DynamicProxy { IProxyTypeBuilder typeBuilder; if ((advisedSupport.ProxyTargetType) || - (advisedSupport.Interfaces.Length == 0)) + (advisedSupport.Interfaces.Count == 0)) { typeBuilder = new DecoratorAopProxyTypeBuilder(advisedSupport); } diff --git a/src/Spring/Spring.Aop/Aop/Framework/DynamicProxy/IAdvisedProxyMethodBuilder.cs b/src/Spring/Spring.Aop/Aop/Framework/DynamicProxy/IAdvisedProxyMethodBuilder.cs index 3b880216..7de3b874 100644 --- a/src/Spring/Spring.Aop/Aop/Framework/DynamicProxy/IAdvisedProxyMethodBuilder.cs +++ b/src/Spring/Spring.Aop/Aop/Framework/DynamicProxy/IAdvisedProxyMethodBuilder.cs @@ -20,11 +20,8 @@ #region Imports -using System; -using System.Reflection; using System.Reflection.Emit; -using Spring.Util; using Spring.Proxy; #endregion diff --git a/src/Spring/Spring.Aop/Aop/Framework/DynamicProxy/IAopProxyTypeGenerator.cs b/src/Spring/Spring.Aop/Aop/Framework/DynamicProxy/IAopProxyTypeGenerator.cs index 8d523839..42bf076a 100644 --- a/src/Spring/Spring.Aop/Aop/Framework/DynamicProxy/IAopProxyTypeGenerator.cs +++ b/src/Spring/Spring.Aop/Aop/Framework/DynamicProxy/IAopProxyTypeGenerator.cs @@ -20,7 +20,6 @@ #region Imports -using System; using System.Reflection.Emit; using Spring.Proxy; diff --git a/src/Spring/Spring.Aop/Aop/Framework/DynamicProxy/InheritanceAopProxyTypeBuilder.cs b/src/Spring/Spring.Aop/Aop/Framework/DynamicProxy/InheritanceAopProxyTypeBuilder.cs index 49196a10..7368b1ad 100644 --- a/src/Spring/Spring.Aop/Aop/Framework/DynamicProxy/InheritanceAopProxyTypeBuilder.cs +++ b/src/Spring/Spring.Aop/Aop/Framework/DynamicProxy/InheritanceAopProxyTypeBuilder.cs @@ -174,7 +174,7 @@ namespace Spring.Aop.Framework.DynamicProxy foreach (DictionaryEntry entry in targetMethods) { FieldInfo field = proxyType.GetField((string)entry.Key, BindingFlags.NonPublic | BindingFlags.Static); - field.SetValue(proxyType, (MethodInfo)entry.Value); + field.SetValue(proxyType, entry.Value); } // set proxy method references diff --git a/src/Spring/Spring.Aop/Aop/Framework/DynamicProxy/IntroductionProxyMethodBuilder.cs b/src/Spring/Spring.Aop/Aop/Framework/DynamicProxy/IntroductionProxyMethodBuilder.cs index ba8f51ea..3a828ddc 100644 --- a/src/Spring/Spring.Aop/Aop/Framework/DynamicProxy/IntroductionProxyMethodBuilder.cs +++ b/src/Spring/Spring.Aop/Aop/Framework/DynamicProxy/IntroductionProxyMethodBuilder.cs @@ -20,13 +20,10 @@ #region Imports -using System; using System.Collections; using System.Reflection; using System.Reflection.Emit; -using Spring.Util; - #endregion namespace Spring.Aop.Framework.DynamicProxy diff --git a/src/Spring/Spring.Aop/Aop/Framework/DynamicProxy/TargetAopProxyMethodBuilder.cs b/src/Spring/Spring.Aop/Aop/Framework/DynamicProxy/TargetAopProxyMethodBuilder.cs index af57e46e..25627877 100644 --- a/src/Spring/Spring.Aop/Aop/Framework/DynamicProxy/TargetAopProxyMethodBuilder.cs +++ b/src/Spring/Spring.Aop/Aop/Framework/DynamicProxy/TargetAopProxyMethodBuilder.cs @@ -20,13 +20,10 @@ #region Imports -using System; using System.Collections; using System.Reflection; using System.Reflection.Emit; -using Spring.Util; - #endregion namespace Spring.Aop.Framework.DynamicProxy diff --git a/src/Spring/Spring.Aop/Aop/Framework/HashtableCachingAdvisorChainFactory.cs b/src/Spring/Spring.Aop/Aop/Framework/HashtableCachingAdvisorChainFactory.cs index af1b0406..6824c7cb 100644 --- a/src/Spring/Spring.Aop/Aop/Framework/HashtableCachingAdvisorChainFactory.cs +++ b/src/Spring/Spring.Aop/Aop/Framework/HashtableCachingAdvisorChainFactory.cs @@ -21,10 +21,8 @@ #region Imports using System; -using System.Collections; -using System.Collections.Specialized; +using System.Collections.Generic; using System.Reflection; -using Spring.Collections; #endregion @@ -39,8 +37,8 @@ namespace Spring.Aop.Framework [Serializable] public sealed class HashtableCachingAdvisorChainFactory : IAdvisorChainFactory { - private readonly IDictionary methodCache = new ListDictionary(); - + private readonly IDictionary> methodCache = new Dictionary>(); + /// /// Gets the list of and /// @@ -59,10 +57,10 @@ namespace Spring.Aop.Framework /// /// instances for the supplied . /// - public IList GetInterceptors(IAdvised advised, object proxy, MethodInfo method, Type targetType) + public IList GetInterceptors(IAdvised advised, object proxy, MethodInfo method, Type targetType) { - IList cached = (IList)this.methodCache[method]; - if (cached == null) + IList cached; + if (!this.methodCache.TryGetValue(method, out cached)) { // recalculate... cached = AdvisorChainFactoryUtils.CalculateInterceptors(advised, proxy, method, targetType); diff --git a/src/Spring/Spring.Aop/Aop/Framework/IAdvised.cs b/src/Spring/Spring.Aop/Aop/Framework/IAdvised.cs index adb601d8..f372be8b 100644 --- a/src/Spring/Spring.Aop/Aop/Framework/IAdvised.cs +++ b/src/Spring/Spring.Aop/Aop/Framework/IAdvised.cs @@ -22,9 +22,10 @@ using System; using System.Collections; +using System.Collections.Generic; using AopAlliance.Aop; -using Spring.Aop; + using Spring.Proxy; #endregion @@ -109,7 +110,7 @@ namespace Spring.Aop.Framework /// The collection of /// instances that have been applied to this proxy. /// - IAdvisor[] Advisors { get; } + IList Advisors { get; } /// /// Returns the collection of @@ -127,7 +128,7 @@ namespace Spring.Aop.Framework /// The collection of /// instances that have been applied to this proxy. /// - IIntroductionAdvisor[] Introductions { get; } + IList Introductions { get; } /// /// Returns the collection of interface s @@ -137,7 +138,7 @@ namespace Spring.Aop.Framework /// The collection of interface s /// to be (or that are being) proxied by this proxy. /// - Type[] Interfaces { get; } + IList Interfaces { get; } /// /// Returns the mapping of the proxied interface diff --git a/src/Spring/Spring.Aop/Aop/Framework/IAdvisedSupportListener.cs b/src/Spring/Spring.Aop/Aop/Framework/IAdvisedSupportListener.cs index ae9be3d1..8ad1ee2e 100644 --- a/src/Spring/Spring.Aop/Aop/Framework/IAdvisedSupportListener.cs +++ b/src/Spring/Spring.Aop/Aop/Framework/IAdvisedSupportListener.cs @@ -18,8 +18,6 @@ #endregion -using System; - namespace Spring.Aop.Framework { /// diff --git a/src/Spring/Spring.Aop/Aop/Framework/IAdvisorChainFactory.cs b/src/Spring/Spring.Aop/Aop/Framework/IAdvisorChainFactory.cs index 22d53a81..166603f1 100644 --- a/src/Spring/Spring.Aop/Aop/Framework/IAdvisorChainFactory.cs +++ b/src/Spring/Spring.Aop/Aop/Framework/IAdvisorChainFactory.cs @@ -21,7 +21,7 @@ #region Imports using System; -using System.Collections; +using System.Collections.Generic; using System.Reflection; #endregion @@ -35,25 +35,24 @@ namespace Spring.Aop.Framework /// Aleksandar Seovic (.NET) public interface IAdvisorChainFactory : IAdvisedSupportListener { - /// - /// Gets the list of and - /// - /// instances for the supplied . - /// - /// The proxy configuration object. - /// The object proxy. - /// - /// The method for which the interceptors are to be evaluated. - /// - /// - /// The of the target object. - /// - /// - /// The list of and - /// - /// instances for the supplied . - /// - IList GetInterceptors( - IAdvised advised, object proxy, MethodInfo method, Type targetType); + /// + /// Gets the list of and + /// + /// instances for the supplied . + /// + /// The proxy configuration object. + /// The object proxy. + /// + /// The method for which the interceptors are to be evaluated. + /// + /// + /// The of the target object. + /// + /// + /// The list of and + /// + /// instances for the supplied . + /// + IList GetInterceptors(IAdvised advised, object proxy, MethodInfo method, Type targetType); } } \ No newline at end of file diff --git a/src/Spring/Spring.Aop/Aop/Framework/IAopProxy.cs b/src/Spring/Spring.Aop/Aop/Framework/IAopProxy.cs index 84718074..a50830c4 100644 --- a/src/Spring/Spring.Aop/Aop/Framework/IAopProxy.cs +++ b/src/Spring/Spring.Aop/Aop/Framework/IAopProxy.cs @@ -20,8 +20,6 @@ #region Imports -using System; - using Spring.Proxy; #endregion diff --git a/src/Spring/Spring.Aop/Aop/Framework/IAopProxyFactory.cs b/src/Spring/Spring.Aop/Aop/Framework/IAopProxyFactory.cs index d33f3cbc..4e46be92 100644 --- a/src/Spring/Spring.Aop/Aop/Framework/IAopProxyFactory.cs +++ b/src/Spring/Spring.Aop/Aop/Framework/IAopProxyFactory.cs @@ -18,8 +18,6 @@ #endregion -using System; - namespace Spring.Aop.Framework { /// diff --git a/src/Spring/Spring.Aop/Aop/Framework/ITargetAware.cs b/src/Spring/Spring.Aop/Aop/Framework/ITargetAware.cs index da6d57fd..155913b7 100644 --- a/src/Spring/Spring.Aop/Aop/Framework/ITargetAware.cs +++ b/src/Spring/Spring.Aop/Aop/Framework/ITargetAware.cs @@ -18,8 +18,6 @@ #endregion -using System; - namespace Spring.Aop.Framework { /// diff --git a/src/Spring/Spring.Aop/Aop/Framework/InterceptorAndDynamicMethodMatcher.cs b/src/Spring/Spring.Aop/Aop/Framework/InterceptorAndDynamicMethodMatcher.cs index 8ee81040..7f2f8410 100644 --- a/src/Spring/Spring.Aop/Aop/Framework/InterceptorAndDynamicMethodMatcher.cs +++ b/src/Spring/Spring.Aop/Aop/Framework/InterceptorAndDynamicMethodMatcher.cs @@ -19,8 +19,8 @@ #endregion using System; + using AopAlliance.Intercept; -using Spring.Aop; namespace Spring.Aop.Framework { diff --git a/src/Spring/Spring.Aop/Aop/Framework/ProxyConfig.cs b/src/Spring/Spring.Aop/Aop/Framework/ProxyConfig.cs index bfceeadd..e380aaad 100644 --- a/src/Spring/Spring.Aop/Aop/Framework/ProxyConfig.cs +++ b/src/Spring/Spring.Aop/Aop/Framework/ProxyConfig.cs @@ -22,9 +22,7 @@ using System; using System.Text; -using System.Reflection; -using Spring.Aop.Framework.DynamicProxy; -using Spring.Core.TypeResolution; + using Spring.Util; using Spring.Reflection.Dynamic; diff --git a/src/Spring/Spring.Aop/Aop/Framework/ProxyFactoryObject.cs b/src/Spring/Spring.Aop/Aop/Framework/ProxyFactoryObject.cs index c75ee568..7e7b00d7 100644 --- a/src/Spring/Spring.Aop/Aop/Framework/ProxyFactoryObject.cs +++ b/src/Spring/Spring.Aop/Aop/Framework/ProxyFactoryObject.cs @@ -22,10 +22,13 @@ using System; using System.Collections; +using System.Collections.Generic; using AopAlliance.Aop; using AopAlliance.Intercept; + using Common.Logging; + using Spring.Aop.Framework.Adapter; using Spring.Aop.Support; using Spring.Aop.Target; @@ -394,7 +397,7 @@ namespace Spring.Aop.Framework { return this.singletonInstance.GetType(); } - else if (Interfaces.Length == 1) + else if (Interfaces.Count == 1) { return Interfaces[0]; } @@ -453,8 +456,8 @@ namespace Spring.Aop.Framework // The copy needs a fresh advisor chain, and a fresh TargetSource. ITargetSource targetSource = FreshTargetSource(); - IList advisorChain = FreshAdvisorChain(); - IList introductionChain = FreshIntroductionChain(); + IList advisorChain = FreshAdvisorChain(); + IList introductionChain = FreshIntroductionChain(); AdvisedSupport copy = new AdvisedSupport(); copy.CopyConfigurationFrom(this, targetSource, advisorChain, introductionChain); @@ -622,16 +625,16 @@ namespace Spring.Aop.Framework /// Add all global interceptors and pointcuts. private void AddGlobalAdvisor(IListableObjectFactory objectFactory, string prefix) { - string[] globalAspectNames = + IList globalAspectNames = ObjectFactoryUtils.ObjectNamesForTypeIncludingAncestors(objectFactory, typeof(IAdvisors)); - string[] globalAdvisorNames = + IList globalAdvisorNames = ObjectFactoryUtils.ObjectNamesForTypeIncludingAncestors(objectFactory, typeof(IAdvisor)); - string[] globalInterceptorNames = + IList globalInterceptorNames = ObjectFactoryUtils.ObjectNamesForTypeIncludingAncestors(objectFactory, typeof(IInterceptor)); - ArrayList objects = new ArrayList(); - Hashtable names = new Hashtable(); + List objects = new List(); + Dictionary names = new Dictionary(); - for (int i = 0; i < globalAspectNames.Length; i++) + for (int i = 0; i < globalAspectNames.Count; i++) { string name = globalAspectNames[i]; if (name.StartsWith(prefix)) @@ -648,7 +651,7 @@ namespace Spring.Aop.Framework } } } - for (int i = 0; i < globalAdvisorNames.Length; i++) + for (int i = 0; i < globalAdvisorNames.Count; i++) { string name = globalAdvisorNames[i]; if (name.StartsWith(prefix)) @@ -662,7 +665,7 @@ namespace Spring.Aop.Framework } } } - for (int i = 0; i < globalInterceptorNames.Length; i++) + for (int i = 0; i < globalInterceptorNames.Count; i++) { string name = globalInterceptorNames[i]; if (name.StartsWith(prefix)) @@ -672,10 +675,10 @@ namespace Spring.Aop.Framework names[obj] = name; } } - ((ArrayList)objects).Sort(new OrderComparator()); + objects.Sort(new OrderComparator()); foreach (object obj in objects) { - string name = (string)names[obj]; + string name = names[obj]; AddAdvisorOnChainCreation(obj, name); } } @@ -734,16 +737,16 @@ namespace Spring.Aop.Framework /// Add all global introductions. private void AddGlobalIntroduction(IListableObjectFactory objectFactory, string prefix) { - string[] globalAspectNames = + IList globalAspectNames = ObjectFactoryUtils.ObjectNamesForTypeIncludingAncestors(objectFactory, typeof(IAdvisors)); - string[] globalAdvisorNames = + IList globalAdvisorNames = ObjectFactoryUtils.ObjectNamesForTypeIncludingAncestors(objectFactory, typeof(IAdvisor)); - string[] globalIntroductionNames = + IList globalIntroductionNames = ObjectFactoryUtils.ObjectNamesForTypeIncludingAncestors(objectFactory, typeof(IAdvice)); ArrayList objects = new ArrayList(); - Hashtable names = new Hashtable(); + Dictionary names = new Dictionary(); - for (int i = 0; i < globalAspectNames.Length; i++) + for (int i = 0; i < globalAspectNames.Count; i++) { string name = globalAspectNames[i]; if (name.StartsWith(prefix)) @@ -760,7 +763,7 @@ namespace Spring.Aop.Framework } } } - for (int i = 0; i < globalAdvisorNames.Length; i++) + for (int i = 0; i < globalAdvisorNames.Count; i++) { string name = globalAdvisorNames[i]; if (name.StartsWith(prefix)) @@ -774,7 +777,7 @@ namespace Spring.Aop.Framework } } } - for (int i = 0; i < globalIntroductionNames.Length; i++) + for (int i = 0; i < globalIntroductionNames.Count; i++) { string name = globalIntroductionNames[i]; if (name.StartsWith(prefix)) @@ -791,7 +794,7 @@ namespace Spring.Aop.Framework objects.Sort(new OrderComparator()); foreach (object obj in objects) { - string name = (string)names[obj]; + string name = names[obj]; AddIntroductionOnChainCreation(obj, name); } } @@ -845,10 +848,10 @@ namespace Spring.Aop.Framework /// We need to do this every time a new prototype instance is returned, /// to return distinct instances of prototype interfaces and pointcuts. /// - private IList FreshAdvisorChain() + private IList FreshAdvisorChain() { - IAdvisor[] advisors = Advisors; - ArrayList freshAdvisors = new ArrayList(); + IList advisors = Advisors; + List freshAdvisors = new List(); foreach (IAdvisor advisor in advisors) { if (advisor is PrototypePlaceholder) @@ -878,10 +881,10 @@ namespace Spring.Aop.Framework /// We need to do this every time a new prototype instance is returned, /// to return distinct instances of prototype interfaces and pointcuts. /// - private IList FreshIntroductionChain() + private IList FreshIntroductionChain() { - IIntroductionAdvisor[] introductions = Introductions; - ArrayList freshIntroductions = new ArrayList(); + IList introductions = Introductions; + List freshIntroductions = new List(); foreach (IIntroductionAdvisor introduction in introductions) { if (introduction is PrototypePlaceholder) @@ -896,7 +899,7 @@ namespace Spring.Aop.Framework AssertUtils.ArgumentNotNull(this.objectFactory, "ObjectFactory"); object introductionObject = this.objectFactory.GetObject(pa.ObjectName); - IAdvisor freshIntroduction = NamedObjectToIntroduction(introductionObject); + IIntroductionAdvisor freshIntroduction = NamedObjectToIntroduction(introductionObject); freshIntroductions.Add(freshIntroduction); } else diff --git a/src/Spring/Spring.Aop/Aop/IAdvisor.cs b/src/Spring/Spring.Aop/Aop/IAdvisor.cs index ed1841cf..40f15f88 100644 --- a/src/Spring/Spring.Aop/Aop/IAdvisor.cs +++ b/src/Spring/Spring.Aop/Aop/IAdvisor.cs @@ -20,7 +20,6 @@ #region Imports -using System; using AopAlliance.Aop; #endregion diff --git a/src/Spring/Spring.Aop/Aop/IAdvisors.cs b/src/Spring/Spring.Aop/Aop/IAdvisors.cs index e06efa0e..8a521a36 100644 --- a/src/Spring/Spring.Aop/Aop/IAdvisors.cs +++ b/src/Spring/Spring.Aop/Aop/IAdvisors.cs @@ -20,9 +20,7 @@ #region Imports -using System; -using System.Collections; -using AopAlliance.Aop; +using System.Collections.Generic; #endregion @@ -41,6 +39,6 @@ namespace Spring.Aop /// /// A list of advisors. /// - IList Advisors { get; set; } + IList Advisors { get; set; } } } \ No newline at end of file diff --git a/src/Spring/Spring.Aop/Aop/IAfterReturningAdvice.cs b/src/Spring/Spring.Aop/Aop/IAfterReturningAdvice.cs index c634c20c..1ac68e22 100644 --- a/src/Spring/Spring.Aop/Aop/IAfterReturningAdvice.cs +++ b/src/Spring/Spring.Aop/Aop/IAfterReturningAdvice.cs @@ -20,8 +20,8 @@ #region Imports -using System; using System.Reflection; + using AopAlliance.Aop; #endregion diff --git a/src/Spring/Spring.Aop/Aop/IBeforeAdvice.cs b/src/Spring/Spring.Aop/Aop/IBeforeAdvice.cs index a865326a..b4fe55fd 100644 --- a/src/Spring/Spring.Aop/Aop/IBeforeAdvice.cs +++ b/src/Spring/Spring.Aop/Aop/IBeforeAdvice.cs @@ -20,7 +20,6 @@ #region Imports -using System; using AopAlliance.Aop; #endregion diff --git a/src/Spring/Spring.Aop/Aop/IMethodBeforeAdvice.cs b/src/Spring/Spring.Aop/Aop/IMethodBeforeAdvice.cs index 3057bf70..c7c0b04e 100644 --- a/src/Spring/Spring.Aop/Aop/IMethodBeforeAdvice.cs +++ b/src/Spring/Spring.Aop/Aop/IMethodBeforeAdvice.cs @@ -20,7 +20,6 @@ #region Imports -using System; using System.Reflection; #endregion diff --git a/src/Spring/Spring.Aop/Aop/IPointcut.cs b/src/Spring/Spring.Aop/Aop/IPointcut.cs index 346edbad..b503143e 100644 --- a/src/Spring/Spring.Aop/Aop/IPointcut.cs +++ b/src/Spring/Spring.Aop/Aop/IPointcut.cs @@ -18,12 +18,6 @@ #endregion -#region Imports - -using System; - -#endregion - namespace Spring.Aop { /// diff --git a/src/Spring/Spring.Aop/Aop/IPointcutAdvisor.cs b/src/Spring/Spring.Aop/Aop/IPointcutAdvisor.cs index 13915f01..afc123a6 100644 --- a/src/Spring/Spring.Aop/Aop/IPointcutAdvisor.cs +++ b/src/Spring/Spring.Aop/Aop/IPointcutAdvisor.cs @@ -18,12 +18,6 @@ #endregion -#region Imports - -using System; - -#endregion - namespace Spring.Aop { /// diff --git a/src/Spring/Spring.Aop/Aop/IThrowsAdvice.cs b/src/Spring/Spring.Aop/Aop/IThrowsAdvice.cs index b7db9921..22d0e406 100644 --- a/src/Spring/Spring.Aop/Aop/IThrowsAdvice.cs +++ b/src/Spring/Spring.Aop/Aop/IThrowsAdvice.cs @@ -20,7 +20,6 @@ #region Imports -using System; using AopAlliance.Aop; #endregion diff --git a/src/Spring/Spring.Aop/Aop/Support/AbstractRegularExpressionMethodPointcut.cs b/src/Spring/Spring.Aop/Aop/Support/AbstractRegularExpressionMethodPointcut.cs index fc212dca..34d464a1 100644 --- a/src/Spring/Spring.Aop/Aop/Support/AbstractRegularExpressionMethodPointcut.cs +++ b/src/Spring/Spring.Aop/Aop/Support/AbstractRegularExpressionMethodPointcut.cs @@ -24,9 +24,9 @@ using System; using System.Reflection; using System.Runtime.Serialization; using System.Security.Permissions; + using AopAlliance.Aop; -using Spring.Core; -using Spring.Objects; + using Spring.Util; #endregion diff --git a/src/Spring/Spring.Aop/Aop/Support/NameMatchMethodPointcutAdvisor.cs b/src/Spring/Spring.Aop/Aop/Support/NameMatchMethodPointcutAdvisor.cs index e965f4f1..4e56dc8f 100644 --- a/src/Spring/Spring.Aop/Aop/Support/NameMatchMethodPointcutAdvisor.cs +++ b/src/Spring/Spring.Aop/Aop/Support/NameMatchMethodPointcutAdvisor.cs @@ -21,8 +21,9 @@ #region Imports using System; + using AopAlliance.Aop; -using Spring.Core; + using Spring.Util; #endregion diff --git a/src/Spring/Spring.Aop/Aop/Support/StaticMethodMatcherPointcut.cs b/src/Spring/Spring.Aop/Aop/Support/StaticMethodMatcherPointcut.cs index fd6aba77..ed9743ba 100644 --- a/src/Spring/Spring.Aop/Aop/Support/StaticMethodMatcherPointcut.cs +++ b/src/Spring/Spring.Aop/Aop/Support/StaticMethodMatcherPointcut.cs @@ -19,7 +19,6 @@ #endregion using System; -using System.Reflection; namespace Spring.Aop.Support { diff --git a/src/Spring/Spring.Aop/Aop/Target/AbstractPrototypeTargetSource.cs b/src/Spring/Spring.Aop/Aop/Target/AbstractPrototypeTargetSource.cs index d03dd4fb..20a73fd5 100644 --- a/src/Spring/Spring.Aop/Aop/Target/AbstractPrototypeTargetSource.cs +++ b/src/Spring/Spring.Aop/Aop/Target/AbstractPrototypeTargetSource.cs @@ -21,10 +21,10 @@ #region Imports using System; -using System.Globalization; + using Common.Logging; + using Spring.Objects.Factory; -using Spring.Objects.Factory.Support; using Spring.Util; #endregion diff --git a/src/Spring/Spring.Aop/Aop/Target/IThreadLocalTargetSourceStats.cs b/src/Spring/Spring.Aop/Aop/Target/IThreadLocalTargetSourceStats.cs index 0a3619a4..ef4ae645 100644 --- a/src/Spring/Spring.Aop/Aop/Target/IThreadLocalTargetSourceStats.cs +++ b/src/Spring/Spring.Aop/Aop/Target/IThreadLocalTargetSourceStats.cs @@ -20,7 +20,6 @@ #region Imports -using System; using AopAlliance.Intercept; #endregion diff --git a/src/Spring/Spring.Aop/Aop/Target/PoolingConfig.cs b/src/Spring/Spring.Aop/Aop/Target/PoolingConfig.cs index 0e261cd3..b9c3d7b8 100644 --- a/src/Spring/Spring.Aop/Aop/Target/PoolingConfig.cs +++ b/src/Spring/Spring.Aop/Aop/Target/PoolingConfig.cs @@ -18,12 +18,6 @@ #endregion -#region Imports - -using System; - -#endregion - namespace Spring.Aop.Target { /// diff --git a/src/Spring/Spring.Aop/Aop/Target/ThreadLocalTargetSource.cs b/src/Spring/Spring.Aop/Aop/Target/ThreadLocalTargetSource.cs index 79d2b19a..6b03f9e2 100644 --- a/src/Spring/Spring.Aop/Aop/Target/ThreadLocalTargetSource.cs +++ b/src/Spring/Spring.Aop/Aop/Target/ThreadLocalTargetSource.cs @@ -21,9 +21,10 @@ #region Imports using System; -using System.Globalization; using System.Threading; + using AopAlliance.Intercept; + using Spring.Aop.Support; using Spring.Collections; using Spring.Util; diff --git a/src/Spring/Spring.Aop/AopAlliance/Aop/IAdvice.cs b/src/Spring/Spring.Aop/AopAlliance/Aop/IAdvice.cs index dd94810d..cf37d9eb 100644 --- a/src/Spring/Spring.Aop/AopAlliance/Aop/IAdvice.cs +++ b/src/Spring/Spring.Aop/AopAlliance/Aop/IAdvice.cs @@ -9,12 +9,6 @@ #endregion -#region Imports - -using System; - -#endregion - namespace AopAlliance.Aop { /// diff --git a/src/Spring/Spring.Aop/AopAlliance/Intercept/IConstructorInterceptor.cs b/src/Spring/Spring.Aop/AopAlliance/Intercept/IConstructorInterceptor.cs index 8f39324e..47321f42 100644 --- a/src/Spring/Spring.Aop/AopAlliance/Intercept/IConstructorInterceptor.cs +++ b/src/Spring/Spring.Aop/AopAlliance/Intercept/IConstructorInterceptor.cs @@ -9,12 +9,6 @@ #endregion -#region Imports - -using System; - -#endregion - namespace AopAlliance.Intercept { /// diff --git a/src/Spring/Spring.Aop/AopAlliance/Intercept/IInterceptor.cs b/src/Spring/Spring.Aop/AopAlliance/Intercept/IInterceptor.cs index 0689389b..70a0457a 100644 --- a/src/Spring/Spring.Aop/AopAlliance/Intercept/IInterceptor.cs +++ b/src/Spring/Spring.Aop/AopAlliance/Intercept/IInterceptor.cs @@ -11,7 +11,6 @@ #region Imports -using System; using AopAlliance.Aop; #endregion diff --git a/src/Spring/Spring.Aop/AopAlliance/Intercept/IInvocation.cs b/src/Spring/Spring.Aop/AopAlliance/Intercept/IInvocation.cs index 8782ae19..5af05a06 100644 --- a/src/Spring/Spring.Aop/AopAlliance/Intercept/IInvocation.cs +++ b/src/Spring/Spring.Aop/AopAlliance/Intercept/IInvocation.cs @@ -9,12 +9,6 @@ #endregion -#region Imports - -using System; - -#endregion - namespace AopAlliance.Intercept { /// diff --git a/src/Spring/Spring.Aop/AopAlliance/Intercept/IMethodInterceptor.cs b/src/Spring/Spring.Aop/AopAlliance/Intercept/IMethodInterceptor.cs index 0b0355ef..a253338b 100644 --- a/src/Spring/Spring.Aop/AopAlliance/Intercept/IMethodInterceptor.cs +++ b/src/Spring/Spring.Aop/AopAlliance/Intercept/IMethodInterceptor.cs @@ -9,12 +9,6 @@ #endregion -#region Imports - -using System; - -#endregion - namespace AopAlliance.Intercept { /// diff --git a/src/Spring/Spring.Aop/Aspects/AbstractExceptionHandler.cs b/src/Spring/Spring.Aop/Aspects/AbstractExceptionHandler.cs index 80d177d1..29a52edb 100644 --- a/src/Spring/Spring.Aop/Aspects/AbstractExceptionHandler.cs +++ b/src/Spring/Spring.Aop/Aspects/AbstractExceptionHandler.cs @@ -20,6 +20,7 @@ using System; using System.Collections; +using System.Collections.Generic; using Common.Logging; using Spring.Expressions; @@ -128,8 +129,6 @@ namespace Spring.Aspects #endregion - - /// /// Determines whether this instance can handle the exception the specified exception. /// @@ -138,7 +137,7 @@ namespace Spring.Aspects /// /// true if this instance can handle the specified exception; otherwise, false. /// - public bool CanHandleException(Exception ex, IDictionary callContextDictionary) + public bool CanHandleException(Exception ex, IDictionary callContextDictionary) { if (SourceExceptionNames != null) { @@ -176,7 +175,7 @@ namespace Spring.Aspects /// Handles the exception. /// /// The return value from handling the exception, if not rethrown or a new exception is thrown. - public abstract object HandleException(IDictionary callContextDictionary); + public abstract object HandleException(IDictionary callContextDictionary); #endregion } diff --git a/src/Spring/Spring.Aop/Aspects/Cache/BaseCacheAdvice.cs b/src/Spring/Spring.Aop/Aspects/Cache/BaseCacheAdvice.cs index cc591d2f..bd1ab35e 100644 --- a/src/Spring/Spring.Aop/Aspects/Cache/BaseCacheAdvice.cs +++ b/src/Spring/Spring.Aop/Aspects/Cache/BaseCacheAdvice.cs @@ -21,12 +21,14 @@ #region Imports using System; +using System.Collections.Generic; using System.Reflection; + using Common.Logging; + using Spring.Caching; using Spring.Context; using Spring.Expressions; -using System.Collections; #endregion @@ -104,9 +106,9 @@ namespace Spring.Aspects.Cache /// /// A dictionary containing all method arguments, keyed by method name. /// - protected static IDictionary PrepareVariables(MethodInfo method, object[] arguments) + protected static IDictionary PrepareVariables(MethodInfo method, object[] arguments) { - IDictionary vars = new Hashtable(); + IDictionary vars = new Dictionary(); vars[method.Name] = method; @@ -141,7 +143,7 @@ namespace Spring.Aspects.Cache /// If the SpEL expression could not be successfuly resolved to a boolean. /// protected static bool EvalCondition(string condition, - IExpression conditionExpression, object context, IDictionary variables) + IExpression conditionExpression, object context, IDictionary variables) { if (conditionExpression == null) { diff --git a/src/Spring/Spring.Aop/Aspects/Cache/CacheAspect.cs b/src/Spring/Spring.Aop/Aspects/Cache/CacheAspect.cs index 43db0ffc..eda880bf 100644 --- a/src/Spring/Spring.Aop/Aspects/Cache/CacheAspect.cs +++ b/src/Spring/Spring.Aop/Aspects/Cache/CacheAspect.cs @@ -21,7 +21,8 @@ #region Imports using System; -using System.Collections; +using System.Collections.Generic; + using Spring.Aop; using Spring.Context; @@ -59,7 +60,7 @@ namespace Spring.Aspects.Cache /// /// A list of advisors for this aspect. /// - public IList Advisors + public IList Advisors { get { return advisors; } set { throw new NotSupportedException("Cache aspect advisors cannot be set externally."); } diff --git a/src/Spring/Spring.Aop/Aspects/Cache/CacheParameterAdvice.cs b/src/Spring/Spring.Aop/Aspects/Cache/CacheParameterAdvice.cs index 91d624f4..e387bcdc 100644 --- a/src/Spring/Spring.Aop/Aspects/Cache/CacheParameterAdvice.cs +++ b/src/Spring/Spring.Aop/Aspects/Cache/CacheParameterAdvice.cs @@ -20,10 +20,10 @@ #region Imports -using System; using System.Collections; +using System.Collections.Generic; using System.Reflection; -using Common.Logging; + using Spring.Aop; using Spring.Caching; using Spring.Util; @@ -123,7 +123,7 @@ namespace Spring.Aspects.Cache if (cacheParameterAttributes.Length > 0) { - IDictionary vars = PrepareVariables(method, arguments); + IDictionary vars = PrepareVariables(method, arguments); for (int i = 0; i < cacheParameterAttributes.Length; i++) { foreach (CacheParameterAttribute paramInfo in cacheParameterAttributes[i]) diff --git a/src/Spring/Spring.Aop/Aspects/Cache/CacheResultAdvice.cs b/src/Spring/Spring.Aop/Aspects/Cache/CacheResultAdvice.cs index c3f2fa50..dfea8bac 100644 --- a/src/Spring/Spring.Aop/Aspects/Cache/CacheResultAdvice.cs +++ b/src/Spring/Spring.Aop/Aspects/Cache/CacheResultAdvice.cs @@ -21,11 +21,12 @@ #region Imports using System.Collections; +using System.Collections.Generic; using System.Reflection; + using AopAlliance.Intercept; -using Common.Logging; + using Spring.Caching; -using Spring.Expressions; using Spring.Util; using System; @@ -137,7 +138,7 @@ namespace Spring.Aspects.Cache CacheResultInfo cacheResultInfo = GetCacheResultInfo(invocation.Method); // prepare variables for SpEL expressions - IDictionary vars = PrepareVariables(invocation.Method, invocation.Arguments); + IDictionary vars = PrepareVariables(invocation.Method, invocation.Arguments); bool cacheHit = false; object returnValue = GetReturnValue(invocation, cacheResultInfo.ResultInfo, vars, out cacheHit); @@ -171,7 +172,7 @@ namespace Spring.Aspects.Cache /// /// Return value for the specified . /// - private object GetReturnValue(IMethodInvocation invocation, CacheResultAttribute resultInfo, IDictionary vars, out bool cacheHit) + private object GetReturnValue(IMethodInvocation invocation, CacheResultAttribute resultInfo, IDictionary vars, out bool cacheHit) { if (resultInfo != null) { @@ -258,7 +259,7 @@ namespace Spring.Aspects.Cache /// /// Variables for expression evaluation. /// - private void CacheResultItems(IEnumerable items, CacheResultItemsAttribute[] itemInfoArray, IDictionary vars) + private void CacheResultItems(IEnumerable items, CacheResultItemsAttribute[] itemInfoArray, IDictionary vars) { foreach (CacheResultItemsAttribute itemInfo in itemInfoArray) { diff --git a/src/Spring/Spring.Aop/Aspects/Cache/InvalidateCacheAdvice.cs b/src/Spring/Spring.Aop/Aspects/Cache/InvalidateCacheAdvice.cs index 4453f9dd..b66cabb7 100644 --- a/src/Spring/Spring.Aop/Aspects/Cache/InvalidateCacheAdvice.cs +++ b/src/Spring/Spring.Aop/Aspects/Cache/InvalidateCacheAdvice.cs @@ -21,11 +21,11 @@ #region Imports using System.Collections; +using System.Collections.Generic; using System.Reflection; using Spring.Aop; using Spring.Caching; -using Spring.Util; #endregion @@ -103,7 +103,7 @@ namespace Spring.Aspects.Cache if (cacheInfoArray.Length > 0) { - IDictionary vars = PrepareVariables(method, arguments); + IDictionary vars = PrepareVariables(method, arguments); foreach (InvalidateCacheAttribute cacheInfo in cacheInfoArray) { if (EvalCondition(cacheInfo.Condition, cacheInfo.ConditionExpression, returnValue, vars)) @@ -121,7 +121,7 @@ namespace Spring.Aspects.Cache logger.Debug(string.Format("Removing objects for keys [{0}] from cache [{1}].", keys, cacheInfo.CacheName)); } #endregion - cache.RemoveAll(keys as ICollection); + cache.RemoveAll((ICollection) keys); } else { diff --git a/src/Spring/Spring.Aop/Aspects/Cache/InvalidateCacheAdvisor.cs b/src/Spring/Spring.Aop/Aspects/Cache/InvalidateCacheAdvisor.cs index fb00cfb2..1a373b73 100644 --- a/src/Spring/Spring.Aop/Aspects/Cache/InvalidateCacheAdvisor.cs +++ b/src/Spring/Spring.Aop/Aspects/Cache/InvalidateCacheAdvisor.cs @@ -20,7 +20,6 @@ #region Imports -using System; using Spring.Aop.Support; using Spring.Caching; using Spring.Context; diff --git a/src/Spring/Spring.Aop/Aspects/Exceptions/ExceptionHandlerAdvice.cs b/src/Spring/Spring.Aop/Aspects/Exceptions/ExceptionHandlerAdvice.cs index c67216b2..4a34a6c3 100644 --- a/src/Spring/Spring.Aop/Aspects/Exceptions/ExceptionHandlerAdvice.cs +++ b/src/Spring/Spring.Aop/Aspects/Exceptions/ExceptionHandlerAdvice.cs @@ -20,11 +20,13 @@ using System; using System.Collections; +using System.Collections.Generic; using System.Reflection; + using AopAlliance.Intercept; + using Common.Logging; -using Spring.Context; -using Spring.Objects.Factory.Config; + using Spring.Util; namespace Spring.Aspects.Exceptions @@ -287,7 +289,7 @@ namespace Spring.Aspects.Exceptions /// The output of protected virtual object InvokeHandlers(Exception ex, IMethodInvocation invocation) { - IDictionary callContextDictionary = new Hashtable(); + Dictionary callContextDictionary = new Dictionary(); callContextDictionary.Add("method", invocation.Method); callContextDictionary.Add("args", invocation.Arguments); callContextDictionary.Add("target", invocation.Target); diff --git a/src/Spring/Spring.Aop/Aspects/Exceptions/ExecuteSpelExceptionHandler.cs b/src/Spring/Spring.Aop/Aspects/Exceptions/ExecuteSpelExceptionHandler.cs index 4204fc64..c1bc1bfe 100644 --- a/src/Spring/Spring.Aop/Aspects/Exceptions/ExecuteSpelExceptionHandler.cs +++ b/src/Spring/Spring.Aop/Aspects/Exceptions/ExecuteSpelExceptionHandler.cs @@ -1,7 +1,8 @@ using System; -using System.Collections; +using System.Collections.Generic; + using Spring.Expressions; namespace Spring.Aspects.Exceptions @@ -31,7 +32,7 @@ namespace Spring.Aspects.Exceptions /// Handles the exception. /// /// The return value from handling the exception, if not rethrown or a new exception is thrown. - public override object HandleException(IDictionary callContextDictionary) + public override object HandleException(IDictionary callContextDictionary) { try { diff --git a/src/Spring/Spring.Aop/Aspects/Exceptions/LogExceptionHandler.cs b/src/Spring/Spring.Aop/Aspects/Exceptions/LogExceptionHandler.cs index e164afc7..6d196e0c 100644 --- a/src/Spring/Spring.Aop/Aspects/Exceptions/LogExceptionHandler.cs +++ b/src/Spring/Spring.Aop/Aspects/Exceptions/LogExceptionHandler.cs @@ -19,8 +19,10 @@ #endregion using System; -using System.Collections; +using System.Collections.Generic; + using Common.Logging; + using Spring.Expressions; namespace Spring.Aspects.Exceptions @@ -132,7 +134,7 @@ namespace Spring.Aspects.Exceptions /// /// The return value from handling the exception, if not rethrown or a new exception is thrown. /// - public override object HandleException(IDictionary callContextDictionary) + public override object HandleException(IDictionary callContextDictionary) { //TODO log name is targettype. ILog adviceLogger = LogManager.GetLogger(logName); diff --git a/src/Spring/Spring.Aop/Aspects/Exceptions/ReturnValueExceptionHandler.cs b/src/Spring/Spring.Aop/Aspects/Exceptions/ReturnValueExceptionHandler.cs index a40c9779..b7bfa7b4 100644 --- a/src/Spring/Spring.Aop/Aspects/Exceptions/ReturnValueExceptionHandler.cs +++ b/src/Spring/Spring.Aop/Aspects/Exceptions/ReturnValueExceptionHandler.cs @@ -19,8 +19,8 @@ #endregion using System; -using System.Collections; -using Common.Logging; +using System.Collections.Generic; + using Spring.Expressions; namespace Spring.Aspects.Exceptions @@ -53,7 +53,7 @@ namespace Spring.Aspects.Exceptions /// Returns the result of evaluating the translation expression. /// /// The return value from handling the exception, if not rethrown or a new exception is thrown. - public override object HandleException(IDictionary callContextDictionary) + public override object HandleException(IDictionary callContextDictionary) { object returnVal = null; try diff --git a/src/Spring/Spring.Aop/Aspects/Exceptions/SwallowExceptionHandler.cs b/src/Spring/Spring.Aop/Aspects/Exceptions/SwallowExceptionHandler.cs index 8fd169d6..f1259bbf 100644 --- a/src/Spring/Spring.Aop/Aspects/Exceptions/SwallowExceptionHandler.cs +++ b/src/Spring/Spring.Aop/Aspects/Exceptions/SwallowExceptionHandler.cs @@ -18,7 +18,7 @@ #endregion -using System.Collections; +using System.Collections.Generic; namespace Spring.Aspects.Exceptions { @@ -49,7 +49,7 @@ namespace Spring.Aspects.Exceptions /// Handles the exception. /// /// The return value from handling the exception, if not rethrown or a new exception is thrown. - public override object HandleException(IDictionary callContextDictionary) + public override object HandleException(IDictionary callContextDictionary) { return "swallow"; } diff --git a/src/Spring/Spring.Aop/Aspects/Exceptions/TranslationExceptionHandler.cs b/src/Spring/Spring.Aop/Aspects/Exceptions/TranslationExceptionHandler.cs index 022de46a..c275f42a 100644 --- a/src/Spring/Spring.Aop/Aspects/Exceptions/TranslationExceptionHandler.cs +++ b/src/Spring/Spring.Aop/Aspects/Exceptions/TranslationExceptionHandler.cs @@ -19,8 +19,8 @@ #endregion using System; -using System.Collections; -using Common.Logging; +using System.Collections.Generic; + using Spring.Expressions; namespace Spring.Aspects.Exceptions @@ -52,7 +52,7 @@ namespace Spring.Aspects.Exceptions /// Handles the exception. /// /// The return value from handling the exception, if not rethrown or a new exception is thrown. - public override object HandleException(IDictionary callContextDictionary) + public override object HandleException(IDictionary callContextDictionary) { object o = null; try { diff --git a/src/Spring/Spring.Aop/Aspects/IExceptionHandler.cs b/src/Spring/Spring.Aop/Aspects/IExceptionHandler.cs index 2e80c72b..d17667c7 100644 --- a/src/Spring/Spring.Aop/Aspects/IExceptionHandler.cs +++ b/src/Spring/Spring.Aop/Aspects/IExceptionHandler.cs @@ -20,6 +20,7 @@ using System; using System.Collections; +using System.Collections.Generic; namespace Spring.Aspects { @@ -37,7 +38,7 @@ namespace Spring.Aspects /// /// true if this instance can handle the specified exception; otherwise, false. /// - bool CanHandleException(Exception ex, IDictionary callContextDictionary); + bool CanHandleException(Exception ex, IDictionary callContextDictionary); /// /// Handles the exception. @@ -46,7 +47,7 @@ namespace Spring.Aspects /// /// The return value from handling the exception, if not rethrown or a new exception is thrown. /// - object HandleException(IDictionary callContextDictionary); + object HandleException(IDictionary callContextDictionary); /// /// Gets the source exception names. diff --git a/src/Spring/Spring.Aop/Aspects/RetryAdvice.cs b/src/Spring/Spring.Aop/Aspects/RetryAdvice.cs index d36a7183..f5329377 100644 --- a/src/Spring/Spring.Aop/Aspects/RetryAdvice.cs +++ b/src/Spring/Spring.Aop/Aspects/RetryAdvice.cs @@ -16,15 +16,18 @@ * limitations under the License. */ -#endregion - -using System; -using System.Collections; -using System.Text.RegularExpressions; -using System.Threading; -using AopAlliance.Intercept; -using Common.Logging; -using Spring.Core.TypeConversion; +#endregion + +using System; +using System.Collections.Generic; +using System.Text.RegularExpressions; +using System.Threading; + +using AopAlliance.Intercept; + +using Common.Logging; + +using Spring.Core.TypeConversion; using Spring.Expressions; namespace Spring.Aspects @@ -149,7 +152,7 @@ namespace Spring.Aspects /// public override object Invoke(IMethodInvocation invocation) { - IDictionary callContextDictionary = new Hashtable(); + IDictionary callContextDictionary = new Dictionary(); callContextDictionary.Add("method", invocation.Method); callContextDictionary.Add("args", invocation.Arguments); callContextDictionary.Add("target", invocation.Target); @@ -195,7 +198,7 @@ namespace Spring.Aspects return returnVal; } - private static void Sleep(RetryExceptionHandler handler, IDictionary callContextDictionary, SleepHandler sleepHandler) + private static void Sleep(RetryExceptionHandler handler, IDictionary callContextDictionary, SleepHandler sleepHandler) { if (handler.IsDelayBased) { diff --git a/src/Spring/Spring.Aop/Aspects/RetryExceptionHandler.cs b/src/Spring/Spring.Aop/Aspects/RetryExceptionHandler.cs index 8961931b..b21b04d5 100644 --- a/src/Spring/Spring.Aop/Aspects/RetryExceptionHandler.cs +++ b/src/Spring/Spring.Aop/Aspects/RetryExceptionHandler.cs @@ -19,7 +19,7 @@ #endregion using System; -using System.Collections; +using System.Collections.Generic; namespace Spring.Aspects { @@ -119,7 +119,7 @@ namespace Spring.Aspects /// /// The return value from handling the exception, if not rethrown or a new exception is thrown. /// - public override object HandleException(IDictionary callContextDictionary) + public override object HandleException(IDictionary callContextDictionary) { return null; } diff --git a/src/Spring/Spring.Aop/AssemblyInfo.cs b/src/Spring/Spring.Aop/AssemblyInfo.cs index a9162360..52f74c86 100644 --- a/src/Spring/Spring.Aop/AssemblyInfo.cs +++ b/src/Spring/Spring.Aop/AssemblyInfo.cs @@ -1,4 +1,3 @@ -using System; using System.Reflection; [assembly: AssemblyTitle("Spring.Aop")] diff --git a/src/Spring/Spring.Aop/Spring.Aop.2008.csproj b/src/Spring/Spring.Aop/Spring.Aop.2008.csproj index 6c3d3cb5..e12fc8cd 100644 --- a/src/Spring/Spring.Aop/Spring.Aop.2008.csproj +++ b/src/Spring/Spring.Aop/Spring.Aop.2008.csproj @@ -93,6 +93,9 @@ System + + 3.5 + System.Data diff --git a/src/Spring/Spring.Core/Caching/ICache.cs b/src/Spring/Spring.Core/Caching/ICache.cs index 0afcc90e..5cbc3a45 100644 --- a/src/Spring/Spring.Core/Caching/ICache.cs +++ b/src/Spring/Spring.Core/Caching/ICache.cs @@ -59,13 +59,13 @@ namespace Spring.Caching /// void Remove(object key); - /// - /// Removes collection of items from the cache. - /// - /// - /// Collection of keys to remove. - /// - void RemoveAll(ICollection keys); + /// + /// Removes collection of items from the cache. + /// + /// + /// Collection of keys to remove. + /// + void RemoveAll(ICollection keys); /// /// Removes all items from the cache. diff --git a/src/Spring/Spring.Core/Caching/NonExpiringCache.cs b/src/Spring/Spring.Core/Caching/NonExpiringCache.cs index 1d7a8f80..b55ce730 100644 --- a/src/Spring/Spring.Core/Caching/NonExpiringCache.cs +++ b/src/Spring/Spring.Core/Caching/NonExpiringCache.cs @@ -20,6 +20,7 @@ using System; using System.Collections; +using System.Collections.Generic; namespace Spring.Caching { @@ -30,7 +31,8 @@ namespace Spring.Caching /// Aleksandar Seovic public class NonExpiringCache : AbstractCache { - private readonly IDictionary itemStore = new Hashtable(); + private readonly object syncRoot = new object(); + private readonly IDictionary itemStore = new Dictionary(); /// /// Gets the number of items in the cache. @@ -39,7 +41,7 @@ namespace Spring.Caching { get { - lock (itemStore.SyncRoot) + lock (syncRoot) { return itemStore.Count; } @@ -53,9 +55,9 @@ namespace Spring.Caching { get { - lock (itemStore.SyncRoot) + lock (syncRoot) { - return itemStore.Keys; + return (ICollection) itemStore.Keys; } } } @@ -71,9 +73,11 @@ namespace Spring.Caching /// public override object Get(object key) { - lock (itemStore.SyncRoot) + lock (syncRoot) { - return itemStore[key]; + object value; + itemStore.TryGetValue(key, out value); + return value; } } @@ -85,7 +89,7 @@ namespace Spring.Caching /// public override void Remove(object key) { - lock (itemStore.SyncRoot) + lock (syncRoot) { itemStore.Remove(key); } @@ -99,7 +103,7 @@ namespace Spring.Caching /// public override void RemoveAll(ICollection keys) { - lock (itemStore.SyncRoot) + lock (syncRoot) { foreach (object key in keys) { @@ -113,7 +117,7 @@ namespace Spring.Caching /// public override void Clear() { - lock (itemStore.SyncRoot) + lock (syncRoot) { itemStore.Clear(); } @@ -133,7 +137,7 @@ namespace Spring.Caching /// protected override void DoInsert(object key, object value, TimeSpan timeToLive) { - lock (itemStore.SyncRoot) + lock (syncRoot) { itemStore[key] = value; } diff --git a/src/Spring/Spring.Core/Context/IMessageSourceResolvable.cs b/src/Spring/Spring.Core/Context/IMessageSourceResolvable.cs index 35832428..d871adb6 100644 --- a/src/Spring/Spring.Core/Context/IMessageSourceResolvable.cs +++ b/src/Spring/Spring.Core/Context/IMessageSourceResolvable.cs @@ -21,6 +21,7 @@ #region Imports using System; +using System.Collections.Generic; using System.Globalization; #endregion @@ -46,16 +47,16 @@ namespace Spring.Context /// Return the codes to be used to resolve this message, in the order /// that they are to be tried. /// - /// - ///

- /// The last code will therefore be the default one. - ///

- ///
+ /// + ///

+ /// The last code will therefore be the default one. + ///

+ ///
/// /// A array of codes which are associated /// with this message. /// - string[] GetCodes(); + IList GetCodes(); /// /// Return the array of arguments to be used to resolve this message. diff --git a/src/Spring/Spring.Core/Context/Support/AbstractApplicationContext.cs b/src/Spring/Spring.Core/Context/Support/AbstractApplicationContext.cs index 801c7d13..85944326 100644 --- a/src/Spring/Spring.Core/Context/Support/AbstractApplicationContext.cs +++ b/src/Spring/Spring.Core/Context/Support/AbstractApplicationContext.cs @@ -22,6 +22,7 @@ using System; using System.Collections; +using System.Collections.Generic; using System.Diagnostics; using System.Globalization; using Common.Logging; @@ -140,8 +141,8 @@ namespace Spring.Context.Support private IEventRegistry _eventRegistry; private IApplicationContext _parentApplicationContext; - private readonly IList _objectFactoryPostProcessors; - private readonly IList _defaultObjectPostProcessors; + private readonly IList _objectFactoryPostProcessors; + private readonly IList _defaultObjectPostProcessors; private string _name; private DateTime _startupDate; private readonly bool _isCaseSensitive; @@ -205,8 +206,8 @@ namespace Spring.Context.Support _isCaseSensitive = caseSensitive; _parentApplicationContext = parentApplicationContext; EventRaiser = CreateEventRaiser(); - _objectFactoryPostProcessors = new ArrayList(); - _defaultObjectPostProcessors = new ArrayList(); + _objectFactoryPostProcessors = new List(); + _defaultObjectPostProcessors = new List(); AddDefaultObjectPostProcessor(new ObjectPostProcessorChecker()); AddDefaultObjectPostProcessor(new ApplicationContextAwareProcessor(this)); AddDefaultObjectPostProcessor(new SharedStateAwareProcessor(new ISharedStateFactory[] { new ByTypeSharedStateFactory() }, Int32.MaxValue)); @@ -406,7 +407,7 @@ namespace Spring.Context.Support if (exceptions.HasExceptions) { Delegate target = ContextEvent.GetInvocationList()[0]; - Exception exception = (Exception)exceptions[target]; + Exception exception = exceptions[target]; throw new ApplicationContextException(string.Format("An unhandled exception occured during processing application event {0} in handler {1}", e.GetType(), target.Method), exception); } } @@ -490,20 +491,21 @@ namespace Spring.Context.Support private void InvokeObjectFactoryPostProcessors(IConfigurableListableObjectFactory objectFactory) { // Invoke BeanDefinitionRegistryPostProcessors first, if any. - ArrayList processedObjects = new ArrayList(); + HashSet processedObjects = new HashSet(); if (objectFactory is IObjectDefinitionRegistry) { IObjectDefinitionRegistry registry = (IObjectDefinitionRegistry)objectFactory; - ArrayList regularPostProcessors = new ArrayList(); - ArrayList registryPostProcessors = new ArrayList(); + List regularPostProcessors = new List(); + List registryPostProcessors = new List(); foreach (IObjectFactoryPostProcessor factoryProcessor in ObjectFactoryPostProcessors) { - if (factoryProcessor is IObjectDefinitionRegistryPostProcessor) + IObjectDefinitionRegistryPostProcessor registryPostProcessor = factoryProcessor as IObjectDefinitionRegistryPostProcessor; + if (registryPostProcessor != null) { - ((IObjectDefinitionRegistryPostProcessor)factoryProcessor).PostProcessObjectDefinitionRegistry(registry); - registryPostProcessors.Add(factoryProcessor); + registryPostProcessor.PostProcessObjectDefinitionRegistry(registry); + registryPostProcessors.Add(registryPostProcessor); } else { @@ -511,12 +513,12 @@ namespace Spring.Context.Support } } - IDictionary objectMap = objectFactory.GetObjectsOfType(typeof(IObjectDefinitionRegistryPostProcessor), true, false); + IDictionary objectMap = objectFactory.GetObjects(true, false); - ArrayList registryPostProcessorObjects = new ArrayList(objectMap.Values); - registryPostProcessorObjects.Sort(new OrderComparator()); + List registryPostProcessorObjects = new List(objectMap.Values); + registryPostProcessorObjects.Sort(new OrderComparator()); - foreach (System.Object processor in registryPostProcessorObjects) + foreach (object processor in registryPostProcessorObjects) { ((IObjectDefinitionRegistryPostProcessor)processor).PostProcessObjectDefinitionRegistry(registry); } @@ -527,7 +529,7 @@ namespace Spring.Context.Support // processedObjects.Add(objectMap.Keys); - foreach (DictionaryEntry entry in objectMap) + foreach (KeyValuePair entry in objectMap) { processedObjects.Add(entry.Key); } @@ -544,22 +546,19 @@ namespace Spring.Context.Support // Do not initialize FactoryBeans here: We need to leave all regular beans // uninitialized to let the bean factory post-processors apply to them! - ArrayList factoryProcessorNames = new ArrayList(); - string[] names = GetObjectNamesForType(typeof(IObjectFactoryPostProcessor), true, false); - foreach (string name in names) - { - factoryProcessorNames.Add(name); - } + List factoryProcessorNames = new List(); + IList names = GetObjectNamesForType(typeof(IObjectFactoryPostProcessor), true, false); + factoryProcessorNames.AddRange(names); // Separate between ObjectFactoryPostProcessors that implement PriorityOrdered, // Ordered, and the rest. - ArrayList priorityOrderedFactoryProcessors = new ArrayList(); - ArrayList orderedFactoryProcessorsNames = new ArrayList(); - ArrayList nonOrderedFactoryProcessorNames = new ArrayList(); + List priorityOrderedFactoryProcessors = new List(); + List orderedFactoryProcessorsNames = new List(); + List nonOrderedFactoryProcessorNames = new List(); for (int i = 0; i < factoryProcessorNames.Count; ++i) { - string processorName = (string)factoryProcessorNames[i]; + string processorName = factoryProcessorNames[i]; if (processedObjects.Contains(processorName)) { //skip -- already processed in first phase above @@ -567,7 +566,7 @@ namespace Spring.Context.Support } else if (IsTypeMatch(processorName, typeof(IPriorityOrdered))) { - priorityOrderedFactoryProcessors.Add(ObjectFactory.GetObject(processorName, typeof(IObjectFactoryPostProcessor))); + priorityOrderedFactoryProcessors.Add(ObjectFactory.GetObject(processorName)); } else if (IsTypeMatch(processorName, typeof(IOrdered))) { @@ -582,21 +581,19 @@ namespace Spring.Context.Support InvokePriorityOrderedObjectFactoryPostProcessors(factoryProcessorNames, priorityOrderedFactoryProcessors); // Second, invoke those IObjectFactoryPostProcessors that implement IOrdered... - ArrayList orderedFactoryProcessors = new ArrayList(); + List orderedFactoryProcessors = new List(); foreach (string orderedFactoryProcessorsName in orderedFactoryProcessorsNames) { - orderedFactoryProcessors.Add(ObjectFactory.GetObject(orderedFactoryProcessorsName, - typeof(IObjectFactoryPostProcessor))); + orderedFactoryProcessors.Add(ObjectFactory.GetObject(orderedFactoryProcessorsName)); } - orderedFactoryProcessors.Sort(new OrderComparator()); + orderedFactoryProcessors.Sort(new OrderComparator()); InvokeObjectFactoryPostProcessors(orderedFactoryProcessors, ObjectFactory); // and then the unordered ones... - ArrayList nonOrderedPostProcessors = new ArrayList(); + List nonOrderedPostProcessors = new List(); foreach (string nonOrderedFactoryProcessorName in nonOrderedFactoryProcessorNames) { - nonOrderedPostProcessors.Add(ObjectFactory.GetObject(nonOrderedFactoryProcessorName, - typeof(IObjectFactoryPostProcessor))); + nonOrderedPostProcessors.Add(ObjectFactory.GetObject(nonOrderedFactoryProcessorName)); } InvokeObjectFactoryPostProcessors(nonOrderedPostProcessors, ObjectFactory); @@ -614,14 +611,14 @@ namespace Spring.Context.Support #endregion } - protected virtual void InvokePriorityOrderedObjectFactoryPostProcessors(ArrayList factoryProcessorNames, ArrayList priorityOrderedFactoryProcessors) + protected virtual void InvokePriorityOrderedObjectFactoryPostProcessors(List factoryProcessorNames, List priorityOrderedFactoryProcessors) { - priorityOrderedFactoryProcessors.Sort(new OrderComparator()); + priorityOrderedFactoryProcessors.Sort(new OrderComparator()); InvokeObjectFactoryPostProcessors(priorityOrderedFactoryProcessors, ObjectFactory); // Now will find any additional IObjectFactoryPostProcessors that implement IPriorityOrdered that may have been // resolved due to using TypeAlias - string[] factoryProcessorNamesAfterTypeAlias = GetObjectNamesForType(typeof(IObjectFactoryPostProcessor), true, false); + IList factoryProcessorNamesAfterTypeAlias = GetObjectNamesForType(typeof(IObjectFactoryPostProcessor), true, false); priorityOrderedFactoryProcessors.Clear(); foreach (string factoryProcessorName in factoryProcessorNamesAfterTypeAlias) { @@ -629,12 +626,12 @@ namespace Spring.Context.Support { if (IsTypeMatch(factoryProcessorName, typeof(IPriorityOrdered))) { - priorityOrderedFactoryProcessors.Add(ObjectFactory.GetObject(factoryProcessorName, typeof(IObjectFactoryPostProcessor))); + priorityOrderedFactoryProcessors.Add(ObjectFactory.GetObject(factoryProcessorName)); } } } // Second, invoke newly discovered IObjectFactoryPostProcessors that implement IPriorityOrdered. - priorityOrderedFactoryProcessors.Sort(new OrderComparator()); + priorityOrderedFactoryProcessors.Sort(new OrderComparator()); InvokeObjectFactoryPostProcessors(priorityOrderedFactoryProcessors, ObjectFactory); } @@ -649,8 +646,8 @@ namespace Spring.Context.Support private void RegisterObjectPostProcessors(IConfigurableListableObjectFactory objectFactory) { RefreshObjectPostProcessorChecker(objectFactory); - IDictionary dict = GetObjectsOfType(typeof(IObjectPostProcessor), true, false); - ArrayList objectProcessors = new ArrayList(dict.Values); + IDictionary dict = GetObjects(true, false); + List objectProcessors = new List(dict.Values); // objectProcessors.Sort(new OrderComparator()); foreach (IObjectPostProcessor objectPostProcessor in objectProcessors) { @@ -675,7 +672,7 @@ namespace Spring.Context.Support /// private void RefreshObjectPostProcessorChecker(IConfigurableListableObjectFactory objectFactory) { - int registeredObjectPostProcessorCount = GetObjectNamesForType(typeof(IObjectPostProcessor), true, false).Length; + int registeredObjectPostProcessorCount = GetObjectNamesForType(typeof(IObjectPostProcessor), true, false).Count; int objectPostProcessorCount = ObjectFactory.ObjectPostProcessorCount + 1 + registeredObjectPostProcessorCount; ((ObjectPostProcessorChecker)_defaultObjectPostProcessors[0]).Reset(objectFactory, objectPostProcessorCount); @@ -733,8 +730,7 @@ namespace Spring.Context.Support #endregion } - ICollection interestedParties - = GetObjectsOfType(typeof(IEventRegistryAware), true, false).Values; + ICollection interestedParties = GetObjects(true, false).Values; foreach (IEventRegistryAware party in interestedParties) { party.EventRegistry = EventRegistry; @@ -857,9 +853,7 @@ namespace Spring.Context.Support private void RefreshApplicationEventListeners() { - ICollection listeners - = GetObjectsOfType( - typeof(IApplicationEventListener), true, false).Values; + ICollection listeners = GetObjects(true, false).Values; foreach (IApplicationEventListener applicationListener in listeners) { EventRegistry.Subscribe(applicationListener); @@ -883,7 +877,7 @@ namespace Spring.Context.Support /// s /// that will be applied to the objects created with this factory. /// - private IList ObjectFactoryPostProcessors + private IList ObjectFactoryPostProcessors { get { return _objectFactoryPostProcessors; } } @@ -1056,7 +1050,7 @@ namespace Spring.Context.Support // index 0 contains the ObjectPostProcessorChecker that is handled separately! for (int i = 1; i < _defaultObjectPostProcessors.Count; i++) { - objectFactory.AddObjectPostProcessor((IObjectPostProcessor)this._defaultObjectPostProcessors[i]); + objectFactory.AddObjectPostProcessor(this._defaultObjectPostProcessors[i]); } } @@ -1088,11 +1082,11 @@ namespace Spring.Context.Support /// public void Start() { - IDictionary lifecycleObjects = LifeCycleObjects; - foreach (DictionaryEntry dictionaryEntry in lifecycleObjects) + IDictionary lifecycleObjects = LifeCycleObjects; + foreach (KeyValuePair dictionaryEntry in lifecycleObjects) { //TODO start dependencies of the lifecycle objects - ILifecycle obj = dictionaryEntry.Value as ILifecycle; + ILifecycle obj = dictionaryEntry.Value; if (obj != null) { if (!obj.IsRunning) @@ -1113,11 +1107,11 @@ namespace Spring.Context.Support /// public void Stop() { - IDictionary lifecycleObjects = LifeCycleObjects; - foreach (DictionaryEntry dictionaryEntry in lifecycleObjects) + IDictionary lifecycleObjects = LifeCycleObjects; + foreach (KeyValuePair dictionaryEntry in lifecycleObjects) { //TODO stop dependencies of the lifecycle objects - ILifecycle obj = dictionaryEntry.Value as ILifecycle; + ILifecycle obj = dictionaryEntry.Value; if (obj != null) { if (obj.IsRunning) @@ -1142,10 +1136,10 @@ namespace Spring.Context.Support { get { - IDictionary lifecycleObjects = LifeCycleObjects; - foreach (DictionaryEntry dictionaryEntry in lifecycleObjects) + IDictionary lifecycleObjects = LifeCycleObjects; + foreach (KeyValuePair dictionaryEntry in lifecycleObjects) { - ILifecycle obj = dictionaryEntry.Value as ILifecycle; + ILifecycle obj = dictionaryEntry.Value; if (obj != null) { if (!obj.IsRunning) @@ -1163,19 +1157,19 @@ namespace Spring.Context.Support /// ILifecycle interface in this context. ///
/// A dictionary of ILifecycle objects with object name as key. - private IDictionary LifeCycleObjects + private IDictionary LifeCycleObjects { get { IConfigurableListableObjectFactory objectFactory = ObjectFactory; - string[] objectNames = objectFactory.SingletonNames; - IDictionary lifeCycleObjects = new Hashtable(); + IList objectNames = objectFactory.SingletonNames; + IDictionary lifeCycleObjects = new Dictionary(); foreach (string objectName in objectNames) { object obj = objectFactory.GetSingleton(objectName); if (obj is ILifecycle) { - lifeCycleObjects[objectName] = obj; + lifeCycleObjects[objectName] = (ILifecycle) obj; } } return lifeCycleObjects; @@ -1235,7 +1229,7 @@ namespace Spring.Context.Support /// are defined. /// /// - public string[] GetObjectNamesForType(Type type) + public IList GetObjectNamesForType(Type type) { return ObjectFactory.GetObjectNamesForType(type); } @@ -1263,7 +1257,7 @@ namespace Spring.Context.Support /// The names of all objects defined in this factory, or an empty array if none /// are defined. /// - public string[] GetObjectNamesForType() + public IList GetObjectNames() { return GetObjectNamesForType(typeof(T)); } @@ -1289,8 +1283,7 @@ namespace Spring.Context.Support /// are defined. /// /// - public string[] GetObjectNamesForType( - Type type, bool includePrototypes, bool includeFactoryObjects) + public IList GetObjectNamesForType(Type type, bool includePrototypes, bool includeFactoryObjects) { return ObjectFactory.GetObjectNamesForType(type, includePrototypes, includeFactoryObjects); } @@ -1330,7 +1323,7 @@ namespace Spring.Context.Support /// The names of all objects defined in this factory, or an empty array if none /// are defined. /// - public string[] GetObjectNamesForType(bool includePrototypes, bool includeFactoryObjects) + public IList GetObjectNames(bool includePrototypes, bool includeFactoryObjects) { return GetObjectNamesForType(typeof(T), includePrototypes, includeFactoryObjects); } @@ -1343,7 +1336,7 @@ namespace Spring.Context.Support /// are defined. /// /// - public string[] GetObjectDefinitionNames() + public IList GetObjectDefinitionNames() { return ObjectFactory.GetObjectDefinitionNames(); } @@ -1413,7 +1406,7 @@ namespace Spring.Context.Support /// If the objects could not be created. /// /// - public IDictionary GetObjectsOfType(Type type) + public IDictionary GetObjectsOfType(Type type) { return GetObjectsOfType(type, true, true); } @@ -1445,9 +1438,9 @@ namespace Spring.Context.Support /// /// If the objects could not be created. /// - public IDictionary GetObjectsOfType() + public IDictionary GetObjects() { - return GetObjectsOfType(typeof(T)); + return ObjectFactory.GetObjects(true, true); } /// @@ -1477,7 +1470,7 @@ namespace Spring.Context.Support /// If the objects could not be created. /// /// - public IDictionary GetObjectsOfType( + public IDictionary GetObjectsOfType( Type type, bool includePrototypes, bool includeFactoryObjects) { return ObjectFactory.GetObjectsOfType(type, includePrototypes, includeFactoryObjects); @@ -1494,12 +1487,12 @@ namespace Spring.Context.Support /// The (class or interface) to match. /// /// - /// Whether to include prototype objects too or just singletons (also applies to - /// s). + /// Whether to include prototype objects too or just singletons (also applies to + /// s). /// /// - /// Whether to include s too - /// or just normal objects. + /// Whether to include s too + /// or just normal objects. /// /// /// A of the matching objects, @@ -1509,9 +1502,9 @@ namespace Spring.Context.Support /// /// If the objects could not be created. /// - public IDictionary GetObjectsOfType(bool includePrototypes, bool includeFactoryObjects) + public IDictionary GetObjects(bool includePrototypes, bool includeFactoryObjects) { - return GetObjectsOfType(typeof(T), includePrototypes, includeFactoryObjects); + return ObjectFactory.GetObjects(includePrototypes, includeFactoryObjects); } /// @@ -1545,13 +1538,13 @@ namespace Spring.Context.Support /// public T GetObject() { - string[] objectNamesForType = GetObjectNamesForType(typeof(T)); - if ((objectNamesForType == null) || (objectNamesForType.Length == 0)) + IList objectNamesForType = GetObjectNamesForType(typeof(T)); + if ((objectNamesForType == null) || (objectNamesForType.Count == 0)) { throw new NoSuchObjectDefinitionException(typeof(T).FullName, "Requested Type not Defined in the Context."); } - if (objectNamesForType.Length > 1) + if (objectNamesForType.Count > 1) { throw new ObjectDefinitionStoreException(string.Format("More than one definition for {0} found in the Context.", typeof(T).FullName)); } @@ -1627,7 +1620,7 @@ namespace Spring.Context.Support /// If there's no such object definition. /// /// - public string[] GetAliases(string name) + public IList GetAliases(string name) { return ObjectFactory.GetAliases(name); } diff --git a/src/Spring/Spring.Core/Context/Support/AbstractMessageSource.cs b/src/Spring/Spring.Core/Context/Support/AbstractMessageSource.cs index 024513fd..462e71bc 100644 --- a/src/Spring/Spring.Core/Context/Support/AbstractMessageSource.cs +++ b/src/Spring/Spring.Core/Context/Support/AbstractMessageSource.cs @@ -19,6 +19,7 @@ #endregion using System; +using System.Collections.Generic; using System.Globalization; using Common.Logging; @@ -282,21 +283,21 @@ namespace Spring.Context.Support /// public string GetMessage(IMessageSourceResolvable resolvable, CultureInfo culture) { - string[] codes = resolvable.GetCodes(); + IList codes = resolvable.GetCodes(); if (codes == null) codes = new string[0]; - for (int i = 0; i < codes.Length; i++) + for (int i = 0; i < codes.Count; i++) { string msg = GetMessageInternal(codes[i], resolvable.GetArguments(), culture); if (msg != null) return msg; } if (resolvable.DefaultMessage != null) return RenderDefaultMessage(resolvable.DefaultMessage, resolvable.GetArguments(), culture); - if (codes.Length > 0) + if (codes.Count > 0) { string fallback = GetDefaultMessage(codes[0]); if (fallback != null) return fallback; } - throw new NoSuchMessageException(codes.Length > 0 ? codes[codes.Length - 1] : null, culture); + throw new NoSuchMessageException(codes.Count > 0 ? codes[codes.Count - 1] : null, culture); } /// diff --git a/src/Spring/Spring.Core/Context/Support/AbstractXmlApplicationContext.cs b/src/Spring/Spring.Core/Context/Support/AbstractXmlApplicationContext.cs index 447031bb..4c5ce413 100644 --- a/src/Spring/Spring.Core/Context/Support/AbstractXmlApplicationContext.cs +++ b/src/Spring/Spring.Core/Context/Support/AbstractXmlApplicationContext.cs @@ -22,8 +22,7 @@ using System; using System.IO; -using System.Threading; -using Common.Logging; + using Spring.Objects; using Spring.Objects.Factory.Config; using Spring.Objects.Factory.Support; diff --git a/src/Spring/Spring.Core/Context/Support/AbstractXmlApplicationContextArgs.cs b/src/Spring/Spring.Core/Context/Support/AbstractXmlApplicationContextArgs.cs index f5bac768..68e9ec8e 100644 --- a/src/Spring/Spring.Core/Context/Support/AbstractXmlApplicationContextArgs.cs +++ b/src/Spring/Spring.Core/Context/Support/AbstractXmlApplicationContextArgs.cs @@ -18,7 +18,6 @@ #endregion -using System; using Spring.Core.IO; namespace Spring.Context.Support diff --git a/src/Spring/Spring.Core/Context/Support/ApplicationContextAwareProcessor.cs b/src/Spring/Spring.Core/Context/Support/ApplicationContextAwareProcessor.cs index f27e7b83..fa9a766e 100644 --- a/src/Spring/Spring.Core/Context/Support/ApplicationContextAwareProcessor.cs +++ b/src/Spring/Spring.Core/Context/Support/ApplicationContextAwareProcessor.cs @@ -20,7 +20,6 @@ #region Imports -using System; using System.Runtime.Remoting; using Spring.Objects.Factory.Config; diff --git a/src/Spring/Spring.Core/Context/Support/ApplicationObjectSupport.cs b/src/Spring/Spring.Core/Context/Support/ApplicationObjectSupport.cs index b535bd80..bb1cdf8b 100644 --- a/src/Spring/Spring.Core/Context/Support/ApplicationObjectSupport.cs +++ b/src/Spring/Spring.Core/Context/Support/ApplicationObjectSupport.cs @@ -21,7 +21,7 @@ #region Imports using System; -using System.Globalization; + using Spring.Objects; #endregion diff --git a/src/Spring/Spring.Core/Context/Support/ContextHandler.cs b/src/Spring/Spring.Core/Context/Support/ContextHandler.cs index 0c21fed1..c97613aa 100644 --- a/src/Spring/Spring.Core/Context/Support/ContextHandler.cs +++ b/src/Spring/Spring.Core/Context/Support/ContextHandler.cs @@ -20,16 +20,15 @@ #region Imports -using System; -using System.Collections; +using System; +using System.Collections.Generic; using System.Configuration; using System.Reflection; using System.Xml; using Common.Logging; using Spring.Core; -using Spring.Core.TypeResolution; -using Spring.Objects; +using Spring.Core.TypeResolution; using Spring.Reflection.Dynamic; using Spring.Util; @@ -283,7 +282,7 @@ namespace Spring.Context.Support bool caseSensitive = GetCaseSensitivity(contextElement); // get resource-list - string[] resources = GetResources(contextElement); + IList resources = GetResources(contextElement); // finally create the context instance context = InstantiateContext(parentContext, configContext, contextName, contextType, caseSensitive, resources); @@ -294,7 +293,7 @@ namespace Spring.Context.Support } // get and create child context definitions - XmlNode[] childContexts = GetChildContexts(contextElement); + IList childContexts = GetChildContexts(contextElement); CreateChildContexts(context, configContext, childContexts); if (Log.IsDebugEnabled) Log.Debug( string.Format("context '{0}' created for name '{1}'", context, contextName) ); @@ -310,15 +309,15 @@ namespace Spring.Context.Support throw; } return context; - } - - /// - /// Create all child-contexts in the given for the given context. - /// - /// The parent context to use - /// The current configContext - /// The list of child context elements - protected virtual void CreateChildContexts(IApplicationContext parentContext, object configContext, XmlNode[] childContexts) + } + + /// + /// Create all child-contexts in the given for the given context. + /// + /// The parent context to use + /// The current configContext + /// The list of child context elements + protected virtual void CreateChildContexts(IApplicationContext parentContext, object configContext, IList childContexts) { // create child contexts for 'the most recently created context'... foreach (XmlNode childContext in childContexts) @@ -330,18 +329,18 @@ namespace Spring.Context.Support /// /// Instantiates a new context. /// - protected virtual IApplicationContext InstantiateContext(IApplicationContext parentContext, object configContext, string contextName, Type contextType, bool caseSensitive, string[] resources) + protected virtual IApplicationContext InstantiateContext(IApplicationContext parentContext, object configContext, string contextName, Type contextType, bool caseSensitive, IList resources) { IApplicationContext context; ContextInstantiator instantiator; if (parentContext == null) { - instantiator = new RootContextInstantiator(contextType, contextName, caseSensitive, resources); + instantiator = new RootContextInstantiator(contextType, contextName, caseSensitive, new List(resources).ToArray()); } else - { - instantiator = new DescendantContextInstantiator(parentContext, contextType, contextName, caseSensitive, resources); + { + instantiator = new DescendantContextInstantiator(parentContext, contextType, contextName, caseSensitive, new List(resources).ToArray()); } if (IsLazy) @@ -447,9 +446,9 @@ namespace Spring.Context.Support /// Returns the array of resources containing object definitions for /// this context. /// - private string[] GetResources( XmlElement contextElement ) - { - ArrayList resourceNodes = new ArrayList(contextElement.ChildNodes.Count); + private IList GetResources( XmlElement contextElement ) + { + List resourceNodes = new List(contextElement.ChildNodes.Count); foreach (XmlNode possibleResourceNode in contextElement.ChildNodes) { XmlElement possibleResourceElement = possibleResourceNode as XmlElement; @@ -463,15 +462,15 @@ namespace Spring.Context.Support } } } - return (string[]) resourceNodes.ToArray(typeof(string)); + return resourceNodes; } /// /// Returns the array of child contexts for this context. /// - private XmlNode[] GetChildContexts(XmlElement contextElement) - { - ArrayList contextNodes = new ArrayList(contextElement.ChildNodes.Count); + private IList GetChildContexts(XmlElement contextElement) + { + List contextNodes = new List(contextElement.ChildNodes.Count); foreach (XmlNode possibleContextNode in contextElement.ChildNodes) { XmlElement possibleContextElement = possibleContextNode as XmlElement; @@ -481,7 +480,7 @@ namespace Spring.Context.Support contextNodes.Add(possibleContextElement); } } - return (XmlNode[])contextNodes.ToArray(typeof(XmlNode)); + return contextNodes; } #region Inner Class : ContextInstantiator @@ -529,7 +528,7 @@ namespace Spring.Context.Support get { return _caseSensitive; } } - protected string[] Resources + protected IList Resources { get { return _resources; } } @@ -537,7 +536,7 @@ namespace Spring.Context.Support private Type _contextType; private string _contextName; private bool _caseSensitive; - private string[] _resources; + private IList _resources; } #endregion diff --git a/src/Spring/Spring.Core/Context/Support/ContextRegistry.cs b/src/Spring/Spring.Core/Context/Support/ContextRegistry.cs index e04191c1..73e1600f 100644 --- a/src/Spring/Spring.Core/Context/Support/ContextRegistry.cs +++ b/src/Spring/Spring.Core/Context/Support/ContextRegistry.cs @@ -21,14 +21,12 @@ #region Imports using System; -using System.Collections; -using System.Collections.Specialized; -using System.Configuration; +using System.Collections.Generic; + using Common.Logging; + using Spring.Context.Events; using Spring.Util; -using Spring.Objects.Factory; -using Spring.Objects.Factory.Support; #endregion @@ -63,7 +61,7 @@ namespace Spring.Context.Support private static readonly ContextRegistry instance = new ContextRegistry(); private static string rootContextName = null; - private IDictionary contextMap = CollectionsUtil.CreateCaseInsensitiveHashtable(); + private IDictionary contextMap = new Dictionary(StringComparer.OrdinalIgnoreCase); #region Constructor (s) / Destructor @@ -108,7 +106,7 @@ namespace Spring.Context.Support { IApplicationContext parent = context.ParentContext; - Hashtable contexts = new Hashtable(); + Dictionary contexts = new Dictionary(); int contextIndex = 0; @@ -125,7 +123,7 @@ namespace Spring.Context.Support for (int i = contextIndex; i > 0; i--) { - IApplicationContext contextToUpdate = (IApplicationContext)contexts[i]; + IApplicationContext contextToUpdate = contexts[i]; if (prefix != string.Empty) prefix = string.Format("{0}/{1}", prefix, contextToUpdate.Name); @@ -171,22 +169,20 @@ namespace Spring.Context.Support lock (syncRoot) { - if (instance.contextMap.Contains(context.Name)) + IApplicationContext ctx; + if (instance.contextMap.TryGetValue(context.Name, out ctx)) { - IApplicationContext ctx = (IApplicationContext)instance.contextMap[context.Name]; - throw new ApplicationContextException( - string.Format("Existing context '{0}' already registered under name '{1}'.", - ctx, context.Name)); + throw new ApplicationContextException(string.Format("Existing context '{0}' already registered under name '{1}'.", ctx, context.Name)); } + instance.contextMap[context.Name] = context; - context.ContextEvent += new ApplicationEventHandler(OnContextEvent); + context.ContextEvent += OnContextEvent; #region Instrumentation if (log.IsDebugEnabled) { - log.Debug(String.Format( - "Registering context '{0}' under name '{1}'.", context, context.Name)); + log.Debug(String.Format("Registering context '{0}' under name '{1}'.", context, context.Name)); } #endregion @@ -290,8 +286,8 @@ namespace Spring.Context.Support lock (syncRoot) { InitializeContextIfNeeded(); - IApplicationContext ctx = (IApplicationContext)instance.contextMap[name]; - if (ctx == null) + IApplicationContext ctx; + if (!instance.contextMap.TryGetValue(name, out ctx)) { throw new ApplicationContextException(String.Format( "No context registered under name '{0}'. Use the 'RegisterContext' method or the 'spring/context' section from your configuration file.", @@ -325,7 +321,7 @@ namespace Spring.Context.Support { lock (syncRoot) { - ArrayList contexts = new ArrayList(instance.contextMap.Values); + ICollection contexts = new List(instance.contextMap.Values); foreach (IApplicationContext ctx in contexts) { ctx.Dispose(); @@ -369,7 +365,9 @@ namespace Spring.Context.Support { lock (instance) { - return (instance.contextMap[name] != null); + IApplicationContext temp; + instance.contextMap.TryGetValue(name, out temp); + return temp != null; } } diff --git a/src/Spring/Spring.Core/Context/Support/DefaultMessageSourceResolvable.cs b/src/Spring/Spring.Core/Context/Support/DefaultMessageSourceResolvable.cs index ca8fbeb6..5f86f20f 100644 --- a/src/Spring/Spring.Core/Context/Support/DefaultMessageSourceResolvable.cs +++ b/src/Spring/Spring.Core/Context/Support/DefaultMessageSourceResolvable.cs @@ -21,6 +21,7 @@ #region Imports using System; +using System.Collections.Generic; using System.Globalization; using Spring.Util; @@ -44,7 +45,7 @@ namespace Spring.Context.Support [Serializable] public class DefaultMessageSourceResolvable : IMessageSourceResolvable { - private string[] codes; + private IList codes; private object[] arguments; private string defaultMessage; @@ -97,7 +98,7 @@ namespace Spring.Context.Support /// The default message used if no code could be resolved. /// public DefaultMessageSourceResolvable( - string[] codes, object[] arguments, string defaultMessage) + IList codes, object[] arguments, string defaultMessage) { this.codes = codes; this.arguments = arguments; @@ -141,9 +142,9 @@ namespace Spring.Context.Support { get { - if (codes != null && codes.Length > 0) + if (codes != null && codes.Count > 0) { - return codes[codes.Length - 1]; + return codes[codes.Count - 1]; } else { @@ -181,16 +182,16 @@ namespace Spring.Context.Support #region IMessageSourceResolvable Members - /// - /// Return the codes to be used to resolve this message, in the order - /// that they are to be tried. - /// - /// - /// A array of codes which are associated - /// with this message. - /// - /// - public string[] GetCodes() + /// + /// Return the codes to be used to resolve this message, in the order + /// that they are to be tried. + /// + /// + /// A array of codes which are associated + /// with this message. + /// + /// + public IList GetCodes() { return codes; } diff --git a/src/Spring/Spring.Core/Context/Support/DelegatingMessageSource.cs b/src/Spring/Spring.Core/Context/Support/DelegatingMessageSource.cs index ad75cdfd..03bddaa1 100644 --- a/src/Spring/Spring.Core/Context/Support/DelegatingMessageSource.cs +++ b/src/Spring/Spring.Core/Context/Support/DelegatingMessageSource.cs @@ -20,6 +20,7 @@ #region Imports +using System.Collections.Generic; using System.Globalization; using Spring.Util; @@ -352,8 +353,8 @@ namespace Spring.Context.Support { return resolvable.DefaultMessage; } - string[] codes = resolvable.GetCodes(); - string code = (codes != null && codes.Length > 0 ? codes[0] : string.Empty); + IList codes = resolvable.GetCodes(); + string code = (codes != null && codes.Count > 0 ? codes[0] : string.Empty); throw new NoSuchMessageException(code, culture); } diff --git a/src/Spring/Spring.Core/Context/Support/GenericApplicationContext.cs b/src/Spring/Spring.Core/Context/Support/GenericApplicationContext.cs index 7b29ec14..cef3d73c 100644 --- a/src/Spring/Spring.Core/Context/Support/GenericApplicationContext.cs +++ b/src/Spring/Spring.Core/Context/Support/GenericApplicationContext.cs @@ -1,19 +1,19 @@ #region License -/* - * Copyright 2002-2010 the original author or authors. - * - * 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. +/* + * Copyright 2002-2010 the original author or authors. + * + * 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. */ #endregion diff --git a/src/Spring/Spring.Core/Context/Support/MessageSourceAccessor.cs b/src/Spring/Spring.Core/Context/Support/MessageSourceAccessor.cs index f665b1c8..acae5d81 100644 --- a/src/Spring/Spring.Core/Context/Support/MessageSourceAccessor.cs +++ b/src/Spring/Spring.Core/Context/Support/MessageSourceAccessor.cs @@ -20,7 +20,6 @@ #region Imports -using System; using System.Globalization; #endregion diff --git a/src/Spring/Spring.Core/Context/Support/ResourceSetMessageSource.cs b/src/Spring/Spring.Core/Context/Support/ResourceSetMessageSource.cs index 841e558b..d23a0ebf 100644 --- a/src/Spring/Spring.Core/Context/Support/ResourceSetMessageSource.cs +++ b/src/Spring/Spring.Core/Context/Support/ResourceSetMessageSource.cs @@ -21,7 +21,7 @@ #region Imports using System; -using System.Collections; +using System.Collections.Generic; using System.ComponentModel; using System.Globalization; using System.Resources; @@ -49,8 +49,8 @@ namespace Spring.Context.Support { #region Fields - private Hashtable _cachedResources; - private IList _resourceManagers; + private Dictionary _cachedResources; + private IList _resourceManagers; #endregion @@ -60,15 +60,15 @@ namespace Spring.Context.Support /// public ResourceSetMessageSource() { - _cachedResources = new Hashtable(); - _resourceManagers = new ArrayList(); + _cachedResources = new Dictionary(); + _resourceManagers = new List(); } /// /// The collection of s /// in this . /// - public IList ResourceManagers + public IList ResourceManagers { get { return _resourceManagers; } set { _resourceManagers = value; } @@ -160,9 +160,9 @@ namespace Spring.Context.Support protected object ResolveObject(ResourceManager resourceManager, string code, CultureInfo cultureInfo) { string cacheKey = code + "." + cultureInfo.Name; - object resource = _cachedResources[cacheKey]; + object resource; - if (resource == null) + if (!_cachedResources.TryGetValue(cacheKey, out resource)) { resource = resourceManager.GetObject(code, cultureInfo); if (resource != null) diff --git a/src/Spring/Spring.Core/Context/Support/StaticMessageSource.cs b/src/Spring/Spring.Core/Context/Support/StaticMessageSource.cs index b9aa9fd8..121fb268 100644 --- a/src/Spring/Spring.Core/Context/Support/StaticMessageSource.cs +++ b/src/Spring/Spring.Core/Context/Support/StaticMessageSource.cs @@ -20,7 +20,7 @@ #region Imports -using System.Collections; +using System.Collections.Generic; using System.ComponentModel; using System.Globalization; using System.Text; @@ -47,8 +47,8 @@ namespace Spring.Context.Support /// public class StaticMessageSource : AbstractMessageSource { - private Hashtable _messages; - private Hashtable _objects; + private Dictionary _messages; + private Dictionary _objects; /// /// Creates a new instance of the @@ -56,8 +56,8 @@ namespace Spring.Context.Support /// public StaticMessageSource() { - _messages = new Hashtable(); - _objects = new Hashtable(); + _messages = new Dictionary(); + _objects = new Dictionary(); } /// @@ -73,11 +73,14 @@ namespace Spring.Context.Support /// /// protected override string ResolveMessage(string code, CultureInfo cultureInfo) - { - return (string) _messages[GetLookupKey(code, cultureInfo)]; - } + { + string key = GetLookupKey(code, cultureInfo); + string message; + _messages.TryGetValue(key, out message); + return message; + } - /// + /// /// Resolves an object (typically an icon or bitmap). /// /// The code of the object to resolve. @@ -91,7 +94,10 @@ namespace Spring.Context.Support /// protected override object ResolveObject(string code, CultureInfo cultureInfo) { - return _objects[GetLookupKey(code, cultureInfo)]; + string key = GetLookupKey(code, cultureInfo); + object obj; + _objects.TryGetValue(key, out obj); + return obj; } diff --git a/src/Spring/Spring.Core/Context/Support/XmlApplicationContextArgs.cs b/src/Spring/Spring.Core/Context/Support/XmlApplicationContextArgs.cs index f4dffe1b..bdc3365e 100644 --- a/src/Spring/Spring.Core/Context/Support/XmlApplicationContextArgs.cs +++ b/src/Spring/Spring.Core/Context/Support/XmlApplicationContextArgs.cs @@ -18,7 +18,6 @@ #endregion -using System; using Spring.Core.IO; namespace Spring.Context.Support diff --git a/src/Spring/Spring.Core/Core/ComposedCriteria.cs b/src/Spring/Spring.Core/Core/ComposedCriteria.cs index 8d6e12c9..0086fd69 100644 --- a/src/Spring/Spring.Core/Core/ComposedCriteria.cs +++ b/src/Spring/Spring.Core/Core/ComposedCriteria.cs @@ -21,6 +21,7 @@ #region Imports using System.Collections; +using System.Collections.Generic; using Spring.Core; #endregion @@ -52,7 +53,7 @@ namespace Spring.Core /// public ComposedCriteria(ICriteria criteria) { - _criteria = new ArrayList(); + _criteria = new List(); Add(criteria); } @@ -102,14 +103,14 @@ namespace Spring.Core /// The list of composing this /// instance. /// - protected IList Criteria + protected IList Criteria { get { return _criteria; } } #region Fields - private IList _criteria; + private IList _criteria; #endregion } diff --git a/src/Spring/Spring.Core/Core/IO/ResourceConverter.cs b/src/Spring/Spring.Core/Core/IO/ResourceConverter.cs index 244dd81d..78e5a851 100644 --- a/src/Spring/Spring.Core/Core/IO/ResourceConverter.cs +++ b/src/Spring/Spring.Core/Core/IO/ResourceConverter.cs @@ -21,7 +21,7 @@ #region Imports using System; -using System.Collections; +using System.Collections.Generic; using System.ComponentModel; using System.Globalization; using Common.Logging; @@ -170,7 +170,7 @@ namespace Spring.Core.IO protected virtual string ResolvePath(string path) { // quite inefficient, but cost is only ever paid once at startup... - IList expressions = StringUtils.GetAntExpressions(path); + IList expressions = StringUtils.GetAntExpressions(path); foreach (string expression in expressions) { string environmentValue diff --git a/src/Spring/Spring.Core/Core/IO/ResourceHandlerRegistry.cs b/src/Spring/Spring.Core/Core/IO/ResourceHandlerRegistry.cs index f4ed3a39..1721c561 100644 --- a/src/Spring/Spring.Core/Core/IO/ResourceHandlerRegistry.cs +++ b/src/Spring/Spring.Core/Core/IO/ResourceHandlerRegistry.cs @@ -19,10 +19,10 @@ #endregion using System; -using System.Collections; +using System.Collections.Generic; using System.Reflection; -using System.Security; using System.Security.Permissions; + using Spring.Context.Support; using Spring.Core.TypeResolution; using Spring.Util; @@ -102,14 +102,15 @@ namespace Spring.Core.IO /// private const string ResourcesSectionName = "spring/resourceHandlers"; - private static IDictionary resourceHandlers = new Hashtable(); + private static object syncRoot = new object(); + private static IDictionary resourceHandlers = new Dictionary(); /// /// Registers standard and user-configured resource handlers. /// static ResourceHandlerRegistry() { - lock (resourceHandlers.SyncRoot) + lock (syncRoot) { RegisterResourceHandler("config", typeof(ConfigSectionResource)); RegisterResourceHandler("file", typeof(FileSystemResource)); @@ -139,7 +140,9 @@ namespace Spring.Core.IO public static IDynamicConstructor GetResourceHandler(string protocolName) { AssertUtils.ArgumentNotNull(protocolName, "protocolName"); - return (IDynamicConstructor)resourceHandlers[protocolName]; + IDynamicConstructor constructor; + resourceHandlers.TryGetValue(protocolName, out constructor); + return constructor; } /// @@ -153,7 +156,7 @@ namespace Spring.Core.IO /// If is null. public static bool IsHandlerRegistered(string protocolName) { - return resourceHandlers.Contains(protocolName); + return resourceHandlers.ContainsKey(protocolName); } /// @@ -241,7 +244,7 @@ namespace Spring.Core.IO #endregion - lock (resourceHandlers.SyncRoot) + lock (syncRoot) { SecurityCritical.ExecutePrivileged( new SecurityPermission(SecurityPermissionFlag.Infrastructure), delegate { diff --git a/src/Spring/Spring.Core/Core/OrderComparator.cs b/src/Spring/Spring.Core/Core/OrderComparator.cs index 7ecb4a33..fce0212b 100644 --- a/src/Spring/Spring.Core/Core/OrderComparator.cs +++ b/src/Spring/Spring.Core/Core/OrderComparator.cs @@ -22,27 +22,46 @@ using System; using System.Collections; +using System.Collections.Generic; #endregion namespace Spring.Core { - /// - /// Comparator implementation for objects, sorting by - /// order value ascending (resp. by priority descending). - /// - /// - ///

- /// Non- objects are treated as greatest order values, - /// thus ending up at the end of a list, in arbitrary order (just like same order values of - /// objects). - ///

- ///
- /// Juergen Hoeller + /// + /// Comparator implementation for objects, sorting by + /// order value ascending (resp. by priority descending). + /// + /// + ///

+ /// Non- objects are treated as greatest order values, + /// thus ending up at the end of a list, in arbitrary order (just like same order values of + /// objects). + ///

+ ///
+ /// Juergen Hoeller /// Aleksandar Seovic (.Net) [Serializable] - public class OrderComparator : IComparer - { + public class OrderComparator : OrderComparator, IComparer + { + } + + /// + /// Comparator implementation for objects, sorting by + /// order value ascending (resp. by priority descending). + /// + /// + ///

+ /// Non- objects are treated as greatest order values, + /// thus ending up at the end of a list, in arbitrary order (just like same order values of + /// objects). + ///

+ ///
+ /// Juergen Hoeller + /// Aleksandar Seovic (.Net) + [Serializable] + public class OrderComparator : IComparer + { /// /// Compares two objects and returns a value indicating whether one is less than, /// equal to or greater than the other. @@ -58,12 +77,12 @@ namespace Spring.Core /// /// -1 if first object is less then second, 1 if it is greater, or 0 if they are equal. /// - public virtual int Compare(object o1, object o2) - { - IOrdered o1lhs = o1 as IOrdered; - IOrdered o2rhs = o2 as IOrdered; - int lhs = o1lhs != null ? o1lhs.Order : Int32.MaxValue; - int rhs = o2rhs != null ? o2rhs.Order : Int32.MaxValue; + public virtual int Compare(T o1, T o2) + { + IOrdered o1lhs = o1 as IOrdered; + IOrdered o2rhs = o2 as IOrdered; + int lhs = o1lhs != null ? o1lhs.Order : Int32.MaxValue; + int rhs = o2rhs != null ? o2rhs.Order : Int32.MaxValue; if (lhs < rhs) { return - 1; @@ -76,7 +95,7 @@ namespace Spring.Core { return CompareEqualOrder(o1, o2); } - } + } /// /// Handle the case when both objects have equal sort order priority. By default returns 0, @@ -87,9 +106,9 @@ namespace Spring.Core /// /// -1 if first object is less then second, 1 if it is greater, or 0 if they are equal. /// - protected virtual int CompareEqualOrder(object o1, object o2) + protected virtual int CompareEqualOrder(T o1, T o2) { return 0; } - } -} + } +} \ No newline at end of file diff --git a/src/Spring/Spring.Core/Core/TypeConversion/TypeConverterRegistry.cs b/src/Spring/Spring.Core/Core/TypeConversion/TypeConverterRegistry.cs index d5a5a4c2..0ebb87e2 100644 --- a/src/Spring/Spring.Core/Core/TypeConversion/TypeConverterRegistry.cs +++ b/src/Spring/Spring.Core/Core/TypeConversion/TypeConverterRegistry.cs @@ -21,7 +21,7 @@ #region Imports using System; -using System.Collections; +using System.Collections.Generic; using System.Collections.Specialized; using System.ComponentModel; using System.Drawing; @@ -29,9 +29,9 @@ using System.IO; using System.Net; using System.Resources; using System.Text.RegularExpressions; + using Microsoft.Win32; -using Spring.Core; using Spring.Core.TypeResolution; using Spring.Util; @@ -50,14 +50,15 @@ namespace Spring.Core.TypeConversion /// private const string TypeConvertersSectionName = "spring/typeConverters"; - private static IDictionary converters = new Hashtable(); + private static readonly object syncRoot = new object(); + private static IDictionary converters = new Dictionary(); /// /// Registers standard and configured type converters. /// static TypeConverterRegistry() { - lock (converters.SyncRoot) + lock (syncRoot) { converters[typeof(string[])] = new StringArrayConverter(); converters[typeof(Type)] = new RuntimeTypeConverter(); @@ -88,8 +89,8 @@ namespace Spring.Core.TypeConversion { AssertUtils.ArgumentNotNull(type, "type"); - TypeConverter converter = (TypeConverter) converters[type]; - if (converter == null) + TypeConverter converter; + if (!converters.TryGetValue(type, out converter)) { if (type.IsEnum) { @@ -115,7 +116,7 @@ namespace Spring.Core.TypeConversion AssertUtils.ArgumentNotNull(type, "type"); AssertUtils.ArgumentNotNull(converter, "converter"); - lock (converters.SyncRoot) + lock (syncRoot) { converters[type] = converter; } diff --git a/src/Spring/Spring.Core/Core/TypeResolution/TypeRegistry.cs b/src/Spring/Spring.Core/Core/TypeResolution/TypeRegistry.cs index 049a8ed5..15e5f55e 100644 --- a/src/Spring/Spring.Core/Core/TypeResolution/TypeRegistry.cs +++ b/src/Spring/Spring.Core/Core/TypeResolution/TypeRegistry.cs @@ -21,9 +21,8 @@ #region Imports using System; -using System.Collections; +using System.Collections.Generic; -using Spring.Core; using Spring.Util; #endregion @@ -430,7 +429,8 @@ namespace Spring.Core.TypeResolution #region Fields - private static IDictionary types = new Hashtable(); + private static readonly object syncRoot = new object(); + private static IDictionary types = new Dictionary(); #endregion @@ -441,7 +441,7 @@ namespace Spring.Core.TypeResolution /// static TypeRegistry() { - lock (types.SyncRoot) + lock (syncRoot) { types["Int32"] = typeof(Int32); types[Int32Alias] = typeof(Int32); @@ -608,8 +608,8 @@ namespace Spring.Core.TypeResolution public static void RegisterType(Type type) { AssertUtils.ArgumentNotNull(type, "type"); - - lock (types.SyncRoot) + + lock (syncRoot) { types[type.Name] = type; } @@ -634,7 +634,7 @@ namespace Spring.Core.TypeResolution AssertUtils.ArgumentHasText(alias, "alias"); AssertUtils.ArgumentNotNull(type, "type"); - lock (types.SyncRoot) + lock (syncRoot) { types[alias] = type; } @@ -658,7 +658,9 @@ namespace Spring.Core.TypeResolution public static Type ResolveType(string alias) { AssertUtils.ArgumentHasText(alias, "alias"); - return (Type) types[alias]; + Type type; + types.TryGetValue(alias, out type); + return type; } /// @@ -674,7 +676,7 @@ namespace Spring.Core.TypeResolution /// public static bool ContainsAlias(string alias) { - return types.Contains(alias); + return types.ContainsKey(alias); } } } \ No newline at end of file diff --git a/src/Spring/Spring.Core/Core/TypeResolution/TypeResolutionUtils.cs b/src/Spring/Spring.Core/Core/TypeResolution/TypeResolutionUtils.cs index 7b967cf7..5eade196 100644 --- a/src/Spring/Spring.Core/Core/TypeResolution/TypeResolutionUtils.cs +++ b/src/Spring/Spring.Core/Core/TypeResolution/TypeResolutionUtils.cs @@ -21,7 +21,7 @@ #region Imports using System; -using System.Collections; +using System.Collections.Generic; using System.Globalization; using System.Text.RegularExpressions; using System.Reflection; @@ -122,11 +122,11 @@ namespace Spring.Core.TypeResolution /// If (or any of its elements ) is /// . /// - public static Type[] ResolveInterfaceArray(string[] interfaceNames) + public static IList ResolveInterfaceArray(string[] interfaceNames) { AssertUtils.ArgumentNotNull(interfaceNames, "interfaceNames"); - ArrayList interfaces = new ArrayList(); + List interfaces = new List(); for (int i = 0; i < interfaceNames.Length; i++) { string interfaceName = interfaceNames[i]; @@ -143,7 +143,7 @@ namespace Spring.Core.TypeResolution interfaces.Add(resolvedInterface); interfaces.AddRange(resolvedInterface.GetInterfaces()); } - return (Type[])interfaces.ToArray(typeof(Type)); + return interfaces; } #region MethodMatch diff --git a/src/Spring/Spring.Core/DataBinding/AbstractBinding.cs b/src/Spring/Spring.Core/DataBinding/AbstractBinding.cs index 4ab51109..896b81a9 100644 --- a/src/Spring/Spring.Core/DataBinding/AbstractBinding.cs +++ b/src/Spring/Spring.Core/DataBinding/AbstractBinding.cs @@ -1,5 +1,6 @@ using System; using System.Collections; +using System.Collections.Generic; using Spring.Collections; using Spring.Util; using Spring.Validation; @@ -41,7 +42,7 @@ namespace Spring.DataBinding { if (errors == null) return true; - IList errorList = errors.GetErrors(ALL_BINDINGERRORS_PROVIDER); + IList errorList = errors.GetErrors(ALL_BINDINGERRORS_PROVIDER); return (errorList == null) || (!errorList.Contains(this.ErrorMessage)); } @@ -150,35 +151,35 @@ namespace Spring.DataBinding /// Binds source object to target object. /// /// - /// The source object. + /// The source object. /// /// - /// The target object. + /// The target object. /// /// - /// Validation errors collection that type conversion errors should be added to. + /// Validation errors collection that type conversion errors should be added to. /// /// - /// Variables that should be used during expression evaluation. + /// Variables that should be used during expression evaluation. /// - public abstract void BindSourceToTarget(object source, object target, IValidationErrors validationErrors, IDictionary variables); + public abstract void BindSourceToTarget(object source, object target, IValidationErrors validationErrors, IDictionary variables); /// /// Binds target object to source object. /// /// - /// The source object. + /// The source object. /// /// - /// The target object. + /// The target object. /// /// - /// Validation errors collection that type conversion errors should be added to. + /// Validation errors collection that type conversion errors should be added to. /// /// - /// Variables that should be used during expression evaluation. + /// Variables that should be used during expression evaluation. /// - public abstract void BindTargetToSource(object source, object target, IValidationErrors validationErrors, IDictionary variables); + public abstract void BindTargetToSource(object source, object target, IValidationErrors validationErrors, IDictionary variables); /// /// Sets error message that should be displayed in the case diff --git a/src/Spring/Spring.Core/DataBinding/AbstractSimpleBinding.cs b/src/Spring/Spring.Core/DataBinding/AbstractSimpleBinding.cs index f87f6d84..a45dd4eb 100644 --- a/src/Spring/Spring.Core/DataBinding/AbstractSimpleBinding.cs +++ b/src/Spring/Spring.Core/DataBinding/AbstractSimpleBinding.cs @@ -1,5 +1,6 @@ using System; using System.Collections; +using System.Collections.Generic; using System.Reflection; using Common.Logging; using Spring.Globalization; @@ -60,19 +61,18 @@ namespace Spring.DataBinding /// Binds source object to target object. /// /// - /// The source object. + /// The source object. /// /// - /// The target object. + /// The target object. /// /// - /// Validation errors collection that type conversion errors should be added to. + /// Validation errors collection that type conversion errors should be added to. /// /// - /// Variables that should be used during expression evaluation. + /// Variables that should be used during expression evaluation. /// - public override void BindSourceToTarget(object source, object target, IValidationErrors validationErrors, - IDictionary variables) + public override void BindSourceToTarget(object source, object target, IValidationErrors validationErrors, IDictionary variables) { if (this.IsValid(validationErrors) && (this.Direction == BindingDirection.Bidirectional || this.Direction == BindingDirection.SourceToTarget)) @@ -92,15 +92,15 @@ namespace Spring.DataBinding /// Concrete implementation if source to target binding. /// /// - /// The source object. + /// The source object. /// /// - /// The target object. + /// The target object. /// /// - /// Variables that should be used during expression evaluation. + /// Variables that should be used during expression evaluation. /// - protected virtual void DoBindSourceToTarget(object source, object target, IDictionary variables) + protected virtual void DoBindSourceToTarget(object source, object target, IDictionary variables) { object value = this.GetSourceValue(source, variables); if (this.Formatter != null && value is string) @@ -114,19 +114,18 @@ namespace Spring.DataBinding /// Binds target object to source object. /// /// - /// The source object. + /// The source object. /// /// - /// The target object. + /// The target object. /// /// - /// Validation errors collection that type conversion errors should be added to. + /// Validation errors collection that type conversion errors should be added to. /// /// - /// Variables that should be used during expression evaluation. + /// Variables that should be used during expression evaluation. /// - public override void BindTargetToSource(object source, object target, IValidationErrors validationErrors, - IDictionary variables) + public override void BindTargetToSource(object source, object target, IValidationErrors validationErrors, IDictionary variables) { if (this.IsValid(validationErrors) && (this.Direction == BindingDirection.Bidirectional || this.Direction == BindingDirection.TargetToSource)) @@ -147,15 +146,15 @@ namespace Spring.DataBinding /// Concrete implementation of target to source binding. /// /// - /// The source object. + /// The source object. /// /// - /// The target object. + /// The target object. /// /// - /// Variables that should be used during expression evaluation. + /// Variables that should be used during expression evaluation. /// - protected virtual void DoBindTargetToSource(object source, object target, IDictionary variables) + protected virtual void DoBindTargetToSource(object source, object target, IDictionary variables) { object value = this.GetTargetValue(target, variables); if (this.Formatter != null) @@ -173,57 +172,57 @@ namespace Spring.DataBinding /// Gets the source value for the binding. /// /// - /// Source object to extract value from. + /// Source object to extract value from. /// /// - /// Variables for expression evaluation. + /// Variables for expression evaluation. /// /// /// The source value for the binding. /// - protected abstract object GetSourceValue(object source, IDictionary variables); + protected abstract object GetSourceValue(object source, IDictionary variables); /// /// Sets the source value for the binding. /// /// - /// The source object to set the value on. + /// The source object to set the value on. /// /// - /// The value to set. + /// The value to set. /// /// - /// Variables for expression evaluation. + /// Variables for expression evaluation. /// - protected abstract void SetSourceValue(object source, object value, IDictionary variables); + protected abstract void SetSourceValue(object source, object value, IDictionary variables); /// /// Gets the target value for the binding. /// /// - /// Source object to extract value from. + /// Source object to extract value from. /// /// - /// Variables for expression evaluation. + /// Variables for expression evaluation. /// /// /// The target value for the binding. /// - protected abstract object GetTargetValue(object target, IDictionary variables); + protected abstract object GetTargetValue(object target, IDictionary variables); /// /// Sets the target value for the binding. /// /// - /// The target object to set the value on. + /// The target object to set the value on. /// /// - /// The value to set. + /// The value to set. /// /// - /// Variables for expression evaluation. + /// Variables for expression evaluation. /// - protected abstract void SetTargetValue(object target, object value, IDictionary variables); + protected abstract void SetTargetValue(object target, object value, IDictionary variables); #endregion } diff --git a/src/Spring/Spring.Core/DataBinding/BaseBindingContainer.cs b/src/Spring/Spring.Core/DataBinding/BaseBindingContainer.cs index cea5c281..7ee1b14b 100644 --- a/src/Spring/Spring.Core/DataBinding/BaseBindingContainer.cs +++ b/src/Spring/Spring.Core/DataBinding/BaseBindingContainer.cs @@ -1,4 +1,5 @@ using System.Collections; +using System.Collections.Generic; using Spring.Globalization; using Spring.Validation; @@ -12,7 +13,7 @@ namespace Spring.DataBinding { #region Fields - private IList bindings = new ArrayList(); + private IList bindings = new List(); #endregion @@ -34,7 +35,7 @@ namespace Spring.DataBinding /// /// A list of bindings for this container. /// - protected IList Bindings + protected IList Bindings { get { return bindings; } } @@ -182,19 +183,18 @@ namespace Spring.DataBinding /// Binds source object to target object. /// /// - /// The source object. + /// The source object. /// /// - /// The target object. + /// The target object. /// /// - /// Validation errors collection that type conversion errors should be added to. + /// Validation errors collection that type conversion errors should be added to. /// /// - /// Variables that should be used during expression evaluation. + /// Variables that should be used during expression evaluation. /// - public virtual void BindSourceToTarget(object source, object target, IValidationErrors validationErrors, - IDictionary variables) + public virtual void BindSourceToTarget(object source, object target, IValidationErrors validationErrors, IDictionary variables) { foreach (IBinding binding in bindings) { @@ -223,19 +223,18 @@ namespace Spring.DataBinding /// Binds target object to source object. /// /// - /// The source object. + /// The source object. /// /// - /// The target object. + /// The target object. /// /// - /// Validation errors collection that type conversion errors should be added to. + /// Validation errors collection that type conversion errors should be added to. /// /// - /// Variables that should be used during expression evaluation. + /// Variables that should be used during expression evaluation. /// - public virtual void BindTargetToSource(object source, object target, IValidationErrors validationErrors, - IDictionary variables) + public virtual void BindTargetToSource(object source, object target, IValidationErrors validationErrors, IDictionary variables) { foreach (IBinding binding in bindings) { diff --git a/src/Spring/Spring.Core/DataBinding/IBinding.cs b/src/Spring/Spring.Core/DataBinding/IBinding.cs index 2bf89bed..2e310fb3 100644 --- a/src/Spring/Spring.Core/DataBinding/IBinding.cs +++ b/src/Spring/Spring.Core/DataBinding/IBinding.cs @@ -1,4 +1,5 @@ using System.Collections; +using System.Collections.Generic; using Spring.Validation; namespace Spring.DataBinding @@ -27,18 +28,18 @@ namespace Spring.DataBinding /// Binds source object to target object. /// /// - /// The source object. + /// The source object. /// /// - /// The target object. + /// The target object. /// /// - /// Validation errors collection that type conversion errors should be added to. + /// Validation errors collection that type conversion errors should be added to. /// /// - /// Variables that should be used during expression evaluation. + /// Variables that should be used during expression evaluation. /// - void BindSourceToTarget(object source, object target, IValidationErrors validationErrors, IDictionary variables); + void BindSourceToTarget(object source, object target, IValidationErrors validationErrors, IDictionary variables); /// /// Binds target object to source object. @@ -58,18 +59,18 @@ namespace Spring.DataBinding /// Binds target object to source object. /// /// - /// The source object. + /// The source object. /// /// - /// The target object. + /// The target object. /// /// - /// Validation errors collection that type conversion errors should be added to. + /// Validation errors collection that type conversion errors should be added to. /// /// - /// Variables that should be used during expression evaluation. + /// Variables that should be used during expression evaluation. /// - void BindTargetToSource(object source, object target, IValidationErrors validationErrors, IDictionary variables); + void BindTargetToSource(object source, object target, IValidationErrors validationErrors, IDictionary variables); /// /// Sets error message that should be displayed in the case diff --git a/src/Spring/Spring.Core/DataBinding/ListBinding.cs b/src/Spring/Spring.Core/DataBinding/ListBinding.cs index b22a3373..7e942379 100644 --- a/src/Spring/Spring.Core/DataBinding/ListBinding.cs +++ b/src/Spring/Spring.Core/DataBinding/ListBinding.cs @@ -1,4 +1,5 @@ using System.Collections; +using System.Collections.Generic; using Spring.Expressions; using Spring.Validation; @@ -14,28 +15,27 @@ namespace Spring.DataBinding { private IExpression sourceExpression = Expression.Parse("#source = #target"); private IExpression targetExpression = Expression.Parse("#target = #source"); - + /// /// Binds source object to target object. /// /// - /// The source object. + /// The source object. /// /// - /// The target object. + /// The target object. /// /// - /// Validation errors collection that type conversion errors should be added to. + /// Validation errors collection that type conversion errors should be added to. /// /// - /// Variables that should be used during expression evaluation. + /// Variables that should be used during expression evaluation. /// - public override void BindSourceToTarget(object source, object target, IValidationErrors validationErrors, - IDictionary variables) + public override void BindSourceToTarget(object source, object target, IValidationErrors validationErrors, IDictionary variables) { if (variables == null) { - variables = new Hashtable(); + variables = new Dictionary(); } variables["source"] = source; variables["target"] = target; @@ -47,23 +47,22 @@ namespace Spring.DataBinding /// Binds target object to source object. /// /// - /// The source object. + /// The source object. /// /// - /// The target object. + /// The target object. /// /// - /// Validation errors collection that type conversion errors should be added to. + /// Validation errors collection that type conversion errors should be added to. /// /// - /// Variables that should be used during expression evaluation. + /// Variables that should be used during expression evaluation. /// - public override void BindTargetToSource(object source, object target, IValidationErrors validationErrors, - IDictionary variables) + public override void BindTargetToSource(object source, object target, IValidationErrors validationErrors, IDictionary variables) { if (variables == null) { - variables = new Hashtable(); + variables = new Dictionary(); } variables["source"] = source; variables["target"] = target; diff --git a/src/Spring/Spring.Core/DataBinding/SimpleExpressionBinding.cs b/src/Spring/Spring.Core/DataBinding/SimpleExpressionBinding.cs index bde2738a..af507f86 100644 --- a/src/Spring/Spring.Core/DataBinding/SimpleExpressionBinding.cs +++ b/src/Spring/Spring.Core/DataBinding/SimpleExpressionBinding.cs @@ -19,6 +19,7 @@ #endregion using System.Collections; +using System.Collections.Generic; using Spring.Expressions; using Spring.Globalization; @@ -104,15 +105,15 @@ namespace Spring.DataBinding /// Gets the source value for the binding. /// /// - /// Source object to extract value from. + /// Source object to extract value from. /// /// - /// Variables for expression evaluation. + /// Variables for expression evaluation. /// /// /// The source value for the binding. /// - protected override object GetSourceValue(object source, IDictionary variables) + protected override object GetSourceValue(object source, IDictionary variables) { return this.SourceExpression.GetValue(source, variables); } @@ -121,15 +122,15 @@ namespace Spring.DataBinding /// Sets the source value for the binding. /// /// - /// The source object to set the value on. + /// The source object to set the value on. /// /// - /// The value to set. + /// The value to set. /// /// - /// Variables for expression evaluation. + /// Variables for expression evaluation. /// - protected override void SetSourceValue(object source, object value, IDictionary variables) + protected override void SetSourceValue(object source, object value, IDictionary variables) { this.SourceExpression.SetValue(source, variables, value); } @@ -138,15 +139,15 @@ namespace Spring.DataBinding /// Gets the target value for the binding. /// /// - /// Source object to extract value from. + /// Source object to extract value from. /// /// - /// Variables for expression evaluation. + /// Variables for expression evaluation. /// /// /// The target value for the binding. /// - protected override object GetTargetValue(object target, IDictionary variables) + protected override object GetTargetValue(object target, IDictionary variables) { return this.TargetExpression.GetValue(target, variables); } @@ -155,15 +156,15 @@ namespace Spring.DataBinding /// Sets the target value for the binding. /// /// - /// The target object to set the value on. + /// The target object to set the value on. /// /// - /// The value to set. + /// The value to set. /// /// - /// Variables for expression evaluation. + /// Variables for expression evaluation. /// - protected override void SetTargetValue(object target, object value, IDictionary variables) + protected override void SetTargetValue(object target, object value, IDictionary variables) { this.TargetExpression.SetValue(target, variables, value); } diff --git a/src/Spring/Spring.Core/Expressions/BaseNode.cs b/src/Spring/Spring.Core/Expressions/BaseNode.cs index 17888ad6..66951740 100644 --- a/src/Spring/Spring.Core/Expressions/BaseNode.cs +++ b/src/Spring/Spring.Core/Expressions/BaseNode.cs @@ -20,6 +20,7 @@ using System; using System.Collections; +using System.Collections.Generic; using System.Runtime.Serialization; namespace Spring.Expressions @@ -99,7 +100,7 @@ namespace Spring.Expressions /// /// Gets/Sets global variables of the current evaluation /// - public IDictionary Variables; + public IDictionary Variables; /// /// Gets/Sets local variables of the current evaluation /// @@ -110,7 +111,7 @@ namespace Spring.Expressions /// /// The root context for this evaluation /// dictionary of global variables used during this evaluation - public EvaluationContext(object rootContext, IDictionary globalVariables) + public EvaluationContext(object rootContext, IDictionary globalVariables) { this.RootContext = rootContext; this.ThisContext = rootContext; @@ -175,7 +176,7 @@ namespace Spring.Expressions /// Object to evaluate node against. /// Expression variables map. /// Node's value. - public object GetValue(object context, IDictionary variables) + public object GetValue(object context, IDictionary variables) { EvaluationContext evalContext = new EvaluationContext(context, variables); return Get(context, evalContext); @@ -211,7 +212,7 @@ namespace Spring.Expressions /// Object to evaluate node against. /// Expression variables map. /// New value for this node. - public void SetValue(object context, IDictionary variables, object newValue) + public void SetValue(object context, IDictionary variables, object newValue) { EvaluationContext evalContext = new EvaluationContext(context, variables); Set(context, evalContext, newValue); diff --git a/src/Spring/Spring.Core/Expressions/ConstructorNode.cs b/src/Spring/Spring.Core/Expressions/ConstructorNode.cs index a80e8db7..e5aae7c5 100644 --- a/src/Spring/Spring.Core/Expressions/ConstructorNode.cs +++ b/src/Spring/Spring.Core/Expressions/ConstructorNode.cs @@ -20,6 +20,7 @@ using System; using System.Collections; +using System.Collections.Generic; using System.Reflection; using System.Runtime.Serialization; @@ -178,18 +179,18 @@ namespace Spring.Expressions private static ConstructorInfo GetBestConstructor(Type type, object[] argValues) { - ConstructorInfo[] candidates = GetCandidateConstructors(type, argValues.Length); - if (candidates.Length > 0) + IList candidates = GetCandidateConstructors(type, argValues.Length); + if (candidates.Count > 0) { return ReflectionUtils.GetConstructorByArgumentValues(candidates, argValues); } return null; } - private static ConstructorInfo[] GetCandidateConstructors(Type type, int argCount) + private static IList GetCandidateConstructors(Type type, int argCount) { ConstructorInfo[] ctors = type.GetConstructors(BindingFlags.Instance|BindingFlags.Public|BindingFlags.NonPublic); - ArrayList matches = new ArrayList(); + List matches = new List(); foreach (ConstructorInfo ctor in ctors) { @@ -208,7 +209,7 @@ namespace Spring.Expressions } } - return (ConstructorInfo[]) matches.ToArray(typeof(ConstructorInfo)); + return matches; } } diff --git a/src/Spring/Spring.Core/Expressions/Expression.cs b/src/Spring/Spring.Core/Expressions/Expression.cs index 4f42f3f6..da201685 100644 --- a/src/Spring/Spring.Core/Expressions/Expression.cs +++ b/src/Spring/Spring.Core/Expressions/Expression.cs @@ -20,6 +20,7 @@ using System; using System.Collections; +using System.Collections.Generic; using System.IO; using System.Reflection; using System.Runtime.Serialization; @@ -324,7 +325,7 @@ namespace Spring.Expressions /// Context to evaluate expression against. /// Expression variables map. /// Value of the last node. - internal PropertyInfo GetPropertyInfo( object context, IDictionary variables ) + internal PropertyInfo GetPropertyInfo( object context, IDictionary variables ) { if (this.getNumberOfChildren() > 0) { diff --git a/src/Spring/Spring.Core/Expressions/ExpressionEvaluator.cs b/src/Spring/Spring.Core/Expressions/ExpressionEvaluator.cs index 97494cfa..c2e6cbaa 100644 --- a/src/Spring/Spring.Core/Expressions/ExpressionEvaluator.cs +++ b/src/Spring/Spring.Core/Expressions/ExpressionEvaluator.cs @@ -18,7 +18,7 @@ #endregion -using System.Collections; +using System.Collections.Generic; namespace Spring.Expressions { @@ -34,7 +34,7 @@ namespace Spring.Expressions /// Methods in this class parse expression on every invocation. /// If you plan to reuse the same expression many times, you should prepare /// the expression once using the static method, - /// and then call to evaluate it. + /// and then call to evaluate it. ///

///

/// This can result in significant performance improvements as it avoids expression @@ -65,7 +65,7 @@ namespace Spring.Expressions /// Expression to evaluate. /// Expression variables map. /// Value of the last node in the expression. - public static object GetValue(object root, string expression, IDictionary variables) + public static object GetValue(object root, string expression, IDictionary variables) { IExpression exp = Expression.Parse(expression); return exp.GetValue(root, variables); @@ -92,7 +92,7 @@ namespace Spring.Expressions /// Expression to evaluate. /// Expression variables map. /// Value to set last node to. - public static void SetValue(object root, string expression, IDictionary variables, object newValue) + public static void SetValue(object root, string expression, IDictionary variables, object newValue) { IExpression exp = Expression.Parse(expression); exp.SetValue(root, variables, newValue); diff --git a/src/Spring/Spring.Core/Expressions/IExpression.cs b/src/Spring/Spring.Core/Expressions/IExpression.cs index 1d132fae..346baada 100644 --- a/src/Spring/Spring.Core/Expressions/IExpression.cs +++ b/src/Spring/Spring.Core/Expressions/IExpression.cs @@ -19,6 +19,7 @@ #endregion using System.Collections; +using System.Collections.Generic; using System.ComponentModel; namespace Spring.Expressions @@ -49,7 +50,7 @@ namespace Spring.Expressions /// Object to evaluate expression against. /// Expression variables map. /// Value of the expression. - object GetValue(object context, IDictionary variables); + object GetValue(object context, IDictionary variables); ///

/// Sets expression value. @@ -64,6 +65,6 @@ namespace Spring.Expressions /// Object to evaluate expression against. /// Expression variables map. /// New value for the last node of the expression. - void SetValue(object context, IDictionary variables, object newValue); + void SetValue(object context, IDictionary variables, object newValue); } } \ No newline at end of file diff --git a/src/Spring/Spring.Core/Expressions/IndexerNode.cs b/src/Spring/Spring.Core/Expressions/IndexerNode.cs index 365ca141..66570388 100644 --- a/src/Spring/Spring.Core/Expressions/IndexerNode.cs +++ b/src/Spring/Spring.Core/Expressions/IndexerNode.cs @@ -20,6 +20,7 @@ using System; using System.Collections; +using System.Collections.Generic; using System.Reflection; using System.Runtime.Serialization; using Spring.Core; @@ -184,7 +185,7 @@ namespace Spring.Expressions /// Context to resolve property against. /// Expression variables map. /// PropertyInfo for this node. - internal PropertyInfo GetPropertyInfo(object context, IDictionary variables) + internal PropertyInfo GetPropertyInfo(object context, IDictionary variables) { lock (this) { diff --git a/src/Spring/Spring.Core/Expressions/MethodNode.cs b/src/Spring/Spring.Core/Expressions/MethodNode.cs index 64f9a774..079b71d6 100644 --- a/src/Spring/Spring.Core/Expressions/MethodNode.cs +++ b/src/Spring/Spring.Core/Expressions/MethodNode.cs @@ -20,6 +20,7 @@ using System; using System.Collections; +using System.Collections.Generic; using System.Reflection; using System.Runtime.Serialization; using Spring.Expressions.Processors; @@ -110,7 +111,9 @@ namespace Spring.Expressions // user-defined collection processor? if (localCollectionProcessor == null && evalContext.Variables != null) { - localCollectionProcessor = evalContext.Variables[methodName] as ICollectionProcessor; + object temp; + evalContext.Variables.TryGetValue(methodName, out temp); + localCollectionProcessor = temp as ICollectionProcessor; } } @@ -120,7 +123,9 @@ namespace Spring.Expressions // user-defined extension method processor? if (methodCallProcessor == null && evalContext.Variables != null) { - methodCallProcessor = evalContext.Variables[methodName] as IMethodCallProcessor; + object temp; + evalContext.Variables.TryGetValue(methodName, out temp); + methodCallProcessor = temp as IMethodCallProcessor; } } @@ -229,8 +234,8 @@ namespace Spring.Expressions catch (AmbiguousMatchException) { - MethodInfo[] overloads = GetCandidateMethods(type, methodName, bindingFlags, argValues.Length); - if (overloads.Length > 0) + IList overloads = GetCandidateMethods(type, methodName, bindingFlags, argValues.Length); + if (overloads.Count > 0) { mi = ReflectionUtils.GetMethodByArgumentValues(overloads, argValues); } @@ -240,10 +245,10 @@ namespace Spring.Expressions - private static MethodInfo[] GetCandidateMethods(Type type, string methodName, BindingFlags bindingFlags, int argCount) + private static IList GetCandidateMethods(Type type, string methodName, BindingFlags bindingFlags, int argCount) { MethodInfo[] methods = type.GetMethods(bindingFlags | BindingFlags.FlattenHierarchy); - ArrayList matches = new ArrayList(); + List matches = new List(); foreach (MethodInfo method in methods) { @@ -265,7 +270,7 @@ namespace Spring.Expressions } } - return (MethodInfo[])matches.ToArray(typeof(MethodInfo)); + return matches; } // used to calculate signature hash while caring for arg positions diff --git a/src/Spring/Spring.Core/Expressions/NodeWithArguments.cs b/src/Spring/Spring.Core/Expressions/NodeWithArguments.cs index c971e566..2ba27be7 100644 --- a/src/Spring/Spring.Core/Expressions/NodeWithArguments.cs +++ b/src/Spring/Spring.Core/Expressions/NodeWithArguments.cs @@ -20,6 +20,7 @@ using System; using System.Collections; +using System.Collections.Generic; using System.Runtime.Serialization; using Spring.Expressions.Parser.antlr.collections; @@ -76,7 +77,7 @@ namespace Spring.Expressions { if (args == null) { - ArrayList argList = new ArrayList(); + List argList = new List(); namedArgs = new Hashtable(); AST node = this.getFirstChild(); @@ -85,7 +86,7 @@ namespace Spring.Expressions { if (node.getFirstChild() is LambdaExpressionNode) { - argList.Add(node.getFirstChild()); + argList.Add((BaseNode) node.getFirstChild()); } else if (node is NamedArgumentNode) { @@ -93,12 +94,12 @@ namespace Spring.Expressions } else { - argList.Add(node); + argList.Add((BaseNode) node); } node = node.getNextSibling(); } - args = (BaseNode[]) argList.ToArray(typeof (BaseNode)); + args = argList.ToArray(); } } } diff --git a/src/Spring/Spring.Core/Expressions/Processors/OrderByProcessor.cs b/src/Spring/Spring.Core/Expressions/Processors/OrderByProcessor.cs index 97174c44..70eee788 100644 --- a/src/Spring/Spring.Core/Expressions/Processors/OrderByProcessor.cs +++ b/src/Spring/Spring.Core/Expressions/Processors/OrderByProcessor.cs @@ -20,6 +20,7 @@ using System; using System.Collections; +using System.Collections.Generic; using Spring.Util; namespace Spring.Expressions.Processors @@ -57,7 +58,7 @@ namespace Spring.Expressions.Processors private class LambdaComparer : IComparer { - private readonly Hashtable _variables; + private readonly Dictionary _variables; private readonly IExpression _fn; public LambdaComparer(LambdaExpressionNode lambdaExpression) @@ -73,7 +74,7 @@ namespace Spring.Expressions.Processors functionNode.addChild(y); _fn = functionNode; - _variables = new Hashtable(); + _variables = new Dictionary(); _variables.Add( "compare", lambdaExpression ); } diff --git a/src/Spring/Spring.Core/Globalization/AbstractLocalizer.cs b/src/Spring/Spring.Core/Globalization/AbstractLocalizer.cs index 85a7d864..68e83dff 100644 --- a/src/Spring/Spring.Core/Globalization/AbstractLocalizer.cs +++ b/src/Spring/Spring.Core/Globalization/AbstractLocalizer.cs @@ -19,6 +19,7 @@ #endregion using System.Collections; +using System.Collections.Generic; using System.Globalization; using System.Threading; @@ -72,7 +73,7 @@ namespace Spring.Globalization AssertUtils.ArgumentNotNull(target, "target"); AssertUtils.ArgumentNotNull(culture, "culture"); - IList resources = GetResources(target, messageSource, culture); + IList resources = GetResources(target, messageSource, culture); foreach (Resource resource in resources) { resource.Target.SetValue(target, null, resource.Value); @@ -97,9 +98,9 @@ namespace Spring.Globalization /// instance to retrieve resources from. /// Resource locale. /// A list of resources to apply. - private IList GetResources(object target, IMessageSource messageSource, CultureInfo culture) + private IList GetResources(object target, IMessageSource messageSource, CultureInfo culture) { - IList resources = resourceCache.GetResources(target, culture); + IList resources = resourceCache.GetResources(target, culture); if (resources == null) { @@ -117,7 +118,7 @@ namespace Spring.Globalization /// instance to retrieve resources from. /// Resource locale. /// A list of resources to apply. - protected abstract IList LoadResources(object target, IMessageSource messageSource, CultureInfo culture); + protected abstract IList LoadResources(object target, IMessageSource messageSource, CultureInfo culture); } } \ No newline at end of file diff --git a/src/Spring/Spring.Core/Globalization/AbstractResourceCache.cs b/src/Spring/Spring.Core/Globalization/AbstractResourceCache.cs index 0f3aafe2..d448ee4c 100644 --- a/src/Spring/Spring.Core/Globalization/AbstractResourceCache.cs +++ b/src/Spring/Spring.Core/Globalization/AbstractResourceCache.cs @@ -19,6 +19,7 @@ #endregion using System.Collections; +using System.Collections.Generic; using System.Globalization; namespace Spring.Globalization @@ -35,7 +36,7 @@ namespace Spring.Globalization /// Target to get a list of resources for. /// Resource culture. /// A list of cached resources for the specified target object and culture. - public IList GetResources(object target, CultureInfo culture) + public IList GetResources(object target, CultureInfo culture) { return GetResources(CreateCacheKey(target, culture)); } @@ -47,7 +48,7 @@ namespace Spring.Globalization /// Resource culture. /// A list of resources to cache. /// A list of cached resources for the specified target object and culture. - public void PutResources(object target, CultureInfo culture, IList resources) + public void PutResources(object target, CultureInfo culture, IList resources) { PutResources(CreateCacheKey(target, culture), resources); } @@ -67,7 +68,7 @@ namespace Spring.Globalization /// /// Cache key to use for lookup. /// A list of cached resources for the specified target object and culture. - protected abstract IList GetResources(string cacheKey); + protected abstract IList GetResources(string cacheKey); /// /// Puts the list of resources in the cache. @@ -75,7 +76,7 @@ namespace Spring.Globalization /// Cache key to use for the specified resources. /// A list of resources to cache. /// A list of cached resources for the specified target object and culture. - protected abstract void PutResources(string cacheKey, IList resources); + protected abstract void PutResources(string cacheKey, IList resources); } } \ No newline at end of file diff --git a/src/Spring/Spring.Core/Globalization/IResourceCache.cs b/src/Spring/Spring.Core/Globalization/IResourceCache.cs index 7d431c1e..07bbe70a 100644 --- a/src/Spring/Spring.Core/Globalization/IResourceCache.cs +++ b/src/Spring/Spring.Core/Globalization/IResourceCache.cs @@ -19,6 +19,7 @@ #endregion using System.Collections; +using System.Collections.Generic; using System.Globalization; namespace Spring.Globalization @@ -35,7 +36,7 @@ namespace Spring.Globalization /// Target to get a list of resources for. /// Resource culture. /// A list of cached resources for the specified target object and culture. - IList GetResources(object target, CultureInfo culture); + IList GetResources(object target, CultureInfo culture); /// /// Puts the list of resources in the cache. @@ -44,6 +45,6 @@ namespace Spring.Globalization /// Resource culture. /// A list of resources to cache. /// A list of cached resources for the specified target object and culture. - void PutResources(object target, CultureInfo culture, IList resources); + void PutResources(object target, CultureInfo culture, IList resources); } } \ No newline at end of file diff --git a/src/Spring/Spring.Core/Globalization/Localizers/ResourceSetLocalizer.cs b/src/Spring/Spring.Core/Globalization/Localizers/ResourceSetLocalizer.cs index b67a5186..66385249 100644 --- a/src/Spring/Spring.Core/Globalization/Localizers/ResourceSetLocalizer.cs +++ b/src/Spring/Spring.Core/Globalization/Localizers/ResourceSetLocalizer.cs @@ -20,6 +20,7 @@ using System; using System.Collections; +using System.Collections.Generic; using System.Globalization; using System.Resources; using Common.Logging; @@ -60,10 +61,9 @@ namespace Spring.Globalization.Localizers /// instance to retrieve resources from. /// Resource locale. /// A list of resources to apply. - protected override IList LoadResources(object target, IMessageSource messageSource, CultureInfo culture) + protected override IList LoadResources(object target, IMessageSource messageSource, CultureInfo culture) { - IList resources; - resources = new ArrayList(); + IList resources = new List(); if (messageSource is ResourceSetMessageSource) { diff --git a/src/Spring/Spring.Core/Globalization/NullResourceCache.cs b/src/Spring/Spring.Core/Globalization/NullResourceCache.cs index 3c1b23bf..505646c8 100644 --- a/src/Spring/Spring.Core/Globalization/NullResourceCache.cs +++ b/src/Spring/Spring.Core/Globalization/NullResourceCache.cs @@ -19,6 +19,7 @@ #endregion using System.Collections; +using System.Collections.Generic; namespace Spring.Globalization { @@ -33,7 +34,7 @@ namespace Spring.Globalization /// /// Cache key to use for lookup. /// Always returns null. - protected override IList GetResources(string cacheKey) + protected override IList GetResources(string cacheKey) { return null; } @@ -43,7 +44,7 @@ namespace Spring.Globalization /// /// Cache key to use for the specified resources. /// A list of resources to cache. - protected override void PutResources(string cacheKey, IList resources) + protected override void PutResources(string cacheKey, IList resources) {} } } \ No newline at end of file diff --git a/src/Spring/Spring.Core/Objects/Events/Support/EventRegistry.cs b/src/Spring/Spring.Core/Objects/Events/Support/EventRegistry.cs index a3087afb..ff410cc1 100644 --- a/src/Spring/Spring.Core/Objects/Events/Support/EventRegistry.cs +++ b/src/Spring/Spring.Core/Objects/Events/Support/EventRegistry.cs @@ -22,6 +22,7 @@ using System; using System.Collections; +using System.Collections.Generic; using System.Reflection; #endregion @@ -35,21 +36,21 @@ namespace Spring.Objects.Events.Support /// Griffin Caprio public class EventRegistry : IEventRegistry { - private readonly IList _publishers; + private readonly IList _publishers; /// /// Creates a new instance of the EventRegistry class. /// public EventRegistry() { - _publishers = new ArrayList(); + _publishers = new List(); } /// /// The list of event publishers. /// /// The list of event publishers. - protected IList Publishers + protected IList Publishers { get { return _publishers; } } diff --git a/src/Spring/Spring.Core/Objects/Factory/Attributes/RequiredAttributeObjectPostProcessor.cs b/src/Spring/Spring.Core/Objects/Factory/Attributes/RequiredAttributeObjectPostProcessor.cs index caf4f148..2f822123 100644 --- a/src/Spring/Spring.Core/Objects/Factory/Attributes/RequiredAttributeObjectPostProcessor.cs +++ b/src/Spring/Spring.Core/Objects/Factory/Attributes/RequiredAttributeObjectPostProcessor.cs @@ -20,13 +20,11 @@ using System; -using System.Collections; +using System.Collections.Generic; using System.Reflection; using System.Text; + using Spring.Collections; -using Spring.Objects; -using Spring.Objects.Factory; -using Spring.Objects.Factory.Attributes; using Spring.Objects.Factory.Config; using Spring.Util; @@ -109,12 +107,11 @@ namespace Spring.Objects.Factory.Attributes /// /// If a required property value has not been specified /// in the configuration metadata. - public override IPropertyValues PostProcessPropertyValues(IPropertyValues pvs, PropertyInfo[] pis, object objectInstance, - string objectName) + public override IPropertyValues PostProcessPropertyValues(IPropertyValues pvs, IList pis, object objectInstance, string objectName) { if (!validatedObjectNames.Contains(objectName)) { - ArrayList invalidProperties = new ArrayList(); + List invalidProperties = new List(); foreach (PropertyInfo pi in pis) { @@ -126,7 +123,7 @@ namespace Spring.Objects.Factory.Attributes if (invalidProperties.Count != 0) { throw new ObjectInitializationException( - BuildExceptionMessage((string[]) invalidProperties.ToArray(typeof (string)), objectName)); + BuildExceptionMessage(invalidProperties, objectName)); } validatedObjectNames.Add(objectName); } @@ -156,9 +153,9 @@ namespace Spring.Objects.Factory.Attributes /// The list of names of invalid properties. /// Name of the object. /// The exception message - private string BuildExceptionMessage(string[] invalidProperties, ICloneable objectName) + private string BuildExceptionMessage(IList invalidProperties, ICloneable objectName) { - int size = invalidProperties.Length; + int size = invalidProperties.Count; StringBuilder sb = new StringBuilder(); sb.Append(size == 1 ? "Property" : "Properties"); for (int i=0; i < size; i++) diff --git a/src/Spring/Spring.Core/Objects/Factory/Config/CommandLineArgsVariableSource.cs b/src/Spring/Spring.Core/Objects/Factory/Config/CommandLineArgsVariableSource.cs index 39df90a0..8065aa6c 100644 --- a/src/Spring/Spring.Core/Objects/Factory/Config/CommandLineArgsVariableSource.cs +++ b/src/Spring/Spring.Core/Objects/Factory/Config/CommandLineArgsVariableSource.cs @@ -19,8 +19,7 @@ #endregion using System; -using System.Collections; -using System.Collections.Specialized; +using System.Collections.Generic; namespace Spring.Objects.Factory.Config { @@ -39,7 +38,7 @@ namespace Spring.Objects.Factory.Config private string valueSeparator = DEFAULT_VALUE_SEPARATOR; private string[] commandLineArgs; - protected IDictionary arguments; + protected IDictionary arguments; private object objectMonitor = new object(); @@ -103,7 +102,7 @@ namespace Spring.Objects.Factory.Config { InitArguments(); } - return arguments.Contains(name); + return arguments.ContainsKey(name); } } @@ -124,7 +123,9 @@ namespace Spring.Objects.Factory.Config { InitArguments(); } - return (string) this.arguments[name]; + string retValue; + arguments.TryGetValue(name, out retValue); + return retValue; } } @@ -133,7 +134,7 @@ namespace Spring.Objects.Factory.Config /// protected virtual void InitArguments() { - this.arguments = CollectionsUtil.CreateCaseInsensitiveHashtable(commandLineArgs.Length); + this.arguments = new Dictionary(StringComparer.OrdinalIgnoreCase); foreach (string arg in commandLineArgs) { diff --git a/src/Spring/Spring.Core/Objects/Factory/Config/ConnectionStringsVariableSource.cs b/src/Spring/Spring.Core/Objects/Factory/Config/ConnectionStringsVariableSource.cs index e8b6f20f..73deefd7 100644 --- a/src/Spring/Spring.Core/Objects/Factory/Config/ConnectionStringsVariableSource.cs +++ b/src/Spring/Spring.Core/Objects/Factory/Config/ConnectionStringsVariableSource.cs @@ -19,9 +19,9 @@ #endregion using System; -using System.Collections; -using System.Collections.Specialized; +using System.Collections.Generic; using System.Configuration; + using Spring.Util; namespace Spring.Objects.Factory.Config @@ -53,7 +53,7 @@ namespace Spring.Objects.Factory.Config [Serializable] public class ConnectionStringsVariableSource : IVariableSource { - private Hashtable variables; + private Dictionary variables; /// @@ -68,7 +68,7 @@ namespace Spring.Objects.Factory.Config { InitVariables(); } - return variables.Contains(name); + return variables.ContainsKey(name); } /// @@ -86,7 +86,9 @@ namespace Spring.Objects.Factory.Config { InitVariables(); } - return (string) variables[name]; + string retValue; + variables.TryGetValue(name, out retValue); + return retValue; } /// @@ -95,7 +97,7 @@ namespace Spring.Objects.Factory.Config /// private void InitVariables() { - variables = CollectionsUtil.CreateCaseInsensitiveHashtable(); + variables = new Dictionary(StringComparer.OrdinalIgnoreCase); ConnectionStringSettingsCollection settings = ConfigurationManager.ConnectionStrings; foreach (ConnectionStringSettings setting in settings) { diff --git a/src/Spring/Spring.Core/Objects/Factory/Config/ConstructorArgumentValues.cs b/src/Spring/Spring.Core/Objects/Factory/Config/ConstructorArgumentValues.cs index 6135da89..64f89f17 100644 --- a/src/Spring/Spring.Core/Objects/Factory/Config/ConstructorArgumentValues.cs +++ b/src/Spring/Spring.Core/Objects/Factory/Config/ConstructorArgumentValues.cs @@ -22,6 +22,7 @@ using System; using System.Collections; +using System.Collections.Generic; using System.Globalization; using Spring.Collections; using Spring.Util; @@ -83,9 +84,9 @@ namespace Spring.Objects.Factory.Config #region Fields private CultureInfo enUSCultureInfo = new CultureInfo("en-US", false); - private IDictionary _indexedArgumentValues = new Hashtable(); - private IList _genericArgumentValues = new LinkedList(); - private IDictionary _namedArgumentValues = new Hashtable(); + private IDictionary _indexedArgumentValues = new Dictionary(); + private List _genericArgumentValues = new List(); + private IDictionary _namedArgumentValues = new Dictionary(); #endregion @@ -100,7 +101,7 @@ namespace Spring.Objects.Factory.Config /// s /// as values. /// - public virtual IDictionary IndexedArgumentValues + public virtual IDictionary IndexedArgumentValues { get { return _indexedArgumentValues; } } @@ -114,7 +115,7 @@ namespace Spring.Objects.Factory.Config /// s /// as values. /// - public virtual IDictionary NamedArgumentValues + public virtual IDictionary NamedArgumentValues { get { return _namedArgumentValues; } } @@ -126,7 +127,7 @@ namespace Spring.Objects.Factory.Config /// A of /// s. /// - public virtual IList GenericArgumentValues + public virtual IList GenericArgumentValues { get { return _genericArgumentValues; } @@ -175,19 +176,19 @@ namespace Spring.Objects.Factory.Config { if (other != null) { - foreach (object o in other.GenericArgumentValues) + foreach (ValueHolder o in other.GenericArgumentValues) { GenericArgumentValues.Add(o); } - foreach (DictionaryEntry entry in other.IndexedArgumentValues) + foreach (KeyValuePair entry in other.IndexedArgumentValues) { - ValueHolder vh = entry.Value as ValueHolder; + ValueHolder vh = entry.Value; if (vh != null) { - AddOrMergeIndexedArgumentValues( (int) entry.Key, vh.Copy()); + AddOrMergeIndexedArgumentValues( entry.Key, vh.Copy()); } } - foreach (DictionaryEntry entry in other.NamedArgumentValues) + foreach (KeyValuePair entry in other.NamedArgumentValues) { AddOrMergeNamedArgumentValues(entry.Key, entry.Value); //NamedArgumentValues.Add(entry.Key, entry.Value); @@ -195,9 +196,9 @@ namespace Spring.Objects.Factory.Config } } - private void AddOrMergeNamedArgumentValues(object key, object newValue) + private void AddOrMergeNamedArgumentValues(string key, object newValue) { - if (_namedArgumentValues.Contains(key) ) + if (_namedArgumentValues.ContainsKey(key) ) { _namedArgumentValues[key] = newValue; } else @@ -208,9 +209,9 @@ namespace Spring.Objects.Factory.Config private void AddOrMergeIndexedArgumentValues(int key, ValueHolder newValue) { - ValueHolder currentValue = _indexedArgumentValues[key] as ValueHolder; + ValueHolder currentValue; IMergable mergable = newValue.Value as IMergable; - if (currentValue != null && mergable != null ) + if (_indexedArgumentValues.TryGetValue(key, out currentValue) && mergable != null ) { if (mergable.MergeEnabled) { @@ -277,8 +278,8 @@ namespace Spring.Objects.Factory.Config /// public virtual ValueHolder GetIndexedArgumentValue(int index, Type requiredType) { - ValueHolder valueHolder = (ValueHolder) IndexedArgumentValues[index]; - if (valueHolder != null) + ValueHolder valueHolder; + if (IndexedArgumentValues.TryGetValue(index, out valueHolder)) { if (valueHolder.Type == null || requiredType.FullName.Equals(valueHolder.Type) @@ -326,7 +327,7 @@ namespace Spring.Objects.Factory.Config /// public bool ContainsNamedArgument(string argument) { - return NamedArgumentValues.Contains(GetCanonicalNamedArgument(argument)); + return NamedArgumentValues.ContainsKey(GetCanonicalNamedArgument(argument)); } /// diff --git a/src/Spring/Spring.Core/Objects/Factory/Config/DictionaryVariableSource.cs b/src/Spring/Spring.Core/Objects/Factory/Config/DictionaryVariableSource.cs index 20840002..bdda3904 100644 --- a/src/Spring/Spring.Core/Objects/Factory/Config/DictionaryVariableSource.cs +++ b/src/Spring/Spring.Core/Objects/Factory/Config/DictionaryVariableSource.cs @@ -20,7 +20,7 @@ using System; using System.Collections; -using System.Collections.Specialized; +using System.Collections.Generic; namespace Spring.Objects.Factory.Config { @@ -28,9 +28,9 @@ namespace Spring.Objects.Factory.Config /// A very simple, hashtable-based implementation of /// /// Erich Eichinger - public class DictionaryVariableSource : IVariableSource, IEnumerable + public class DictionaryVariableSource : IVariableSource, IEnumerable> { - private readonly Hashtable variables; + private readonly Dictionary variables; /// /// Creates a new, empty variable source @@ -95,11 +95,11 @@ namespace Spring.Objects.Factory.Config { if (ignoreCase) { - variables = CollectionsUtil.CreateCaseInsensitiveHashtable(); + variables = new Dictionary(StringComparer.OrdinalIgnoreCase); } else { - variables = new Hashtable(); + variables = new Dictionary(); } if (dictionary != null) @@ -140,16 +140,22 @@ namespace Spring.Objects.Factory.Config /// public string ResolveVariable(string name) { - if (!variables.ContainsKey(name)) + string value; + if (!variables.TryGetValue(name, out value)) { throw new ArgumentException(string.Format("variable '{0}' cannot be resolved", name)); } - return (string)variables[name]; + return value; + } + + IEnumerator> IEnumerable>.GetEnumerator() + { + return variables.GetEnumerator(); } public IEnumerator GetEnumerator() { - return (variables as IEnumerable).GetEnumerator() ; + return variables.GetEnumerator(); } } } \ No newline at end of file diff --git a/src/Spring/Spring.Core/Objects/Factory/Config/EventValues.cs b/src/Spring/Spring.Core/Objects/Factory/Config/EventValues.cs index 4c733e65..7d7107b1 100644 --- a/src/Spring/Spring.Core/Objects/Factory/Config/EventValues.cs +++ b/src/Spring/Spring.Core/Objects/Factory/Config/EventValues.cs @@ -22,6 +22,7 @@ using System; using System.Collections; +using System.Collections.Generic; #endregion @@ -38,8 +39,7 @@ namespace Spring.Objects.Factory.Config /// /// The empty array of s. /// - private static readonly IEventHandlerValue [] EmptyHandlers - = new IEventHandlerValue [] {}; + private static readonly IEventHandlerValue [] EmptyHandlers = new IEventHandlerValue [] {}; #endregion #region Constructor (s) / Destructor @@ -69,7 +69,7 @@ namespace Spring.Objects.Factory.Config /// of /// s. /// - protected IDictionary EventHandlers + protected IDictionary> EventHandlers { get { @@ -81,7 +81,7 @@ namespace Spring.Objects.Factory.Config /// Gets the of events /// that have handlers associated with them. /// - public ICollection Events + public ICollection Events { get { @@ -94,13 +94,16 @@ namespace Spring.Objects.Factory.Config /// s for the supplied /// event name. /// - public ICollection this [string eventName] + public ICollection this [string eventName] { - get + get { - return EventHandlers.Contains (eventName) ? - EventHandlers [eventName] as ICollection : - EventValues.EmptyHandlers; + IList handlers; + if (!EventHandlers.TryGetValue(eventName, out handlers)) + { + handlers = EventValues.EmptyHandlers; + } + return handlers; } } #endregion @@ -131,12 +134,13 @@ namespace Spring.Objects.Factory.Config /// Adds the supplied handler to the collection of event handlers. /// /// The handler to be added. - public void AddHandler (IEventHandlerValue handler) + public void AddHandler (IEventHandlerValue handler) { - IList handlers = EventHandlers [handler.EventName] as IList; - if (handlers == null) + IList handlers; + + if (!EventHandlers.TryGetValue(handler.EventName, out handlers)) { - handlers = new ArrayList (); + handlers = new List(); EventHandlers [handler.EventName] = handlers; } handlers.Add (handler); @@ -144,7 +148,7 @@ namespace Spring.Objects.Factory.Config #endregion #region Fields - private IDictionary _eventHandlers = new Hashtable(); + private IDictionary> _eventHandlers = new Dictionary>(); #endregion } } diff --git a/src/Spring/Spring.Core/Objects/Factory/Config/IInstantiationAwareObjectPostProcessor.cs b/src/Spring/Spring.Core/Objects/Factory/Config/IInstantiationAwareObjectPostProcessor.cs index b9d5673c..f7a44bab 100644 --- a/src/Spring/Spring.Core/Objects/Factory/Config/IInstantiationAwareObjectPostProcessor.cs +++ b/src/Spring/Spring.Core/Objects/Factory/Config/IInstantiationAwareObjectPostProcessor.cs @@ -19,6 +19,7 @@ #endregion using System; +using System.Collections.Generic; using System.Reflection; namespace Spring.Objects.Factory.Config { @@ -105,26 +106,25 @@ namespace Spring.Objects.Factory.Config { /// invoked on this object instance. bool PostProcessAfterInstantiation(object objectInstance, string objectName); - /// - /// Post-process the given property values before the factory applies them - /// to the given object. - /// - /// Allows for checking whether all dependencies have been - /// satisfied, for example based on a "Required" annotation on bean property setters. - /// Also allows for replacing the property values to apply, typically through - /// creating a new MutablePropertyValues instance based on the original PropertyValues, - /// adding or removing specific values. - /// - /// - /// The property values that the factory is about to apply (never null). - /// he relevant property infos for the target object (with ignored - /// dependency types - which the factory handles specifically - already filtered out) - /// The object instance created, but whose properties have not yet - /// been set. - /// Name of the object. - /// The actual property values to apply to the given object (can be the - /// passed-in PropertyValues instances0 or null to skip property population. - IPropertyValues PostProcessPropertyValues(IPropertyValues pvs, PropertyInfo[] pis, object objectInstance, - string objectName); + /// + /// Post-process the given property values before the factory applies them + /// to the given object. + /// + /// Allows for checking whether all dependencies have been + /// satisfied, for example based on a "Required" annotation on bean property setters. + /// Also allows for replacing the property values to apply, typically through + /// creating a new MutablePropertyValues instance based on the original PropertyValues, + /// adding or removing specific values. + /// + /// + /// The property values that the factory is about to apply (never null). + /// he relevant property infos for the target object (with ignored + /// dependency types - which the factory handles specifically - already filtered out) + /// The object instance created, but whose properties have not yet + /// been set. + /// Name of the object. + /// The actual property values to apply to the given object (can be the + /// passed-in PropertyValues instances0 or null to skip property population. + IPropertyValues PostProcessPropertyValues(IPropertyValues pvs, IList pis, object objectInstance, string objectName); } } diff --git a/src/Spring/Spring.Core/Objects/Factory/Config/IObjectDefinition.cs b/src/Spring/Spring.Core/Objects/Factory/Config/IObjectDefinition.cs index f61d8f1f..81f19b3d 100644 --- a/src/Spring/Spring.Core/Objects/Factory/Config/IObjectDefinition.cs +++ b/src/Spring/Spring.Core/Objects/Factory/Config/IObjectDefinition.cs @@ -21,6 +21,7 @@ #region Imports using System; +using System.Collections.Generic; #endregion @@ -178,7 +179,7 @@ namespace Spring.Objects.Factory.Config /// preparation on startup. ///

/// - string[] DependsOn { get; } + IList DependsOn { get; } /// /// The name of the initializer method. diff --git a/src/Spring/Spring.Core/Objects/Factory/Config/ISingletonObjectRegistry.cs b/src/Spring/Spring.Core/Objects/Factory/Config/ISingletonObjectRegistry.cs index b2f0a4c7..e1019486 100644 --- a/src/Spring/Spring.Core/Objects/Factory/Config/ISingletonObjectRegistry.cs +++ b/src/Spring/Spring.Core/Objects/Factory/Config/ISingletonObjectRegistry.cs @@ -18,6 +18,8 @@ #endregion +using System.Collections.Generic; + namespace Spring.Objects.Factory.Config { /// @@ -138,7 +140,7 @@ namespace Spring.Objects.Factory.Config /// /// /// - string[] SingletonNames + IList SingletonNames { get; } diff --git a/src/Spring/Spring.Core/Objects/Factory/Config/InstantiationAwareObjectPostProcessorAdapter.cs b/src/Spring/Spring.Core/Objects/Factory/Config/InstantiationAwareObjectPostProcessorAdapter.cs index d96f4557..2d357fad 100644 --- a/src/Spring/Spring.Core/Objects/Factory/Config/InstantiationAwareObjectPostProcessorAdapter.cs +++ b/src/Spring/Spring.Core/Objects/Factory/Config/InstantiationAwareObjectPostProcessorAdapter.cs @@ -19,6 +19,7 @@ #endregion using System; +using System.Collections.Generic; using System.Reflection; namespace Spring.Objects.Factory.Config @@ -153,8 +154,7 @@ namespace Spring.Objects.Factory.Config /// Name of the object. /// The actual property values to apply to the given object (can be the /// passed-in PropertyValues instances0 or null to skip property population. - public virtual IPropertyValues PostProcessPropertyValues(IPropertyValues pvs, PropertyInfo[] pis, object objectInstance, - string objectName) + public virtual IPropertyValues PostProcessPropertyValues(IPropertyValues pvs, IList pis, object objectInstance, string objectName) { return pvs; } diff --git a/src/Spring/Spring.Core/Objects/Factory/Config/ObjectDefinitionHolder.cs b/src/Spring/Spring.Core/Objects/Factory/Config/ObjectDefinitionHolder.cs index 082842b5..4fa884b9 100644 --- a/src/Spring/Spring.Core/Objects/Factory/Config/ObjectDefinitionHolder.cs +++ b/src/Spring/Spring.Core/Objects/Factory/Config/ObjectDefinitionHolder.cs @@ -21,7 +21,8 @@ #region Imports using System; -using Spring.Objects.Factory.Config; +using System.Collections.Generic; + using Spring.Objects.Factory.Xml; using Spring.Util; @@ -56,7 +57,7 @@ namespace Spring.Objects.Factory.Config { private IObjectDefinition objectDefinition; private string objectName; - private string[] aliases; + private IList aliases; #region Constructor () / Destructor @@ -87,11 +88,11 @@ namespace Spring.Objects.Factory.Config /// Any aliases for the supplied /// public ObjectDefinitionHolder( - IObjectDefinition definition, string name, string[] aliases) + IObjectDefinition definition, string name, IList aliases) { this.objectDefinition = definition; this.objectName = name; - this.aliases = aliases == null ? StringUtils.EmptyStrings : aliases; + this.aliases = aliases ?? new List(0); } #endregion @@ -126,7 +127,7 @@ namespace Spring.Objects.Factory.Config /// array will be returned. ///

/// - public string[] Aliases + public IList Aliases { get { return aliases; } } diff --git a/src/Spring/Spring.Core/Objects/Factory/Config/ObjectDefinitionVisitor.cs b/src/Spring/Spring.Core/Objects/Factory/Config/ObjectDefinitionVisitor.cs index d6ec6f27..31f23ce4 100644 --- a/src/Spring/Spring.Core/Objects/Factory/Config/ObjectDefinitionVisitor.cs +++ b/src/Spring/Spring.Core/Objects/Factory/Config/ObjectDefinitionVisitor.cs @@ -21,7 +21,8 @@ #region Imports using System; -using System.Collections; +using System.Collections; +using System.Collections.Generic; using System.Collections.Specialized; using Spring.Collections; @@ -114,7 +115,7 @@ namespace Spring.Objects.Factory.Config MutablePropertyValues pvs = objectDefinition.PropertyValues; if (pvs != null) { - for (int j = 0; j < pvs.PropertyValues.Length; j++) + for (int j = 0; j < pvs.PropertyValues.Count; j++) { PropertyValue pv = pvs.PropertyValues[j]; object newVal = ResolveValue(pv.Value); @@ -124,40 +125,40 @@ namespace Spring.Objects.Factory.Config } } } - } - - /// - /// Visits the indexed constructor argument values, replacing string values using the - /// specified IVariableSource. - /// - /// The indexed argument values. - protected virtual void VisitIndexedArgumentValues(IDictionary ias) + } + + /// + /// Visits the indexed constructor argument values, replacing string values using the + /// specified IVariableSource. + /// + /// The indexed argument values. + protected virtual void VisitIndexedArgumentValues(IDictionary ias) { foreach (ConstructorArgumentValues.ValueHolder valueHolder in ias.Values) { ConfigureConstructorArgument(valueHolder); } - } - - /// - /// Visits the named constructor argument values, replacing string values using the - /// specified IVariableSource. - /// - /// The named argument values. - protected virtual void VisitNamedArgumentValues(IDictionary nav) + } + + /// + /// Visits the named constructor argument values, replacing string values using the + /// specified IVariableSource. + /// + /// The named argument values. + protected virtual void VisitNamedArgumentValues(IDictionary nav) { foreach (ConstructorArgumentValues.ValueHolder valueHolder in nav.Values) { ConfigureConstructorArgument(valueHolder); } - } - - /// - /// Visits the generic constructor argument values, replacing string values using - /// the specified IVariableSource. - /// - /// The genreic argument values. - protected virtual void VisitGenericArgumentValues(IList gav) + } + + /// + /// Visits the generic constructor argument values, replacing string values using + /// the specified IVariableSource. + /// + /// The genreic argument values. + protected virtual void VisitGenericArgumentValues(ICollection gav) { foreach (ConstructorArgumentValues.ValueHolder valueHolder in gav) { diff --git a/src/Spring/Spring.Core/Objects/Factory/Config/PropertyPlaceholderConfigurer.cs b/src/Spring/Spring.Core/Objects/Factory/Config/PropertyPlaceholderConfigurer.cs index 88ea1636..017d5f40 100644 --- a/src/Spring/Spring.Core/Objects/Factory/Config/PropertyPlaceholderConfigurer.cs +++ b/src/Spring/Spring.Core/Objects/Factory/Config/PropertyPlaceholderConfigurer.cs @@ -21,10 +21,12 @@ #region Imports using System; -using System.Collections; +using System.Collections.Generic; using System.Collections.Specialized; using System.Globalization; + using Common.Logging; + using Spring.Collections; #endregion @@ -228,10 +230,10 @@ namespace Spring.Objects.Factory.Config protected override void ProcessProperties(IConfigurableListableObjectFactory factory, NameValueCollection props) { PlaceholderResolveHandlerAdapter resolveAdapter = new PlaceholderResolveHandlerAdapter(this, props); - ObjectDefinitionVisitor visitor = new ObjectDefinitionVisitor(new ObjectDefinitionVisitor.ResolveHandler(resolveAdapter.ParseAndResolveVariables)); + ObjectDefinitionVisitor visitor = new ObjectDefinitionVisitor(resolveAdapter.ParseAndResolveVariables); - string[] objectDefinitionNames = factory.GetObjectDefinitionNames(); - for (int i = 0; i < objectDefinitionNames.Length; ++i) + IList objectDefinitionNames = factory.GetObjectDefinitionNames(); + for (int i = 0; i < objectDefinitionNames.Count; ++i) { string name = objectDefinitionNames[i]; IObjectDefinition definition = factory.GetObjectDefinition(name); diff --git a/src/Spring/Spring.Core/Objects/Factory/Config/VariablePlaceholderConfigurer.cs b/src/Spring/Spring.Core/Objects/Factory/Config/VariablePlaceholderConfigurer.cs index b38ff170..bbb18561 100644 --- a/src/Spring/Spring.Core/Objects/Factory/Config/VariablePlaceholderConfigurer.cs +++ b/src/Spring/Spring.Core/Objects/Factory/Config/VariablePlaceholderConfigurer.cs @@ -20,6 +20,7 @@ using System; using System.Collections; +using System.Collections.Generic; using System.Globalization; using Common.Logging; using Spring.Collections; @@ -245,8 +246,8 @@ namespace Spring.Objects.Factory.Config TextProcessor tp = new TextProcessor(this, compositeVariableSource); ObjectDefinitionVisitor visitor = new ObjectDefinitionVisitor(new ObjectDefinitionVisitor.ResolveHandler(tp.ParseAndResolveVariables)); - string[] objectDefinitionNames = factory.GetObjectDefinitionNames(); - for (int i = 0; i < objectDefinitionNames.Length; ++i) + IList objectDefinitionNames = factory.GetObjectDefinitionNames(); + for (int i = 0; i < objectDefinitionNames.Count; ++i) { string name = objectDefinitionNames[i]; IObjectDefinition definition = factory.GetObjectDefinition( name ); diff --git a/src/Spring/Spring.Core/Objects/Factory/IListableObjectFactory.cs b/src/Spring/Spring.Core/Objects/Factory/IListableObjectFactory.cs index 2911d715..c071a342 100644 --- a/src/Spring/Spring.Core/Objects/Factory/IListableObjectFactory.cs +++ b/src/Spring/Spring.Core/Objects/Factory/IListableObjectFactory.cs @@ -22,6 +22,7 @@ using System; using System.Collections; +using System.Collections.Generic; #endregion @@ -85,141 +86,141 @@ namespace Spring.Objects.Factory /// int ObjectDefinitionCount { get; } - - /// - /// Return the names of all objects defined in this factory. - /// - /// - /// The names of all objects defined in this factory, or an empty array if none - /// are defined. - /// - string[] GetObjectDefinitionNames(); - /// - /// Return the names of objects matching the given - /// (including subclasses), judging from the object definitions. - /// - /// - ///

- /// Does consider objects created by s, - /// or rather it considers the type of objects created by - /// (which means that - /// s will be instantiated). - ///

- ///

- /// Does not consider any hierarchy this factory may participate in. - ///

- ///
- /// - /// The (class or interface) to match, or - /// for all object names. - /// - /// - /// The names of all objects defined in this factory, or an empty array if none - /// are defined. - /// - string[] GetObjectNamesForType(Type type); + /// + /// Return the names of all objects defined in this factory. + /// + /// + /// The names of all objects defined in this factory, or an empty array if none + /// are defined. + /// + IList GetObjectDefinitionNames(); + + /// + /// Return the names of objects matching the given + /// (including subclasses), judging from the object definitions. + /// + /// + ///

+ /// Does consider objects created by s, + /// or rather it considers the type of objects created by + /// (which means that + /// s will be instantiated). + ///

+ ///

+ /// Does not consider any hierarchy this factory may participate in. + ///

+ ///
+ /// + /// The (class or interface) to match, or + /// for all object names. + /// + /// + /// The names of all objects defined in this factory, or an empty array if none + /// are defined. + /// + IList GetObjectNamesForType(Type type); - /// - /// Return the names of objects matching the given - /// (including subclasses), judging from the object definitions. - /// - /// - ///

- /// Does consider objects created by s, - /// or rather it considers the type of objects created by - /// (which means that - /// s will be instantiated). - ///

- ///

- /// Does not consider any hierarchy this factory may participate in. - ///

- ///
- /// - /// The (class or interface) to match, or - /// for all object names. - /// - /// - /// The names of all objects defined in this factory, or an empty array if none - /// are defined. - /// - string[] GetObjectNamesForType(); + /// + /// Return the names of objects matching the given + /// (including subclasses), judging from the object definitions. + /// + /// + ///

+ /// Does consider objects created by s, + /// or rather it considers the type of objects created by + /// (which means that + /// s will be instantiated). + ///

+ ///

+ /// Does not consider any hierarchy this factory may participate in. + ///

+ ///
+ /// + /// The (class or interface) to match, or + /// for all object names. + /// + /// + /// The names of all objects defined in this factory, or an empty array if none + /// are defined. + /// + IList GetObjectNames(); - /// - /// Return the names of objects matching the given - /// (including subclasses), judging from the object definitions. - /// - /// - ///

- /// Does consider objects created by s, - /// or rather it considers the type of objects created by - /// (which means that - /// s will be instantiated). - ///

- ///

- /// Does not consider any hierarchy this factory may participate in. - /// Use - /// to include beans in ancestor factories too. - /// <p>Note: Does <i>not</i> ignore singleton objects that have been registered - /// by other means than bean definitions. - ///

- ///
- /// - /// The (class or interface) to match, or - /// for all object names. - /// - /// - /// Whether to include prototype objects too or just singletons (also applies to - /// s). - /// - /// - /// Whether to include s too - /// or just normal objects. - /// - /// - /// The names of all objects defined in this factory, or an empty array if none - /// are defined. - /// - string[] GetObjectNamesForType(Type type, bool includePrototypes, bool includeFactoryObjects); + /// + /// Return the names of objects matching the given + /// (including subclasses), judging from the object definitions. + /// + /// + ///

+ /// Does consider objects created by s, + /// or rather it considers the type of objects created by + /// (which means that + /// s will be instantiated). + ///

+ ///

+ /// Does not consider any hierarchy this factory may participate in. + /// Use + /// to include beans in ancestor factories too. + /// <p>Note: Does <i>not</i> ignore singleton objects that have been registered + /// by other means than bean definitions. + ///

+ ///
+ /// + /// The (class or interface) to match, or + /// for all object names. + /// + /// + /// Whether to include prototype objects too or just singletons (also applies to + /// s). + /// + /// + /// Whether to include s too + /// or just normal objects. + /// + /// + /// The names of all objects defined in this factory, or an empty array if none + /// are defined. + /// + IList GetObjectNamesForType(Type type, bool includePrototypes, bool includeFactoryObjects); - /// - /// Return the names of objects matching the given - /// (including subclasses), judging from the object definitions. - /// - /// - ///

- /// Does consider objects created by s, - /// or rather it considers the type of objects created by - /// (which means that - /// s will be instantiated). - ///

- ///

- /// Does not consider any hierarchy this factory may participate in. - /// Use - /// to include beans in ancestor factories too. - /// <p>Note: Does <i>not</i> ignore singleton objects that have been registered - /// by other means than bean definitions. - ///

- ///
- /// - /// The (class or interface) to match, or - /// for all object names. - /// - /// - /// Whether to include prototype objects too or just singletons (also applies to - /// s). - /// - /// - /// Whether to include s too - /// or just normal objects. - /// - /// - /// The names of all objects defined in this factory, or an empty array if none - /// are defined. - /// - string[] GetObjectNamesForType(bool includePrototypes, bool includeFactoryObjects); + /// + /// Return the names of objects matching the given + /// (including subclasses), judging from the object definitions. + /// + /// + ///

+ /// Does consider objects created by s, + /// or rather it considers the type of objects created by + /// (which means that + /// s will be instantiated). + ///

+ ///

+ /// Does not consider any hierarchy this factory may participate in. + /// Use + /// to include beans in ancestor factories too. + /// <p>Note: Does <i>not</i> ignore singleton objects that have been registered + /// by other means than bean definitions. + ///

+ ///
+ /// + /// The (class or interface) to match, or + /// for all object names. + /// + /// + /// Whether to include prototype objects too or just singletons (also applies to + /// s). + /// + /// + /// Whether to include s too + /// or just normal objects. + /// + /// + /// The names of all objects defined in this factory, or an empty array if none + /// are defined. + /// + IList GetObjectNames(bool includePrototypes, bool includeFactoryObjects); /// /// Return the object instances that match the given object @@ -248,7 +249,7 @@ namespace Spring.Objects.Factory /// /// If the objects could not be created. /// - IDictionary GetObjectsOfType(Type type); + IDictionary GetObjectsOfType(Type type); /// /// Return the object instances that match the given object @@ -277,7 +278,7 @@ namespace Spring.Objects.Factory /// /// If the objects could not be created. /// - IDictionary GetObjectsOfType(); + IDictionary GetObjects(); /// /// Return the object instances that match the given object @@ -305,35 +306,35 @@ namespace Spring.Objects.Factory /// /// If the objects could not be created. /// - IDictionary GetObjectsOfType(Type type, bool includePrototypes, bool includeFactoryObjects); + IDictionary GetObjectsOfType(Type type, bool includePrototypes, bool includeFactoryObjects); - /// - /// Return the object instances that match the given object - /// (including subclasses), judging from either object - /// definitions or the value of - /// in the case of - /// s. - /// - /// - /// The (class or interface) to match. - /// - /// - /// Whether to include prototype objects too or just singletons (also applies to - /// s). - /// - /// - /// Whether to include s too - /// or just normal objects. - /// - /// - /// A of the matching objects, - /// containing the object names as keys and the corresponding object instances - /// as values. - /// - /// - /// If the objects could not be created. - /// - IDictionary GetObjectsOfType(bool includePrototypes, bool includeFactoryObjects); + /// + /// Return the object instances that match the given object + /// (including subclasses), judging from either object + /// definitions or the value of + /// in the case of + /// s. + /// + /// + /// The (class or interface) to match. + /// + /// + /// Whether to include prototype objects too or just singletons (also applies to + /// s). + /// + /// + /// Whether to include s too + /// or just normal objects. + /// + /// + /// A of the matching objects, + /// containing the object names as keys and the corresponding object instances + /// as values. + /// + /// + /// If the objects could not be created. + /// + IDictionary GetObjects(bool includePrototypes, bool includeFactoryObjects); /// /// Return an instance (possibly shared or independent) of the given object name. diff --git a/src/Spring/Spring.Core/Objects/Factory/IObjectFactory.cs b/src/Spring/Spring.Core/Objects/Factory/IObjectFactory.cs index dbfaadae..aff582d0 100644 --- a/src/Spring/Spring.Core/Objects/Factory/IObjectFactory.cs +++ b/src/Spring/Spring.Core/Objects/Factory/IObjectFactory.cs @@ -21,6 +21,7 @@ #region Imports using System; +using System.Collections.Generic; #endregion @@ -209,21 +210,21 @@ namespace Spring.Objects.Factory /// True if an object with the given name is defined. bool ContainsObject(string name); - /// - /// Return the aliases for the given object name, if defined. - /// - /// - /// - /// Will ask the parent factory if the object cannot be found in this factory - /// instance. - /// - /// - /// The object name to check for aliases. - /// The aliases, or an empty array if none. - /// - /// If there's no such object definition. - /// - string[] GetAliases(string name); + /// + /// Return the aliases for the given object name, if defined. + /// + /// + /// + /// Will ask the parent factory if the object cannot be found in this factory + /// instance. + /// + /// + /// The object name to check for aliases. + /// The aliases, or an empty array if none. + /// + /// If there's no such object definition. + /// + IList GetAliases(string name); #if !MONO /// diff --git a/src/Spring/Spring.Core/Objects/Factory/ObjectFactoryUtils.cs b/src/Spring/Spring.Core/Objects/Factory/ObjectFactoryUtils.cs index e38561d7..eee5e85b 100644 --- a/src/Spring/Spring.Core/Objects/Factory/ObjectFactoryUtils.cs +++ b/src/Spring/Spring.Core/Objects/Factory/ObjectFactoryUtils.cs @@ -21,9 +21,8 @@ #region Imports using System; -using System.Collections; -using Spring.Collections; -using Spring.Core; +using System.Collections.Generic; + using Spring.Util; #endregion @@ -112,7 +111,7 @@ namespace Spring.Objects.Factory /// public static int CountObjectsIncludingAncestors(IListableObjectFactory factory) { - return ObjectNamesIncludingAncestors(factory).Length; + return ObjectNamesIncludingAncestors(factory).Count; } /// @@ -120,7 +119,7 @@ namespace Spring.Objects.Factory /// /// The object factory. /// The array of object names, or an empty array if none. - public static string[] ObjectNamesIncludingAncestors(IListableObjectFactory factory) + public static IList ObjectNamesIncludingAncestors(IListableObjectFactory factory) { return ObjectNamesForTypeIncludingAncestors(factory, typeof(object)); } @@ -160,17 +159,17 @@ namespace Spring.Objects.Factory /// /// The array of object names, or an empty array if none. /// - public static string[] ObjectNamesForTypeIncludingAncestors( + public static IList ObjectNamesForTypeIncludingAncestors( IListableObjectFactory factory, Type type, bool includePrototypes, bool includeFactoryObjects) { - ArrayList result = new ArrayList(); + List result = new List(); result.AddRange(factory.GetObjectNamesForType(type, includePrototypes, includeFactoryObjects)); IListableObjectFactory pof = GetParentListableObjectFactoryIfAny(factory); if (pof != null) { IHierarchicalObjectFactory hof = (IHierarchicalObjectFactory)factory; - string[] parentsResult = ObjectNamesForTypeIncludingAncestors(pof, type, includePrototypes, includeFactoryObjects); + IList parentsResult = ObjectNamesForTypeIncludingAncestors(pof, type, includePrototypes, includeFactoryObjects); foreach (string objectName in parentsResult) { if (!result.Contains(objectName) && !hof.ContainsLocalObject(objectName)) @@ -179,7 +178,7 @@ namespace Spring.Objects.Factory } } } - return (string[])result.ToArray(typeof(string)); + return result; } /// @@ -210,16 +209,16 @@ namespace Spring.Objects.Factory /// /// The array of object names, or an empty array if none. /// - public static string[] ObjectNamesForTypeIncludingAncestors( + public static IList ObjectNamesForTypeIncludingAncestors( IListableObjectFactory factory, Type type) { - ArrayList result = new ArrayList(); + List result = new List(); result.AddRange(factory.GetObjectNamesForType(type)); IListableObjectFactory pof = GetParentListableObjectFactoryIfAny(factory); if (pof != null) { IHierarchicalObjectFactory hof = (IHierarchicalObjectFactory)factory; - string[] parentsResult = ObjectNamesForTypeIncludingAncestors(pof, type); + IList parentsResult = ObjectNamesForTypeIncludingAncestors(pof, type); foreach (string objectName in parentsResult) { if (!result.Contains(objectName) && !hof.ContainsLocalObject(objectName)) @@ -228,7 +227,7 @@ namespace Spring.Objects.Factory } } } - return (string[])result.ToArray(typeof(string)); + return result; } /// @@ -259,12 +258,12 @@ namespace Spring.Objects.Factory /// The of object instances, or an /// empty if none. /// - public static IDictionary ObjectsOfTypeIncludingAncestors( + public static IDictionary ObjectsOfTypeIncludingAncestors( IListableObjectFactory factory, Type type, bool includePrototypes, bool includeFactoryObjects) { - Hashtable result = new Hashtable(); - foreach (DictionaryEntry entry in + Dictionary result = new Dictionary(); + foreach (KeyValuePair entry in factory.GetObjectsOfType(type, includePrototypes, includeFactoryObjects)) { result.Add(entry.Key, entry.Value); @@ -273,7 +272,7 @@ namespace Spring.Objects.Factory if (pof != null) { IHierarchicalObjectFactory hof = (IHierarchicalObjectFactory)factory; - IDictionary parentResult = ObjectsOfTypeIncludingAncestors(pof, type, includePrototypes, includeFactoryObjects); + IDictionary parentResult = ObjectsOfTypeIncludingAncestors(pof, type, includePrototypes, includeFactoryObjects); foreach (string objectName in parentResult.Keys) { if (!result.ContainsKey(objectName) && !hof.ContainsLocalObject(objectName)) @@ -319,7 +318,7 @@ namespace Spring.Objects.Factory IListableObjectFactory factory, Type type, bool includePrototypes, bool includeFactoryObjects) { - IDictionary objectsOfType = ObjectsOfTypeIncludingAncestors(factory, type, includePrototypes, includeFactoryObjects); + IDictionary objectsOfType = ObjectsOfTypeIncludingAncestors(factory, type, includePrototypes, includeFactoryObjects); return GrabTheOnlyObject(objectsOfType, type); } @@ -355,7 +354,7 @@ namespace Spring.Objects.Factory public static object ObjectOfType(IListableObjectFactory factory, Type type, bool includePrototypes, bool includeFactoryObjects) { - IDictionary objectsOfType = factory.GetObjectsOfType(type, includePrototypes, includeFactoryObjects); + IDictionary objectsOfType = factory.GetObjectsOfType(type, includePrototypes, includeFactoryObjects); return GrabTheOnlyObject(objectsOfType, type); } @@ -464,7 +463,7 @@ namespace Spring.Objects.Factory return null; } - private static object GrabTheOnlyObject(IDictionary objectsOfType, Type type) + private static object GrabTheOnlyObject(IDictionary objectsOfType, Type type) { if (objectsOfType.Count == 1) { diff --git a/src/Spring/Spring.Core/Objects/Factory/Support/AbstractAutowireCapableObjectFactory.cs b/src/Spring/Spring.Core/Objects/Factory/Support/AbstractAutowireCapableObjectFactory.cs index 764c9860..e7af9d00 100644 --- a/src/Spring/Spring.Core/Objects/Factory/Support/AbstractAutowireCapableObjectFactory.cs +++ b/src/Spring/Spring.Core/Objects/Factory/Support/AbstractAutowireCapableObjectFactory.cs @@ -22,17 +22,14 @@ using System; using System.Collections; -using System.Collections.Specialized; +using System.Collections.Generic; using System.Globalization; using System.Reflection; -using System.Runtime.Remoting; + using Common.Logging; + using Spring.Collections; -using Spring.Core; -using Spring.Core.TypeConversion; using Spring.Core.TypeResolution; -using Spring.Expressions; -using Spring.Objects; using Spring.Objects.Factory.Config; using Spring.Util; @@ -352,15 +349,15 @@ namespace Spring.Objects.Factory.Support /// protected void ApplyPropertyValues(string name, RootObjectDefinition definition, IObjectWrapper wrapper, IPropertyValues properties) { - if (properties == null || properties.PropertyValues.Length == 0) + if (properties == null || properties.PropertyValues.Count == 0) { return; } ObjectDefinitionValueResolver valueResolver = CreateValueResolver(); MutablePropertyValues deepCopy = new MutablePropertyValues(properties); - PropertyValue[] copiedProperties = deepCopy.PropertyValues; - for (int i = 0; i < copiedProperties.Length; ++i) + IList copiedProperties = deepCopy.PropertyValues; + for (int i = 0; i < copiedProperties.Count; ++i) { PropertyValue copiedProperty = copiedProperties[i]; //(string name, RootObjectDefinition definition, string argumentName, object argumentValue) @@ -503,7 +500,7 @@ namespace Spring.Objects.Factory.Support if (wrapper == null) { - if (properties.PropertyValues.Length > 0) + if (properties.PropertyValues.Count > 0) { throw new ObjectCreationException(definition.ResourceDescription, name, "Cannot apply property values to null instance."); @@ -537,7 +534,7 @@ namespace Spring.Objects.Factory.Support if (hasInstAwareOpps || needsDepCheck) { - PropertyInfo[] filteredPropInfo = FilterPropertyInfoForDependencyCheck(wrapper); + IList filteredPropInfo = FilterPropertyInfoForDependencyCheck(wrapper); if (hasInstAwareOpps) { foreach (IObjectPostProcessor processor in ObjectPostProcessors) @@ -701,7 +698,7 @@ namespace Spring.Objects.Factory.Support { // look for a matching type Type requiredType = wrapper.GetPropertyType(propertyName); - IDictionary matchingObjects = FindMatchingObjects(requiredType); + IDictionary matchingObjects = FindMatchingObjects(requiredType); if (matchingObjects != null && matchingObjects.Count == 1) { properties.Add(propertyName, ObjectUtils.EnumerateFirstElement(matchingObjects.Values)); @@ -837,7 +834,7 @@ namespace Spring.Objects.Factory.Support protected internal override object InstantiateObject(string name, RootObjectDefinition definition, object[] arguments, bool allowEagerCaching, bool suppressConfigure) { // guarantee the initialization of objects that the current one depends on.. - if (definition.DependsOn != null && definition.DependsOn.Length > 0) + if (definition.DependsOn != null && definition.DependsOn.Count > 0) { foreach (string dependant in definition.DependsOn) { @@ -1158,7 +1155,7 @@ namespace Spring.Objects.Factory.Support return; } - PropertyInfo[] filteredPropInfo = FilterPropertyInfoForDependencyCheck(wrapper); + IList filteredPropInfo = FilterPropertyInfoForDependencyCheck(wrapper); if (HasInstantiationAwareBeanPostProcessors) { foreach (IObjectPostProcessor processor in ObjectPostProcessors) @@ -1180,12 +1177,12 @@ namespace Spring.Objects.Factory.Support CheckDependencies(name, definition, filteredPropInfo, properties); } - private void CheckDependencies(string name, IConfigurableObjectDefinition definition, PropertyInfo[] filteredPropInfo, IPropertyValues properties) + private void CheckDependencies(string name, IConfigurableObjectDefinition definition, IList filteredPropInfo, IPropertyValues properties) { DependencyCheckingMode dependencyCheck = definition.DependencyCheck; - PropertyInfo[] unsatisfiedDependencies = AutowireUtils.GetUnsatisfiedDependencies(filteredPropInfo, properties, dependencyCheck); + IList unsatisfiedDependencies = AutowireUtils.GetUnsatisfiedDependencies(filteredPropInfo, properties, dependencyCheck); - if (unsatisfiedDependencies.Length > 0) + if (unsatisfiedDependencies.Count > 0) { throw new UnsatisfiedDependencyException(definition.ResourceDescription, name, unsatisfiedDependencies[0].Name, "Set this property value or disable dependency checking for this object."); @@ -1198,25 +1195,25 @@ namespace Spring.Objects.Factory.Support /// /// The object wrapper the object was created with. /// The filtered PropertyInfos - private PropertyInfo[] FilterPropertyInfoForDependencyCheck(IObjectWrapper wrapper) + private IList FilterPropertyInfoForDependencyCheck(IObjectWrapper wrapper) { lock (filteredPropertyDescriptorsCache) { - PropertyInfo[] filtered = (PropertyInfo[])filteredPropertyDescriptorsCache[wrapper.WrappedType]; - if (filtered == null) + IList filtered; + if (!filteredPropertyDescriptorsCache.TryGetValue(wrapper.WrappedType, out filtered)) { - ArrayList list = new ArrayList(wrapper.GetPropertyInfos()); + List list = new List(wrapper.GetPropertyInfos()); for (int i = list.Count - 1; i >= 0; i--) { - PropertyInfo pi = (PropertyInfo)list[i]; + PropertyInfo pi = list[i]; if (IsExcludedFromDependencyCheck(pi)) { list.RemoveAt(i); } } - filtered = (PropertyInfo[])list.ToArray(typeof(PropertyInfo)); + filtered = list; filteredPropertyDescriptorsCache.Add(wrapper.WrappedType, filtered); } return filtered; @@ -1464,7 +1461,7 @@ namespace Spring.Objects.Factory.Support /// private void DestroyDependantObjects(string name) { - string[] dependingObjects = GetDependingObjectNames(name); + IList dependingObjects = GetDependingObjectNames(name); foreach (string doName in dependingObjects) { DestroySingleton(doName); @@ -1747,7 +1744,7 @@ namespace Spring.Objects.Factory.Support ///

/// /// - /// The of the objects to look up. + /// The of the objects to look up. /// /// /// An of object names and object @@ -1757,7 +1754,7 @@ namespace Spring.Objects.Factory.Support /// /// In case of errors. /// - protected abstract IDictionary FindMatchingObjects(Type requiredType); + protected abstract IDictionary FindMatchingObjects(Type requiredType); /// /// Return the names of the objects that depend on the given object. @@ -1772,7 +1769,7 @@ namespace Spring.Objects.Factory.Support /// /// In case of errors. /// - protected abstract string[] GetDependingObjectNames(string name); + protected abstract IList GetDependingObjectNames(string name); /// /// Injects dependencies into the supplied instance @@ -2083,7 +2080,7 @@ namespace Spring.Objects.Factory.Support /// /// Cache of filtered PropertyInfos: object Type -> PropertyInfo array /// - private IDictionary filteredPropertyDescriptorsCache = new Hashtable(); + private IDictionary> filteredPropertyDescriptorsCache = new Dictionary>(); /// /// Dependency interfaces to ignore on dependency check and autowire, as Set of diff --git a/src/Spring/Spring.Core/Objects/Factory/Support/AbstractObjectDefinition.cs b/src/Spring/Spring.Core/Objects/Factory/Support/AbstractObjectDefinition.cs index ee48e420..e12ba0ae 100644 --- a/src/Spring/Spring.Core/Objects/Factory/Support/AbstractObjectDefinition.cs +++ b/src/Spring/Spring.Core/Objects/Factory/Support/AbstractObjectDefinition.cs @@ -21,11 +21,11 @@ #region Imports using System; -using System.Collections; +using System.Collections.Generic; using System.Globalization; using System.Reflection; using System.Text; -using Spring.Core; + using Spring.Core.TypeResolution; using Spring.Objects.Factory.Config; using Spring.Util; @@ -134,9 +134,8 @@ namespace Spring.Objects.Factory.Support InitMethodName = other.InitMethodName; DestroyMethodName = other.DestroyMethodName; - DependsOn = new string[other.DependsOn.Length]; IsAutowireCandidate = other.IsAutowireCandidate; - Array.Copy(other.DependsOn, DependsOn, other.DependsOn.Length); + DependsOn = new List(other.DependsOn); FactoryMethodName = other.FactoryMethodName; FactoryObjectName = other.FactoryObjectName; AutowireMode = other.AutowireMode; @@ -523,10 +522,10 @@ namespace Spring.Objects.Factory.Support /// preparation on startup. /// /// - public string[] DependsOn + public IList DependsOn { get { return dependsOn; } - set { dependsOn = value == null ? StringUtils.EmptyStrings : value; } + set { dependsOn = value ?? StringUtils.EmptyStrings; } } /// @@ -738,14 +737,14 @@ namespace Spring.Objects.Factory.Support { FactoryMethodName = other.FactoryMethodName; } - if (ArrayUtils.HasLength(other.DependsOn)) + if (other.DependsOn != null && other.DependsOn.Count > 0) { - ArrayList deps = new ArrayList(other.DependsOn); - if (ArrayUtils.HasLength(DependsOn)) + List deps = new List(other.DependsOn); + if (DependsOn != null && DependsOn.Count > 0) { deps.AddRange(DependsOn); } - DependsOn = (string[]) deps.ToArray(typeof(string)); + DependsOn = deps; } AutowireMode = other.AutowireMode; ResourceDescription = other.ResourceDescription; @@ -810,7 +809,7 @@ namespace Spring.Objects.Factory.Support private object objectType; private AutoWiringMode autowireMode = AutoWiringMode.No; private DependencyCheckingMode dependencyCheck = DependencyCheckingMode.None; - private string[] dependsOn; + private IList dependsOn; private bool autowireCandidate = true; private string initMethodName = null; private string destroyMethodName = null; diff --git a/src/Spring/Spring.Core/Objects/Factory/Support/AbstractObjectFactory.cs b/src/Spring/Spring.Core/Objects/Factory/Support/AbstractObjectFactory.cs index ad19745b..446336bd 100644 --- a/src/Spring/Spring.Core/Objects/Factory/Support/AbstractObjectFactory.cs +++ b/src/Spring/Spring.Core/Objects/Factory/Support/AbstractObjectFactory.cs @@ -22,9 +22,10 @@ using System; using System.Collections; +using System.Collections.Generic; using System.Collections.Specialized; using System.ComponentModel; -using System.Runtime.Serialization; + using Common.Logging; using Spring.Collections; @@ -34,6 +35,7 @@ using Spring.Objects.Factory.Config; using Spring.Threading; using Spring.Util; using System.Threading; +using System.Linq; #endregion @@ -140,7 +142,7 @@ namespace Spring.Objects.Factory.Support /// /// Cache of singleton objects created by s: FactoryObject name -> product /// - private readonly Hashtable factoryObjectProductCache = new Hashtable(); + private readonly Dictionary factoryObjectProductCache = new Dictionary(); #region Constructor (s) / Destructor @@ -904,7 +906,7 @@ namespace Spring.Objects.Factory.Support if (rod == null) { - resultInstance = factoryObjectProductCache[canonicalName]; + factoryObjectProductCache.TryGetValue(canonicalName, out resultInstance); } if (resultInstance == null) @@ -926,10 +928,9 @@ namespace Spring.Objects.Factory.Support if (factory.IsSingleton && ContainsSingleton(canonicalName)) { - lock (factoryObjectProductCache.SyncRoot) + lock (factoryObjectProductCache) { - resultInstance = factoryObjectProductCache[canonicalName]; - if (resultInstance == null) + if (!factoryObjectProductCache.TryGetValue(canonicalName, out resultInstance)) { resultInstance = GetObjectFromFactoryObject(factory, canonicalName, rod); if (resultInstance != null) @@ -1209,11 +1210,11 @@ namespace Spring.Objects.Factory.Support /// The names of objects in the singleton cache that match the given /// object type (including subclasses), or an empty array if none. /// - public virtual string[] GetSingletonNames(Type type) + public virtual IList GetSingletonNames(Type type) { lock (singletonCache) { - ArrayList matches = new ArrayList(); + List matches = new List(); foreach (string name in singletonCache.Keys) { object singletonObject = singletonCache[name]; @@ -1223,7 +1224,7 @@ namespace Spring.Objects.Factory.Support matches.Add(name); } } - return (string[])matches.ToArray(typeof(string)); + return matches; } } @@ -1446,12 +1447,12 @@ namespace Spring.Objects.Factory.Support ///

/// /// The names of the objects in the singleton cache. - public virtual string[] GetSingletonNames() + public virtual IList GetSingletonNames() { lock (singletonCache) { - ICollection keys = singletonCache.Keys; - return (string[])new ArrayList(keys).ToArray(typeof(string)); + IEnumerable keys = singletonCache.Keys.Cast(); + return new List(keys); } } @@ -1613,14 +1614,14 @@ namespace Spring.Objects.Factory.Support private bool hasDestructionAwareBeanPostProcessors; private bool caseSensitive; - private IDictionary aliasMap; - private IDictionary singletonCache; - private IDictionary singletonLocks; + private OrderedDictionary aliasMap; + private OrderedDictionary singletonCache; + private OrderedDictionary singletonLocks; /// /// Set of registered singletons, containing the bean names in registration order /// - private ISet registeredSingletons = new HashedSet(); + private HashSet registeredSingletons = new HashSet(); private readonly IDictionary singletonsInCreation; @@ -1813,7 +1814,7 @@ namespace Spring.Objects.Factory.Support /// Return the aliases for the given object name, if defined. ///
/// . - public string[] GetAliases(string name) + public IList GetAliases(string name) { string objectName = TransformedObjectName(name); // check if object actually exists in this object factory... @@ -1821,18 +1822,18 @@ namespace Spring.Objects.Factory.Support if (isInSingletonCache || ContainsObjectDefinition(objectName)) { // if found, gather aliases... - ArrayList matches = new ArrayList(); + List matches = new List(); lock (aliasMap) { foreach (DictionaryEntry aliasEntry in aliasMap) { if (0 == string.Compare((string)aliasEntry.Value, objectName, !this.IsCaseSensitive)) { - matches.Add(aliasEntry.Key); + matches.Add((string) aliasEntry.Key); } } } - return (string[])matches.ToArray(typeof(string)); + return matches; } // not found, so check parent... @@ -2532,7 +2533,7 @@ namespace Spring.Objects.Factory.Support /// /// /// - public string[] SingletonNames + public IList SingletonNames { get { diff --git a/src/Spring/Spring.Core/Objects/Factory/Support/AutowireUtils.cs b/src/Spring/Spring.Core/Objects/Factory/Support/AutowireUtils.cs index 3ad46d96..b68e6747 100644 --- a/src/Spring/Spring.Core/Objects/Factory/Support/AutowireUtils.cs +++ b/src/Spring/Spring.Core/Objects/Factory/Support/AutowireUtils.cs @@ -22,11 +22,12 @@ using System; using System.Collections; +using System.Collections.Generic; using System.Reflection; + using Spring.Collections; using Spring.Core; using Spring.Objects.Factory.Config; -using Spring.Objects.Support; using Spring.Util; #endregion @@ -354,9 +355,9 @@ namespace Spring.Objects.Factory.Support /// Returns the list of that are not satisfied by . ///
/// the filtered list. Is never null - public static PropertyInfo[] GetUnsatisfiedDependencies(PropertyInfo[] propertyInfos, IPropertyValues properties, DependencyCheckingMode dependencyCheck) + public static IList GetUnsatisfiedDependencies(IList propertyInfos, IPropertyValues properties, DependencyCheckingMode dependencyCheck) { - ArrayList unsatisfiedDependenciesList = new ArrayList(); + List unsatisfiedDependenciesList = new List(); foreach (PropertyInfo property in propertyInfos) { if (property.CanWrite && properties.GetPropertyValue(property.Name) == null) @@ -370,7 +371,7 @@ namespace Spring.Objects.Factory.Support } } } - return (PropertyInfo[])unsatisfiedDependenciesList.ToArray(typeof(PropertyInfo)); + return unsatisfiedDependenciesList; } } } \ No newline at end of file diff --git a/src/Spring/Spring.Core/Objects/Factory/Support/ConstructorResolver.cs b/src/Spring/Spring.Core/Objects/Factory/Support/ConstructorResolver.cs index 2d7ba754..979f966e 100644 --- a/src/Spring/Spring.Core/Objects/Factory/Support/ConstructorResolver.cs +++ b/src/Spring/Spring.Core/Objects/Factory/Support/ConstructorResolver.cs @@ -20,6 +20,7 @@ using System; using System.Collections; +using System.Collections.Generic; using System.Globalization; using System.Reflection; using Common.Logging; @@ -30,6 +31,8 @@ using Spring.Core.TypeResolution; using Spring.Objects.Factory.Config; using Spring.Util; +using System.Linq; + namespace Spring.Objects.Factory.Support { /// @@ -306,12 +309,12 @@ namespace Spring.Objects.Factory.Support } GenericArgumentsHolder genericArgsInfo = new GenericArgumentsHolder(definition.FactoryMethodName); - MethodInfo[] factoryMethodCandidates = FindMethods(genericArgsInfo.GenericMethodName, expectedArgCount, isStatic, factoryClass); + IList factoryMethodCandidates = FindMethods(genericArgsInfo.GenericMethodName, expectedArgCount, isStatic, factoryClass); bool autowiring = (definition.AutowireMode == AutoWiringMode.Constructor); // try all matching methods to see if they match the constructor arguments... - for (int i = 0; i < factoryMethodCandidates.Length; i++) + for (int i = 0; i < factoryMethodCandidates.Count; i++) { MethodInfo factoryMethodCandidate = factoryMethodCandidates[i]; if (genericArgsInfo.ContainsGenericArguments) @@ -540,7 +543,7 @@ namespace Spring.Objects.Factory.Support // ObjectDefinitionValueResolver valueResolver = new ObjectDefinitionValueResolver(objectFactory); int minNrOfArgs = cargs.ArgumentCount; - foreach (DictionaryEntry entry in cargs.IndexedArgumentValues) + foreach (KeyValuePair entry in cargs.IndexedArgumentValues) { int index = Convert.ToInt32(entry.Key); if (index < 0) @@ -552,8 +555,7 @@ namespace Spring.Objects.Factory.Support { minNrOfArgs = index + 1; } - ConstructorArgumentValues.ValueHolder valueHolder = - (ConstructorArgumentValues.ValueHolder)entry.Value; + ConstructorArgumentValues.ValueHolder valueHolder = entry.Value; string argName = "constructor argument with index " + index; object resolvedValue = valueResolver.ResolveValueIfNecessary(objectName, definition, argName, valueHolder.Value); @@ -575,9 +577,9 @@ namespace Spring.Objects.Factory.Support AssemblyQualifiedName : null); } - foreach (DictionaryEntry namedArgumentEntry in definition.ConstructorArgumentValues.NamedArgumentValues) + foreach (KeyValuePair namedArgumentEntry in definition.ConstructorArgumentValues.NamedArgumentValues) { - string argumentName = (string)namedArgumentEntry.Key; + string argumentName = namedArgumentEntry.Key; string syntheticArgumentName = "constructor argument with name " + argumentName; ConstructorArgumentValues.ValueHolder valueHolder = (ConstructorArgumentValues.ValueHolder)namedArgumentEntry.Value; @@ -610,16 +612,14 @@ namespace Spring.Objects.Factory.Support /// methods exposed on the /// that match the supplied criteria. /// - private static MethodInfo[] FindMethods(string methodName, int expectedArgumentCount, bool isStatic, Type searchType) + private static IList FindMethods(string methodName, int expectedArgumentCount, bool isStatic, Type searchType) { ComposedCriteria methodCriteria = new ComposedCriteria(); methodCriteria.Add(new MethodNameMatchCriteria(methodName)); methodCriteria.Add(new MethodParametersCountCriteria(expectedArgumentCount)); BindingFlags methodFlags = BindingFlags.Public | BindingFlags.IgnoreCase | (isStatic ? BindingFlags.Static : BindingFlags.Instance); - MemberInfo[] methods = - searchType.FindMembers(MemberTypes.Method, methodFlags, new MemberFilter(new CriteriaMemberFilter().FilterMemberByCriteria), - methodCriteria); - return (MethodInfo[])ArrayList.Adapter(methods).ToArray(typeof(MethodInfo)); + MemberInfo[] methods = searchType.FindMembers(MemberTypes.Method, methodFlags, new CriteriaMemberFilter().FilterMemberByCriteria, methodCriteria); + return methods.Cast().ToArray(); } internal class ArgumentsHolder { diff --git a/src/Spring/Spring.Core/Objects/Factory/Support/DefaultListableObjectFactory.cs b/src/Spring/Spring.Core/Objects/Factory/Support/DefaultListableObjectFactory.cs index 522ced09..8092101f 100644 --- a/src/Spring/Spring.Core/Objects/Factory/Support/DefaultListableObjectFactory.cs +++ b/src/Spring/Spring.Core/Objects/Factory/Support/DefaultListableObjectFactory.cs @@ -22,14 +22,14 @@ using System; using System.Collections; +using System.Collections.Generic; using System.Collections.Specialized; using System.Globalization; -using System.Reflection; + using Common.Logging; -using Spring.Collections; + using Spring.Core; using Spring.Core.TypeConversion; -using Spring.Objects.Factory; using Spring.Objects.Factory.Config; using Spring.Util; @@ -112,13 +112,14 @@ namespace Spring.Objects.Factory.Support public DefaultListableObjectFactory(bool caseSensitive, IObjectFactory parentFactory) : base(caseSensitive, parentFactory) { + AllowObjectDefinitionOverriding = true; if (caseSensitive) { - objectDefinitionMap = new Hashtable(); + objectDefinitionMap = new Dictionary(); } else { - objectDefinitionMap = new CaseInsensitiveHashtable(); //CollectionsUtil.CreateCaseInsensitiveHashtable(); + objectDefinitionMap = new Dictionary(StringComparer.OrdinalIgnoreCase); } } @@ -146,11 +147,7 @@ namespace Spring.Objects.Factory.Support /// is the registration of an object definition /// under the same name as an existing object definition is allowed. /// - public bool AllowObjectDefinitionOverriding - { - get { return allowObjectDefinitionOverriding; } - set { allowObjectDefinitionOverriding = value; } - } + public bool AllowObjectDefinitionOverriding { get; set; } /// @@ -185,7 +182,7 @@ namespace Spring.Objects.Factory.Support ///

/// /// - /// The type of the objects to look up. + /// The type of the objects to look up. /// /// /// An of object names and object @@ -195,7 +192,7 @@ namespace Spring.Objects.Factory.Support /// /// In case of errors. /// - protected override IDictionary FindMatchingObjects(Type requiredType) + protected override IDictionary FindMatchingObjects(Type requiredType) { return ObjectFactoryUtils.ObjectsOfTypeIncludingAncestors( this, requiredType, true, true); @@ -220,19 +217,18 @@ namespace Spring.Objects.Factory.Support /// /// In case of errors. /// - protected override string[] GetDependingObjectNames(string objectName) + protected override IList GetDependingObjectNames(string objectName) { - ArrayList dependingObjectNames = new ArrayList(); - string[] allObjectDefinitionNames = GetObjectDefinitionNames(); + List dependingObjectNames = new List(); + IList allObjectDefinitionNames = GetObjectDefinitionNames(); foreach (string name in allObjectDefinitionNames) { if (ContainsObjectDefinition(name)) { - RootObjectDefinition rod - = GetMergedObjectDefinition(name, false); + RootObjectDefinition rod = GetMergedObjectDefinition(name, false); if (rod.DependsOn != null) { - IList dependsOn = new ArrayList(rod.DependsOn); + HashSet dependsOn = new HashSet(rod.DependsOn); if (dependsOn.Contains(objectName)) { #region Instrumentation @@ -252,7 +248,7 @@ namespace Spring.Objects.Factory.Support } } } - return (string[])dependingObjectNames.ToArray(typeof(string)); + return dependingObjectNames; } /// @@ -310,21 +306,15 @@ namespace Spring.Objects.Factory.Support /// private readonly ILog log = LogManager.GetLogger(typeof(DefaultListableObjectFactory)); - /// - /// Whether to allow re-registration of a different definition with the - /// same name. - /// - private bool allowObjectDefinitionOverriding = true; - /// /// The mapping of object definition objects, keyed by object name. /// - private readonly IDictionary objectDefinitionMap; + private readonly IDictionary objectDefinitionMap; /// /// List of object definition names, in registration order. /// - private readonly IList objectDefinitionNames = new ArrayList(); + private readonly List objectDefinitionNames = new List(); /// /// Resolver to use for checking if an object definition is an autowire candidate @@ -366,7 +356,7 @@ namespace Spring.Objects.Factory.Support /// public override bool ContainsObjectDefinition(string name) { - return objectDefinitionMap.Contains(name); + return objectDefinitionMap.ContainsKey(name); } /// @@ -400,8 +390,8 @@ namespace Spring.Objects.Factory.Support ex); } } - object oldObjectDefinition = objectDefinitionMap[name]; - if (oldObjectDefinition != null) + IObjectDefinition oldObjectDefinition; + if (objectDefinitionMap.TryGetValue(name, out oldObjectDefinition)) { if (!AllowObjectDefinitionOverriding) { @@ -460,7 +450,7 @@ namespace Spring.Objects.Factory.Support int definitionCount = objectDefinitionNames.Count; for (int i = 0; i < definitionCount; i++) { - string name = (string)objectDefinitionNames[i]; + string name = objectDefinitionNames[i]; if (!ContainsSingleton(name) && ContainsObjectDefinition(name)) { RootObjectDefinition definition @@ -585,8 +575,8 @@ namespace Spring.Objects.Factory.Support } name = TransformedObjectName(name); - IObjectDefinition definition = (IObjectDefinition)objectDefinitionMap[name]; - if (definition == null) + IObjectDefinition definition; + if (!objectDefinitionMap.TryGetValue(name, out definition)) { if (!includeAncestors || ParentObjectFactory == null) { @@ -613,9 +603,9 @@ namespace Spring.Objects.Factory.Support /// are defined. /// /// - public string[] GetObjectDefinitionNames() + public IList GetObjectDefinitionNames() { - return (string[])((ArrayList)objectDefinitionNames).ToArray(typeof(string)); + return objectDefinitionNames; } /// @@ -631,9 +621,9 @@ namespace Spring.Objects.Factory.Support /// are defined. /// /// - public string[] GetObjectDefinitionNames(Type type) + public IList GetObjectDefinitionNames(Type type) { - ArrayList matches = new ArrayList(); + List matches = new List(); foreach (string name in objectDefinitionNames) { if (IsObjectDefinitionTypeMatch(name, type)) @@ -641,7 +631,7 @@ namespace Spring.Objects.Factory.Support matches.Add(name); } } - return (string[])matches.ToArray(typeof(string)); + return matches; } /// @@ -657,7 +647,7 @@ namespace Spring.Objects.Factory.Support /// are defined. /// /// - public string[] GetObjectNamesForType(Type type) + public IList GetObjectNamesForType(Type type) { return GetObjectNamesForType(type, true, true); } @@ -685,7 +675,7 @@ namespace Spring.Objects.Factory.Support /// The names of all objects defined in this factory, or an empty array if none /// are defined. /// - public string[] GetObjectNamesForType() + public IList GetObjectNames() { return GetObjectNamesForType(typeof (T)); } @@ -711,11 +701,10 @@ namespace Spring.Objects.Factory.Support /// are defined. /// /// - public string[] GetObjectNamesForType( - Type type, bool includePrototypes, bool includeFactoryObjects) + public IList GetObjectNamesForType(Type type, bool includePrototypes, bool includeFactoryObjects) { - IList objectNames = DoGetObjectNamesForType(type, includePrototypes, includeFactoryObjects); - return (string[])ArrayList.Adapter(objectNames).ToArray(typeof(string)); + List objectNames = DoGetObjectNamesForType(type, includePrototypes, includeFactoryObjects); + return objectNames; } /// @@ -753,7 +742,7 @@ namespace Spring.Objects.Factory.Support /// The names of all objects defined in this factory, or an empty array if none /// are defined. /// - public string[] GetObjectNamesForType(bool includePrototypes, bool includeFactoryObjects) + public IList GetObjectNames(bool includePrototypes, bool includeFactoryObjects) { return GetObjectNamesForType(typeof (T), includePrototypes, includeFactoryObjects); } @@ -777,7 +766,7 @@ namespace Spring.Objects.Factory.Support /// If the objects could not be created. /// /// - public IDictionary GetObjectsOfType(Type type) + public IDictionary GetObjectsOfType(Type type) { return GetObjectsOfType(type, true, true); } @@ -809,9 +798,11 @@ namespace Spring.Objects.Factory.Support /// /// If the objects could not be created. /// - public IDictionary GetObjectsOfType() + public IDictionary GetObjects() { - return GetObjectsOfType(typeof (T)); + Dictionary result = new Dictionary(); + DoGetObjectsOfType(typeof (T), true, true, result); + return result; } /// @@ -838,21 +829,26 @@ namespace Spring.Objects.Factory.Support /// If any of the objects could not be created. /// /// - public IDictionary GetObjectsOfType( - Type type, bool includePrototypes, bool includeFactoryObjects) + public IDictionary GetObjectsOfType(Type type, bool includePrototypes, bool includeFactoryObjects) { - IDictionary result = new Hashtable(); - IList objectNames = DoGetObjectNamesForType(type, includePrototypes, includeFactoryObjects); + Dictionary result = new Dictionary(); + DoGetObjectsOfType(type, includePrototypes, includeFactoryObjects, result); + return result; + } + + private void DoGetObjectsOfType(Type type, bool includePrototypes, bool includeFactoryObjects, IDictionary resultCollector) + { + IList objectNames = DoGetObjectNamesForType(type, includePrototypes, includeFactoryObjects); foreach (string objectName in objectNames) { try { - result.Add(objectName, GetObject(objectName)); + resultCollector.Add(objectName, GetObject(objectName)); } catch (ObjectCreationException ex) { if (ex.InnerException != null - && ex.GetBaseException().GetType().Equals(typeof(ObjectCurrentlyInCreationException))) + && ex.GetBaseException().GetType().Equals(typeof (ObjectCurrentlyInCreationException))) { // ignoring this is ok... it indicates a circular reference when autowiring // constructors; we want to find matches other than the currently @@ -860,9 +856,9 @@ namespace Spring.Objects.Factory.Support if (log.IsDebugEnabled) { log.Debug(string.Format( - CultureInfo.InvariantCulture, - "Ignoring match to currently created object '{0}'.", - objectName), ex); + CultureInfo.InvariantCulture, + "Ignoring match to currently created object '{0}'.", + objectName), ex); } } else @@ -871,7 +867,6 @@ namespace Spring.Objects.Factory.Support } } } - return result; } /// @@ -885,12 +880,12 @@ namespace Spring.Objects.Factory.Support /// The (class or interface) to match. /// /// - /// Whether to include prototype objects too or just singletons (also applies to - /// s). + /// Whether to include prototype objects too or just singletons (also applies to + /// s). /// /// - /// Whether to include s too - /// or just normal objects. + /// Whether to include s too + /// or just normal objects. /// /// /// A of the matching objects, @@ -900,9 +895,11 @@ namespace Spring.Objects.Factory.Support /// /// If the objects could not be created. /// - public IDictionary GetObjectsOfType(bool includePrototypes, bool includeFactoryObjects) + public IDictionary GetObjects(bool includePrototypes, bool includeFactoryObjects) { - return GetObjectsOfType(typeof (T), includePrototypes, includeFactoryObjects); + Dictionary result = new Dictionary(); + DoGetObjectsOfType(typeof (T), includePrototypes, includeFactoryObjects, result); + return result; } /// @@ -936,13 +933,13 @@ namespace Spring.Objects.Factory.Support /// public T GetObject() { - string[] objectNamesForType = GetObjectNamesForType(typeof(T)); - if ((objectNamesForType == null) || (objectNamesForType.Length == 0)) + IList objectNamesForType = GetObjectNamesForType(typeof(T)); + if ((objectNamesForType == null) || (objectNamesForType.Count == 0)) { throw new NoSuchObjectDefinitionException(typeof(T).FullName, "Requested Type not Defined in the Context."); } - if (objectNamesForType.Length > 1) + if (objectNamesForType.Count > 1) { throw new ObjectDefinitionStoreException(string.Format("More than one definition for {0} found in the Context.", typeof(T).FullName)); } @@ -974,10 +971,10 @@ namespace Spring.Objects.Factory.Support /// If any of the objects could not be created. /// /// - protected IList DoGetObjectNamesForType(Type type, bool includeNonSingletons, bool allowEagerInit) + protected List DoGetObjectNamesForType(Type type, bool includeNonSingletons, bool allowEagerInit) { - IList result = new ArrayList(); - string[] objectNames = GetObjectDefinitionNames(); + List result = new List(); + IList objectNames = GetObjectDefinitionNames(); foreach (string s in objectNames) { string objectName = s; @@ -1035,7 +1032,7 @@ namespace Spring.Objects.Factory.Support } // check singletons too, to catch manually registered singletons... - string[] singletonNames = GetSingletonNames(); + IList singletonNames = GetSingletonNames(); foreach (string s in singletonNames) { string objectName = s; @@ -1172,9 +1169,9 @@ namespace Spring.Objects.Factory.Support private IDictionary FindAutowireCandidates(string objectName, Type requiredType, DependencyDescriptor descriptor) { - string[] candidateNames = + IList candidateNames = ObjectFactoryUtils.ObjectNamesForTypeIncludingAncestors(this, requiredType, true, descriptor.Eager); - IDictionary result = new OrderedDictionary(candidateNames.Length); + IDictionary result = new OrderedDictionary(candidateNames.Count); foreach (DictionaryEntry entry in resolvableDependencies) { @@ -1189,7 +1186,7 @@ namespace Spring.Objects.Factory.Support } } } - for (int i = 0; i < candidateNames.Length; i++) + for (int i = 0; i < candidateNames.Count; i++) { string candidateName = candidateNames[i]; if (!candidateName.Equals(objectName) && IsAutowireCandidate(candidateName, descriptor)) diff --git a/src/Spring/Spring.Core/Objects/Factory/Support/IConfigurableObjectDefinition.cs b/src/Spring/Spring.Core/Objects/Factory/Support/IConfigurableObjectDefinition.cs index 008684c2..35429241 100644 --- a/src/Spring/Spring.Core/Objects/Factory/Support/IConfigurableObjectDefinition.cs +++ b/src/Spring/Spring.Core/Objects/Factory/Support/IConfigurableObjectDefinition.cs @@ -21,6 +21,8 @@ #region Imports using System; +using System.Collections.Generic; + using Spring.Objects.Factory.Config; #endregion @@ -159,7 +161,7 @@ namespace Spring.Objects.Factory.Support /// preparation on startup. ///

/// - new string[] DependsOn { get; set; } + new IList DependsOn { get; set; } /// /// The name of the initializer method. diff --git a/src/Spring/Spring.Core/Objects/Factory/Support/IObjectDefinitionRegistry.cs b/src/Spring/Spring.Core/Objects/Factory/Support/IObjectDefinitionRegistry.cs index e80a6de7..25ca92cc 100644 --- a/src/Spring/Spring.Core/Objects/Factory/Support/IObjectDefinitionRegistry.cs +++ b/src/Spring/Spring.Core/Objects/Factory/Support/IObjectDefinitionRegistry.cs @@ -20,6 +20,8 @@ #region Imports +using System.Collections.Generic; + using Spring.Objects.Factory; using Spring.Objects.Factory.Config; @@ -69,7 +71,7 @@ namespace Spring.Objects.Factory.Support /// The names of all objects defined in this registry, or an empty array /// if none defined /// - string [] GetObjectDefinitionNames (); + IList GetObjectDefinitionNames (); /// /// Check if this registry contains a object definition with the given name. @@ -126,25 +128,25 @@ namespace Spring.Objects.Factory.Support /// If the object definition is invalid. /// void RegisterObjectDefinition (string name, IObjectDefinition definition); - - /// - /// Return the aliases for the given object name, if defined. - /// - /// the object name to check for aliases - /// - /// - ///

- /// Will ask the parent factory if the object cannot be found in this - /// factory instance. - ///

- ///
- /// - /// The aliases, or an empty array if none. - /// - /// - /// If there's no such object definition. - /// - string [] GetAliases (string name); + + /// + /// Return the aliases for the given object name, if defined. + /// + /// the object name to check for aliases + /// + /// + ///

+ /// Will ask the parent factory if the object cannot be found in this + /// factory instance. + ///

+ ///
+ /// + /// The aliases, or an empty array if none. + /// + /// + /// If there's no such object definition. + /// + IList GetAliases (string name); /// /// Given a object name, create an alias. We typically use this method to diff --git a/src/Spring/Spring.Core/Objects/Factory/Support/ObjectDefinitionBuilder.cs b/src/Spring/Spring.Core/Objects/Factory/Support/ObjectDefinitionBuilder.cs index 7cf022c6..49e80bae 100644 --- a/src/Spring/Spring.Core/Objects/Factory/Support/ObjectDefinitionBuilder.cs +++ b/src/Spring/Spring.Core/Objects/Factory/Support/ObjectDefinitionBuilder.cs @@ -20,7 +20,8 @@ #region Imports using System; -using System.Collections; +using System.Collections; +using System.Collections.Generic; using Spring.Objects.Factory.Config; #endregion @@ -392,11 +393,11 @@ namespace Spring.Objects.Factory.Support objectDefinition.DependsOn = new string[] {objectName}; } else - { - ArrayList arrayList = new ArrayList(); + { + List arrayList = new List(); arrayList.AddRange(objectDefinition.DependsOn); arrayList.AddRange(new string[]{ objectName}); - objectDefinition.DependsOn = (string[])arrayList.ToArray(typeof(string)); + objectDefinition.DependsOn = arrayList; } return this; } diff --git a/src/Spring/Spring.Core/Objects/Factory/Support/ObjectDefinitionReaderUtils.cs b/src/Spring/Spring.Core/Objects/Factory/Support/ObjectDefinitionReaderUtils.cs index 878cb901..613e33b4 100644 --- a/src/Spring/Spring.Core/Objects/Factory/Support/ObjectDefinitionReaderUtils.cs +++ b/src/Spring/Spring.Core/Objects/Factory/Support/ObjectDefinitionReaderUtils.cs @@ -21,9 +21,9 @@ #region Imports using System; -using System.Text; +using System.Collections.Generic; using System.Text.RegularExpressions; -using Spring.Objects.Factory; + using Spring.Objects.Factory.Config; using Spring.Objects.Factory.Xml; using Spring.Objects.Support; @@ -96,8 +96,8 @@ namespace Spring.Objects.Factory.Support AssertUtils.ArgumentNotNull(registry, "registry"); registry.RegisterObjectDefinition(objectDefinition.ObjectName, objectDefinition.ObjectDefinition); - string[] aliases = objectDefinition.Aliases; - for (int i = 0; i < aliases.Length; ++i) + IList aliases = objectDefinition.Aliases; + for (int i = 0; i < aliases.Count; ++i) { string alias = aliases[i]; registry.RegisterAlias(objectDefinition.ObjectName, alias); diff --git a/src/Spring/Spring.Core/Objects/Factory/Support/ObjectDefinitionValueResolver.cs b/src/Spring/Spring.Core/Objects/Factory/Support/ObjectDefinitionValueResolver.cs index 3d2fbd48..114dc6d3 100644 --- a/src/Spring/Spring.Core/Objects/Factory/Support/ObjectDefinitionValueResolver.cs +++ b/src/Spring/Spring.Core/Objects/Factory/Support/ObjectDefinitionValueResolver.cs @@ -20,6 +20,7 @@ using System; using System.Collections; +using System.Collections.Generic; using System.Collections.Specialized; using System.Globalization; using System.Runtime.Remoting; @@ -166,7 +167,7 @@ namespace Spring.Objects.Factory.Support { ExpressionHolder expHolder = (ExpressionHolder)argumentValue; object context = null; - IDictionary variables = null; + IDictionary variables = null; if (expHolder.Properties != null) { @@ -180,9 +181,18 @@ namespace Spring.Objects.Factory.Support ? null : ResolveValueIfNecessary(name, definition, "Variables", variablesProperty.Value)); + if (vars is IDictionary) + { + variables = (IDictionary)vars; + } if (vars is IDictionary) { - variables = (IDictionary)vars; + IDictionary temp = (IDictionary) vars; + variables = new Dictionary(temp.Count); + foreach (DictionaryEntry entry in temp) + { + variables.Add((string) entry.Key, entry.Value); + } } else { @@ -190,7 +200,7 @@ namespace Spring.Objects.Factory.Support } } - if (variables == null) variables = CollectionsUtil.CreateCaseInsensitiveHashtable(); + if (variables == null) variables = new Dictionary(StringComparer.OrdinalIgnoreCase); // add 'this' objectfactory reference to variables variables.Add(Expression.ReservedVariableNames.CurrentObjectFactory, objectFactory); @@ -199,8 +209,7 @@ namespace Spring.Objects.Factory.Support else if (argumentValue is IManagedCollection) { resolvedValue = - ((IManagedCollection)argumentValue).Resolve(name, definition, argumentName, - new ManagedCollectionElementResolver(ResolveValueIfNecessary)); + ((IManagedCollection)argumentValue).Resolve(name, definition, argumentName, ResolveValueIfNecessary); } else if (argumentValue is TypedStringValue) { diff --git a/src/Spring/Spring.Core/Objects/Factory/Support/StaticListableObjectFactory.cs b/src/Spring/Spring.Core/Objects/Factory/Support/StaticListableObjectFactory.cs index 98ead8fd..445fbd52 100644 --- a/src/Spring/Spring.Core/Objects/Factory/Support/StaticListableObjectFactory.cs +++ b/src/Spring/Spring.Core/Objects/Factory/Support/StaticListableObjectFactory.cs @@ -20,7 +20,8 @@ using System; using System.Collections; -using Spring.Objects.Factory; +using System.Collections.Generic; + using Spring.Objects.Factory.Config; using Spring.Util; @@ -56,7 +57,7 @@ namespace Spring.Objects.Factory.Support /// /// Map from object name to object instance. /// - private Hashtable objects = new Hashtable(); + private Dictionary objects = new Dictionary(); /// /// Determine whether this object factory treats object names case-sensitive or not. @@ -497,7 +498,7 @@ namespace Spring.Objects.Factory.Support /// /// If there's no such object definition. /// - public string[] GetAliases(string name) + public IList GetAliases(string name) { return StringUtils.EmptyStrings; } @@ -550,10 +551,10 @@ namespace Spring.Objects.Factory.Support /// The names of all objects defined in this factory, or an empty array if none /// are defined. /// - public string[] GetObjectDefinitionNames() + public IList GetObjectDefinitionNames() { - ArrayList names = new ArrayList(objects.Keys); - return (string[])names.ToArray(typeof(string)); + List names = new List(objects.Keys); + return names; } /// @@ -574,9 +575,9 @@ namespace Spring.Objects.Factory.Support /// The names of all objects defined in this factory, or an empty array if none /// are defined. /// - public string[] GetObjectDefinitionNames(Type type) + public IList GetObjectDefinitionNames(Type type) { - ArrayList matches = new ArrayList(); + List matches = new List(); foreach (string name in objects.Keys) { Type t = objects[name].GetType(); @@ -585,7 +586,7 @@ namespace Spring.Objects.Factory.Support matches.Add(name); } } - return (string[])matches.ToArray(typeof(string)); + return matches; } /// @@ -611,7 +612,7 @@ namespace Spring.Objects.Factory.Support /// The names of all objects defined in this factory, or an empty array if none /// are defined. /// - public string[] GetObjectNamesForType(Type type) + public IList GetObjectNamesForType(Type type) { return GetObjectNamesForType(type, true, true); } @@ -639,7 +640,7 @@ namespace Spring.Objects.Factory.Support /// The names of all objects defined in this factory, or an empty array if none /// are defined. /// - public string[] GetObjectNamesForType() + public IList GetObjectNames() { return GetObjectNamesForType(typeof(T)); } @@ -673,11 +674,10 @@ namespace Spring.Objects.Factory.Support /// are defined. /// /// - public string[] GetObjectNamesForType( - Type type, bool includePrototypes, bool includeFactoryObjects) + public IList GetObjectNamesForType(Type type, bool includePrototypes, bool includeFactoryObjects) { bool isFactoryType = (type != null && typeof(IFactoryObject).IsAssignableFrom(type)); - IList matches = new ArrayList(); + List matches = new List(); foreach (string name in objects.Keys) { object instance = objects[name]; @@ -700,7 +700,7 @@ namespace Spring.Objects.Factory.Support } } } - return (string[])ArrayList.Adapter(matches).ToArray(typeof(string)); + return matches; } /// @@ -738,7 +738,7 @@ namespace Spring.Objects.Factory.Support /// The names of all objects defined in this factory, or an empty array if none /// are defined. /// - public string[] GetObjectNamesForType(bool includePrototypes, bool includeFactoryObjects) + public IList GetObjectNames(bool includePrototypes, bool includeFactoryObjects) { return GetObjectNamesForType(typeof(T), includePrototypes, includeFactoryObjects); } @@ -783,7 +783,7 @@ namespace Spring.Objects.Factory.Support /// /// If the objects could not be created. /// - public IDictionary GetObjectsOfType(Type type) + public IDictionary GetObjectsOfType(Type type) { return GetObjectsOfType(type, true, true); } @@ -815,9 +815,11 @@ namespace Spring.Objects.Factory.Support /// /// If the objects could not be created. /// - public IDictionary GetObjectsOfType() + public IDictionary GetObjects() { - return GetObjectsOfType(typeof(T)); + Dictionary collector = new Dictionary(); + DoGetObjectsOfType(typeof(T), true, true, collector); + return collector; } /// @@ -846,10 +848,16 @@ namespace Spring.Objects.Factory.Support /// /// If the objects could not be created. /// - public IDictionary GetObjectsOfType(Type type, bool includePrototypes, bool includeFactoryObjects) + public IDictionary GetObjectsOfType(Type type, bool includePrototypes, bool includeFactoryObjects) + { + Dictionary collector = new Dictionary(); + DoGetObjectsOfType(type, includeFactoryObjects, includePrototypes, collector); + return collector; + } + + private void DoGetObjectsOfType(Type type, bool includeFactoryObjects, bool includePrototypes, IDictionary collector) { bool isFactoryType = (type != null && typeof(IFactoryObject).IsAssignableFrom(type)); - IDictionary matches = new Hashtable(); foreach (string name in objects.Keys) { object instance = objects[name]; @@ -864,7 +872,7 @@ namespace Spring.Objects.Factory.Support object createdObject = GetObject(name); if (type.IsInstanceOfType(createdObject)) { - matches[name] = createdObject; + collector[name] = createdObject; } } } @@ -872,15 +880,14 @@ namespace Spring.Objects.Factory.Support { if (isFactoryType) { - matches[ObjectFactoryUtils.BuildFactoryObjectName(name)] = instance; + collector[ObjectFactoryUtils.BuildFactoryObjectName(name)] = instance; } else { - matches[name] = instance; + collector[name] = instance; } } } - return matches; } /// @@ -894,12 +901,12 @@ namespace Spring.Objects.Factory.Support /// The (class or interface) to match. /// /// - /// Whether to include prototype objects too or just singletons (also applies to - /// s). + /// Whether to include prototype objects too or just singletons (also applies to + /// s). /// /// - /// Whether to include s too - /// or just normal objects. + /// Whether to include s too + /// or just normal objects. /// /// /// A of the matching objects, @@ -909,9 +916,11 @@ namespace Spring.Objects.Factory.Support /// /// If the objects could not be created. /// - public IDictionary GetObjectsOfType(bool includePrototypes, bool includeFactoryObjects) + public IDictionary GetObjects(bool includePrototypes, bool includeFactoryObjects) { - return GetObjectsOfType(typeof(T), includePrototypes, includeFactoryObjects); + Dictionary collector = new Dictionary(); + DoGetObjectsOfType(typeof(T), includeFactoryObjects, includePrototypes, collector); + return collector; } /// @@ -945,13 +954,13 @@ namespace Spring.Objects.Factory.Support /// public T GetObject() { - string[] objectNamesForType = GetObjectNamesForType(typeof(T)); - if ((objectNamesForType == null) || (objectNamesForType.Length == 0)) + IList objectNamesForType = GetObjectNamesForType(typeof(T)); + if ((objectNamesForType == null) || (objectNamesForType.Count == 0)) { throw new NoSuchObjectDefinitionException(typeof(T).FullName, "Requested Type not Defined in the Context."); } - if (objectNamesForType.Length > 1) + if (objectNamesForType.Count > 1) { throw new ObjectDefinitionStoreException(string.Format("More than one definition for {0} found in the Context.", typeof(T).FullName)); } diff --git a/src/Spring/Spring.Core/Objects/Factory/Xml/NamespaceParserSupport.cs b/src/Spring/Spring.Core/Objects/Factory/Xml/NamespaceParserSupport.cs index 7278f2cf..86294bc3 100644 --- a/src/Spring/Spring.Core/Objects/Factory/Xml/NamespaceParserSupport.cs +++ b/src/Spring/Spring.Core/Objects/Factory/Xml/NamespaceParserSupport.cs @@ -18,7 +18,7 @@ #endregion -using System.Collections; +using System.Collections.Generic; using System.Xml; using Spring.Objects.Factory.Config; using Spring.Util; @@ -37,7 +37,7 @@ namespace Spring.Objects.Factory.Xml public abstract class NamespaceParserSupport : INamespaceParser { - private readonly IDictionary objectParsers = new Hashtable(); + private readonly IDictionary objectParsers = new Dictionary(); #region IXmlObjectDefinitionParser Members @@ -94,8 +94,8 @@ namespace Spring.Objects.Factory.Xml private IObjectDefinitionParser FindParserForElement(XmlElement element, ParserContext parserContext) { - IObjectDefinitionParser parser = objectParsers[element.LocalName] as IObjectDefinitionParser; - if (parser == null) + IObjectDefinitionParser parser; + if (!objectParsers.TryGetValue(element.LocalName, out parser)) { parserContext.ReaderContext.ReportException(element, "unknown object name", "Cannot locate IObjectDefinitionParser for element [" + element.LocalName + "]"); diff --git a/src/Spring/Spring.Core/Objects/Factory/Xml/ObjectDefinitionParserHelper.cs b/src/Spring/Spring.Core/Objects/Factory/Xml/ObjectDefinitionParserHelper.cs index 20b68990..d4a64c38 100644 --- a/src/Spring/Spring.Core/Objects/Factory/Xml/ObjectDefinitionParserHelper.cs +++ b/src/Spring/Spring.Core/Objects/Factory/Xml/ObjectDefinitionParserHelper.cs @@ -19,12 +19,12 @@ #endregion using System; -using System.Collections; +using System.Collections.Generic; using System.Globalization; -using System.Reflection; using System.Xml; + using Common.Logging; -using Spring.Collections; + using Spring.Objects.Factory.Config; using Spring.Objects.Factory.Support; using Spring.Util; @@ -55,7 +55,7 @@ namespace Spring.Objects.Factory.Xml private readonly ObjectsNamespaceParser objectsNamespaceParser; - private readonly ISet usedNames = new HashedSet(); + private readonly HashSet usedNames = new HashSet(); #endregion @@ -258,7 +258,7 @@ namespace Spring.Objects.Factory.Xml { string id = GetAttributeValue(element, ObjectDefinitionConstants.IdAttribute); string nameAttr = GetAttributeValue(element, ObjectDefinitionConstants.NameAttribute); - ArrayList aliases = new ArrayList(); + List aliases = new List(); if (StringUtils.HasText(nameAttr)) { aliases.AddRange(GetObjectNames(nameAttr)); @@ -274,7 +274,7 @@ namespace Spring.Objects.Factory.Xml aliases.RemoveAt(0); if (log.IsDebugEnabled) { - log.Debug(string.Format("No XML 'id' specified using '{0}' as object name and '{1}' as aliases", objectName, string.Join(",", (string[]) aliases.ToArray(typeof(string))))); + log.Debug(string.Format("No XML 'id' specified using '{0}' as object name and '{1}' as aliases", objectName, string.Join(",", aliases.ToArray()))); } } } @@ -322,8 +322,8 @@ namespace Spring.Objects.Factory.Xml #endregion } - string[] aliasesArray = (string[])aliases.ToArray(typeof(string)); - return CreateObjectDefinitionHolder(element, definition, objectName, aliasesArray); + + return CreateObjectDefinitionHolder(element, definition, objectName, aliases); } return null; } @@ -334,9 +334,9 @@ namespace Spring.Objects.Factory.Xml /// /// This method may be used as a last resort to post-process an object definition before it gets added to the registry. /// - protected virtual ObjectDefinitionHolder CreateObjectDefinitionHolder(XmlElement element, IConfigurableObjectDefinition definition, string objectName, string[] aliasesArray) + protected virtual ObjectDefinitionHolder CreateObjectDefinitionHolder(XmlElement element, IConfigurableObjectDefinition definition, string objectName, IList aliases) { - return new ObjectDefinitionHolder(definition, objectName, aliasesArray); + return new ObjectDefinitionHolder(definition, objectName, aliases); } /// @@ -351,7 +351,7 @@ namespace Spring.Objects.Factory.Xml /// the currently processed element. /// the containing object definition, may be null /// the new object name to be used. - protected virtual string PostProcessObjectNameAndAliases(string objectName, ArrayList aliases, XmlElement element, IObjectDefinition containingDefinition) + protected virtual string PostProcessObjectNameAndAliases(string objectName, List aliases, XmlElement element, IObjectDefinition containingDefinition) { if (!StringUtils.HasText(objectName) && aliases.Count == 0) { @@ -367,7 +367,7 @@ namespace Spring.Objects.Factory.Xml /// /// Validate that the specified object name and aliases have not been used already. /// - protected virtual void CheckNameUniqueness(string objectName, ArrayList aliases, XmlElement element) + protected virtual void CheckNameUniqueness(string objectName, List aliases, XmlElement element) { string foundName = null; @@ -385,7 +385,10 @@ namespace Spring.Objects.Factory.Xml } this.usedNames.Add(objectName); - this.usedNames.AddAll(aliases); + foreach (string alias in aliases) + { + this.usedNames.Add(alias); + } } /// diff --git a/src/Spring/Spring.Core/Objects/Factory/Xml/ObjectsNamespaceParser.cs b/src/Spring/Spring.Core/Objects/Factory/Xml/ObjectsNamespaceParser.cs index 49380724..4f2a34a8 100644 --- a/src/Spring/Spring.Core/Objects/Factory/Xml/ObjectsNamespaceParser.cs +++ b/src/Spring/Spring.Core/Objects/Factory/Xml/ObjectsNamespaceParser.cs @@ -22,16 +22,15 @@ using System; using System.Collections; +using System.Collections.Generic; using System.Collections.Specialized; using System.Globalization; using System.IO; -using System.Text; using System.Xml; -using System.Xml.Schema; + using Common.Logging; using Spring.Collections; -using Spring.Core; using Spring.Core.IO; using Spring.Core.TypeResolution; using Spring.Objects.Factory.Config; @@ -407,7 +406,7 @@ namespace Spring.Objects.Factory.Xml /// A calculated object definition id. /// [Obsolete("This method will be dropped, override ObjectDefinitionParserHelper.PostProcessObjectNameAndAliases instead", false)] - protected internal virtual string CalculateId(XmlElement element, ArrayList aliases) + protected internal virtual string CalculateId(XmlElement element, List aliases) { return null; } diff --git a/src/Spring/Spring.Core/Objects/IPropertyValues.cs b/src/Spring/Spring.Core/Objects/IPropertyValues.cs index 34416d06..f9876ac3 100644 --- a/src/Spring/Spring.Core/Objects/IPropertyValues.cs +++ b/src/Spring/Spring.Core/Objects/IPropertyValues.cs @@ -21,6 +21,7 @@ #region Imports using System.Collections; +using System.Collections.Generic; #endregion @@ -41,7 +42,7 @@ namespace Spring.Objects /// An array of the objects held /// in this object. /// - PropertyValue [] PropertyValues + IList PropertyValues { get; } diff --git a/src/Spring/Spring.Core/Objects/MutablePropertyValues.cs b/src/Spring/Spring.Core/Objects/MutablePropertyValues.cs index 5f7b989b..4583bd74 100644 --- a/src/Spring/Spring.Core/Objects/MutablePropertyValues.cs +++ b/src/Spring/Spring.Core/Objects/MutablePropertyValues.cs @@ -22,6 +22,7 @@ using System; using System.Collections; +using System.Collections.Generic; using System.Globalization; using System.Text; using Spring.Util; @@ -53,7 +54,7 @@ namespace Spring.Objects /// /// The list of objects. /// - private IList propertyValuesList = new ArrayList(); + private List propertyValuesList = new List(); #endregion @@ -69,8 +70,8 @@ namespace Spring.Objects /// s can be added with the various /// overloaded , /// , - /// , - /// and + /// , + /// and /// methods. ///

/// @@ -95,7 +96,7 @@ namespace Spring.Objects { if (other != null) { - AddAll (other.PropertyValues); + AddAll(other.PropertyValues); } } @@ -107,7 +108,7 @@ namespace Spring.Objects /// The with property values /// keyed by property name, which must be a . /// - public MutablePropertyValues (IDictionary map) + public MutablePropertyValues (IDictionary map) { AddAll (map); } @@ -119,9 +120,9 @@ namespace Spring.Objects /// /// Property to retrieve the array of property values. /// - public PropertyValue[] PropertyValues + public IList PropertyValues { - get { return (PropertyValue[]) ArrayList.Adapter (propertyValuesList).ToArray (typeof (PropertyValue)); } + get { return propertyValuesList; } } #endregion @@ -153,7 +154,7 @@ namespace Spring.Objects { for (int i = 0; i < propertyValuesList.Count; ++i) { - PropertyValue currentPv = (PropertyValue) propertyValuesList [i]; + PropertyValue currentPv = propertyValuesList [i]; if (currentPv.Name.Equals (pv.Name)) { pv = MergeIfRequired(pv, currentPv); @@ -195,13 +196,13 @@ namespace Spring.Objects /// The map of property values, the keys of which must be /// s. /// - public void AddAll (IDictionary map) + public void AddAll (IDictionary map) { if (map != null) { - foreach (string key in map.Keys) + foreach (KeyValuePair pair in map) { - Add (new PropertyValue (key, map [key])); + Add (new PropertyValue (pair.Key, pair.Value)); } } } @@ -213,7 +214,7 @@ namespace Spring.Objects /// /// The list of s to be added. /// - public void AddAll (IList values) + public void AddAll(IList values) { if (values != null) { @@ -356,10 +357,10 @@ namespace Spring.Objects /// public override string ToString () { - PropertyValue[] pvs = PropertyValues; + IList pvs = PropertyValues; StringBuilder sb = new StringBuilder ( - "MutablePropertyValues: length=").Append (pvs.Length).Append ("; "); + "MutablePropertyValues: length=").Append (pvs.Count).Append ("; "); sb.Append (StringUtils.ArrayToDelimitedString (pvs, ",")); return sb.ToString (); } diff --git a/src/Spring/Spring.Core/Objects/ObjectWrapper.cs b/src/Spring/Spring.Core/Objects/ObjectWrapper.cs index 56a5ce3b..21548822 100644 --- a/src/Spring/Spring.Core/Objects/ObjectWrapper.cs +++ b/src/Spring/Spring.Core/Objects/ObjectWrapper.cs @@ -20,6 +20,7 @@ using System; using System.Collections; +using System.Collections.Generic; using System.ComponentModel; using System.Reflection; using System.Text; @@ -331,7 +332,7 @@ namespace Spring.Objects /// public virtual void SetPropertyValues(IPropertyValues propertyValues, bool ignoreUnknown) { - ArrayList propertyAccessExceptions = new ArrayList(); + List propertyAccessExceptions = new List(); foreach (PropertyValue pv in propertyValues) { try @@ -374,8 +375,7 @@ namespace Spring.Objects // if we encountered individual exceptions, throw the composite exception... if (propertyAccessExceptions.Count > 0) { - throw new PropertyAccessExceptionsException(this, - (PropertyAccessException[]) propertyAccessExceptions.ToArray(typeof(PropertyAccessException))); + throw new PropertyAccessExceptionsException(this, propertyAccessExceptions.ToArray()); } } diff --git a/src/Spring/Spring.Core/Objects/PropertyAccessExceptionsException.cs b/src/Spring/Spring.Core/Objects/PropertyAccessExceptionsException.cs index 817e6d28..3a167f59 100644 --- a/src/Spring/Spring.Core/Objects/PropertyAccessExceptionsException.cs +++ b/src/Spring/Spring.Core/Objects/PropertyAccessExceptionsException.cs @@ -102,10 +102,7 @@ namespace Spring.Objects : base(string.Empty) { _objectWrapper = objectWrapper; - _propertyAccessExceptions - = propertyAccessExceptions == null ? - EmptyPropertyAccessExceptions : - propertyAccessExceptions; + _propertyAccessExceptions = propertyAccessExceptions ?? EmptyPropertyAccessExceptions; } /// diff --git a/src/Spring/Spring.Core/Objects/Support/MethodInvoker.cs b/src/Spring/Spring.Core/Objects/Support/MethodInvoker.cs index b257cd45..3d935005 100644 --- a/src/Spring/Spring.Core/Objects/Support/MethodInvoker.cs +++ b/src/Spring/Spring.Core/Objects/Support/MethodInvoker.cs @@ -22,6 +22,7 @@ using System; using System.Collections; +using System.Collections.Generic; using System.Globalization; using System.Reflection; @@ -330,7 +331,7 @@ namespace Spring.Objects.Support // lets slot in all of the named arguments first... ParameterInfo[] parameters = _methodObject.GetParameters(); // lets figure out the index og each of the method parameters... - IDictionary argumentNamesToIndexes = new Hashtable(); + IDictionary argumentNamesToIndexes = new Dictionary(); for (int i = 0; i < parameters.Length; ++i) { ParameterInfo parameter = parameters[i]; @@ -341,7 +342,7 @@ namespace Spring.Objects.Support { string argumentName = ((string) namedArgument.Key).ToLower(CultureInfo.InvariantCulture); object argumentValue = namedArgument.Value; - if (!argumentNamesToIndexes.Contains(argumentName)) + if (!argumentNamesToIndexes.ContainsKey(argumentName)) { // whoa (Nelly); the named argument does not exist on the method... throw new ArgumentException(string.Format( @@ -358,7 +359,7 @@ namespace Spring.Objects.Support } // and then fill in any remaining blanks with the plain vanilla arguments... int plainVanillaIndex = 0; - int[] sortedIndexes = (int[]) new ArrayList(argumentNamesToIndexes.Values).ToArray(typeof (int)); + int[] sortedIndexes = new List(argumentNamesToIndexes.Values).ToArray(); Array.Sort(sortedIndexes); foreach (int argumentIndex in sortedIndexes) { @@ -431,8 +432,7 @@ namespace Spring.Objects.Support new MemberFilter(new CriteriaMemberFilter().FilterMemberByCriteria), searchCriteria); - if (matchingMethods == null - || matchingMethods.Length == 0) + if (matchingMethods.Length == 0) { throw new MissingMethodException(targetType.Name, TargetMethod); } diff --git a/src/Spring/Spring.Core/Proxy/AbstractProxyTypeBuilder.cs b/src/Spring/Spring.Core/Proxy/AbstractProxyTypeBuilder.cs index 3fac325c..ea861e29 100644 --- a/src/Spring/Spring.Core/Proxy/AbstractProxyTypeBuilder.cs +++ b/src/Spring/Spring.Core/Proxy/AbstractProxyTypeBuilder.cs @@ -22,6 +22,7 @@ using System; using System.Collections; +using System.Collections.Generic; using System.Reflection; using System.Reflection.Emit; using System.Runtime.Serialization; @@ -61,7 +62,7 @@ namespace Spring.Proxy private string _name; private Type _targetType; private Type _baseType = typeof (object); - private Type[] _interfaces; + private IList _interfaces; private bool _proxyTargetAttributes = true; private IList _typeAttributes = new ArrayList(); private IDictionary _memberAttributes = new Hashtable(); @@ -125,7 +126,7 @@ namespace Spring.Proxy /// The default value of this property is all the interfaces /// implemented or inherited by the target type. /// - public Type[] Interfaces + public IList Interfaces { get { @@ -348,8 +349,7 @@ namespace Spring.Proxy { ArrayList attributes = new ArrayList(); - if (this.ProxyTargetAttributes && - !type.Equals(typeof(object))) + if (this.ProxyTargetAttributes && !type.Equals(typeof(object))) { // add attributes that apply to the target type attributes.AddRange(ReflectionUtils.GetCustomAttributes(type)); @@ -470,8 +470,7 @@ namespace Spring.Proxy object[] attrs = paramInfo.GetCustomAttributes(false); try { - System.Collections.Generic.IList attrsData = - CustomAttributeData.GetCustomAttributes(paramInfo); + IList attrsData = CustomAttributeData.GetCustomAttributes(paramInfo); if (attrs.Length != attrsData.Count) { @@ -643,7 +642,7 @@ namespace Spring.Proxy IProxyMethodBuilder proxyMethodBuilder, Type intf, Type targetType, bool proxyVirtualMethods) { - IDictionary methodMap = new Hashtable(); + Dictionary methodMap = new Dictionary(); InterfaceMapping mapping = GetInterfaceMapping(targetType, intf); @@ -773,8 +772,7 @@ namespace Spring.Proxy protected virtual void InheritType(TypeBuilder typeBuilder, IProxyMethodBuilder proxyMethodBuilder, Type type, bool declaredMembersOnly) { - IDictionary methodMap = new Hashtable(); - IList finalMethods = new ArrayList(); + IDictionary methodMap = new Dictionary(); BindingFlags bindingFlags = BindingFlags.Public | BindingFlags.Instance | BindingFlags.NonPublic; if (declaredMembersOnly) @@ -816,10 +814,12 @@ namespace Spring.Proxy /// The property to proxy. /// The implemented methods map. protected virtual void ImplementProperty( - TypeBuilder typeBuilder, Type type, PropertyInfo property, IDictionary methodMap) + TypeBuilder typeBuilder, Type type, PropertyInfo property, IDictionary methodMap) { - MethodBuilder getMethod = methodMap["get_" + property.Name] as MethodBuilder; - MethodBuilder setMethod = methodMap["set_" + property.Name] as MethodBuilder; + MethodBuilder getMethod; + methodMap.TryGetValue("get_" + property.Name, out getMethod); + MethodBuilder setMethod; + methodMap.TryGetValue("set_" + property.Name, out setMethod); if (getMethod != null || setMethod != null) { @@ -842,18 +842,19 @@ namespace Spring.Proxy } } - /// - /// Implements the specified event. - /// - /// The type builder to use. - /// The type the event is defined on. - /// The event to proxy. - /// The implemented methods map. - protected virtual void ImplementEvent( - TypeBuilder typeBuilder, Type type, EventInfo evt, IDictionary methodMap) + /// + /// Implements the specified event. + /// + /// The type builder to use. + /// The type the event is defined on. + /// The event to proxy. + /// The implemented methods map. + protected virtual void ImplementEvent(TypeBuilder typeBuilder, Type type, EventInfo evt, IDictionary methodMap) { - MethodBuilder addOnMethod = methodMap["add_" + evt.Name] as MethodBuilder; - MethodBuilder removeOnMethod = methodMap["remove_" + evt.Name] as MethodBuilder; + MethodBuilder addOnMethod; + methodMap.TryGetValue("add_" + evt.Name, out addOnMethod); + MethodBuilder removeOnMethod; + methodMap.TryGetValue("remove_" + evt.Name, out removeOnMethod); if (addOnMethod != null && removeOnMethod != null) { @@ -872,24 +873,24 @@ namespace Spring.Proxy #endregion - /// - /// Returns an array of s that represent - /// the proxiable interfaces. - /// - /// - /// An interface is proxiable if it's not marked with the - /// . - /// - /// - /// The array of interfaces from which - /// we want to get the proxiable interfaces. - /// - /// - /// An array containing the interface s. - /// - protected virtual Type[] GetProxiableInterfaces(Type[] interfaces) + /// + /// Returns an array of s that represent + /// the proxiable interfaces. + /// + /// + /// An interface is proxiable if it's not marked with the + /// . + /// + /// + /// The array of interfaces from which + /// we want to get the proxiable interfaces. + /// + /// + /// An array containing the interface s. + /// + protected virtual IList GetProxiableInterfaces(IList interfaces) { - ArrayList proxiableInterfaces = new ArrayList(); + List proxiableInterfaces = new List(); foreach(Type intf in interfaces) { @@ -913,7 +914,7 @@ namespace Spring.Proxy } } - return (Type[]) proxiableInterfaces.ToArray(typeof(Type)); + return proxiableInterfaces; } /// diff --git a/src/Spring/Spring.Core/Proxy/CompositionProxyTypeBuilder.cs b/src/Spring/Spring.Core/Proxy/CompositionProxyTypeBuilder.cs index 9a0059ff..8e9ad773 100644 --- a/src/Spring/Spring.Core/Proxy/CompositionProxyTypeBuilder.cs +++ b/src/Spring/Spring.Core/Proxy/CompositionProxyTypeBuilder.cs @@ -102,7 +102,7 @@ namespace Spring.Proxy /// public override Type BuildProxyType() { - if (Interfaces == null || Interfaces.Length == 0) + if (Interfaces == null || Interfaces.Count == 0) { throw new ArgumentException( "Composition proxy target must implement at least one interface."); diff --git a/src/Spring/Spring.Core/Proxy/IProxyTypeBuilder.cs b/src/Spring/Spring.Core/Proxy/IProxyTypeBuilder.cs index f2cf8e2b..a88e8e6e 100644 --- a/src/Spring/Spring.Core/Proxy/IProxyTypeBuilder.cs +++ b/src/Spring/Spring.Core/Proxy/IProxyTypeBuilder.cs @@ -22,6 +22,7 @@ using System; using System.Collections; +using System.Collections.Generic; #endregion @@ -60,7 +61,7 @@ namespace Spring.Proxy /// /// Gets or sets the list of interfaces proxy should implement. /// - Type[] Interfaces { get; set; } + IList Interfaces { get; set; } /// /// Should we proxy target attributes? diff --git a/src/Spring/Spring.Core/Reflection/Dynamic/DynamicConstructor.cs b/src/Spring/Spring.Core/Reflection/Dynamic/DynamicConstructor.cs index 14bf3ab9..53f2702c 100644 --- a/src/Spring/Spring.Core/Reflection/Dynamic/DynamicConstructor.cs +++ b/src/Spring/Spring.Core/Reflection/Dynamic/DynamicConstructor.cs @@ -20,7 +20,7 @@ #region Imports -using System.Collections; +using System.Collections.Generic; using System.Reflection; using Spring.Util; @@ -65,15 +65,15 @@ namespace Spring.Reflection.Dynamic #region Generated Function Cache - private static readonly IDictionary constructorCache = new Hashtable(); + private static readonly IDictionary constructorCache = new Dictionary(); /// /// Obtains cached constructor info or creates a new entry, if none is found. /// private static ConstructorDelegate GetOrCreateDynamicConstructor(ConstructorInfo constructorInfo) { - ConstructorDelegate method = (ConstructorDelegate)constructorCache[constructorInfo]; - if (method == null) + ConstructorDelegate method; + if (!constructorCache.TryGetValue(constructorInfo, out method)) { method = DynamicReflectionManager.CreateConstructor(constructorInfo); lock (constructorCache) diff --git a/src/Spring/Spring.Core/Reflection/Dynamic/DynamicField.cs b/src/Spring/Spring.Core/Reflection/Dynamic/DynamicField.cs index 2ad5de97..c362d373 100644 --- a/src/Spring/Spring.Core/Reflection/Dynamic/DynamicField.cs +++ b/src/Spring/Spring.Core/Reflection/Dynamic/DynamicField.cs @@ -20,7 +20,7 @@ #region Imports -using System.Collections; +using System.Collections.Generic; using System.Reflection; using Spring.Util; @@ -76,7 +76,7 @@ namespace Spring.Reflection.Dynamic #region Cache - private static readonly IDictionary fieldCache = new Hashtable(); + private static readonly IDictionary fieldCache = new Dictionary(); /// /// Holds cached Getter/Setter delegates for a Field @@ -98,8 +98,8 @@ namespace Spring.Reflection.Dynamic /// private static DynamicFieldCacheEntry GetOrCreateDynamicField(FieldInfo field) { - DynamicFieldCacheEntry fieldInfo = (DynamicFieldCacheEntry)fieldCache[field]; - if (fieldInfo == null) + DynamicFieldCacheEntry fieldInfo; + if (!fieldCache.TryGetValue(field, out fieldInfo)) { fieldInfo = new DynamicFieldCacheEntry(DynamicReflectionManager.CreateFieldGetter(field), DynamicReflectionManager.CreateFieldSetter(field)); lock (fieldCache) diff --git a/src/Spring/Spring.Core/Reflection/Dynamic/DynamicProperty.cs b/src/Spring/Spring.Core/Reflection/Dynamic/DynamicProperty.cs index 563f686f..d4198631 100644 --- a/src/Spring/Spring.Core/Reflection/Dynamic/DynamicProperty.cs +++ b/src/Spring/Spring.Core/Reflection/Dynamic/DynamicProperty.cs @@ -20,9 +20,11 @@ #region Imports -using System.Collections; +using System.Collections.Generic; using System.Reflection; + using Common.Logging; + using Spring.Util; #endregion @@ -103,7 +105,7 @@ namespace Spring.Reflection.Dynamic #region Cache - private static readonly IDictionary propertyCache = new Hashtable(); + private static readonly IDictionary propertyCache = new Dictionary(); /// /// Holds cached Getter/Setter delegates for a Property @@ -125,8 +127,8 @@ namespace Spring.Reflection.Dynamic /// private static DynamicPropertyCacheEntry GetOrCreateDynamicProperty(PropertyInfo property) { - DynamicPropertyCacheEntry propertyInfo = (DynamicPropertyCacheEntry)propertyCache[property]; - if (propertyInfo == null) + DynamicPropertyCacheEntry propertyInfo; + if (!propertyCache.TryGetValue(property, out propertyInfo)) { propertyInfo = new DynamicPropertyCacheEntry(DynamicReflectionManager.CreatePropertyGetter(property), DynamicReflectionManager.CreatePropertySetter(property)); lock (propertyCache) diff --git a/src/Spring/Spring.Core/Reflection/Dynamic/DynamicReflectionManager.cs b/src/Spring/Spring.Core/Reflection/Dynamic/DynamicReflectionManager.cs index 19300dce..5a8fc56a 100644 --- a/src/Spring/Spring.Core/Reflection/Dynamic/DynamicReflectionManager.cs +++ b/src/Spring/Spring.Core/Reflection/Dynamic/DynamicReflectionManager.cs @@ -22,6 +22,7 @@ using System; using System.Collections; +using System.Collections.Generic; using System.Diagnostics; using System.Reflection; using System.Reflection.Emit; @@ -126,27 +127,32 @@ namespace Spring.Reflection.Dynamic /// /// Cache for dynamic property types. /// - private readonly static IDictionary propertyCache = new Hashtable(); + private readonly static IDictionary propertyCache = new Dictionary(); + private readonly static object propertyCacheLock = new object(); /// /// Cache for dynamic field types. /// - private readonly static IDictionary fieldCache = new Hashtable(); + private readonly static IDictionary fieldCache = new Dictionary(); + private readonly static object fieldCacheLock = new object(); /// /// Cache for dynamic indexer types. /// - private readonly static IDictionary indexerCache = new Hashtable(); + private readonly static IDictionary indexerCache = new Dictionary(); + private readonly static object indexerCacheLock = new object(); /// /// Cache for dynamic method types. /// - private readonly static IDictionary methodCache = new Hashtable(); + private readonly static IDictionary methodCache = new Dictionary(); + private readonly static object methodCacheLock = new object(); /// /// Cache for dynamic constructor types. /// - private readonly static IDictionary constructorCache = new Hashtable(); + private readonly static IDictionary constructorCache = new Dictionary(); + private readonly static object constructorCacheLock = new object(); #endregion @@ -175,10 +181,10 @@ namespace Spring.Reflection.Dynamic /// An for the given property info. internal static IDynamicProperty GetDynamicProperty(PropertyInfo property, CreatePropertyCallback createCallback) { - lock (propertyCache.SyncRoot) + lock (propertyCacheLock) { - IDynamicProperty dynamicProperty = (IDynamicProperty)propertyCache[property]; - if (dynamicProperty == null) + IDynamicProperty dynamicProperty; + if (!propertyCache.TryGetValue(property, out dynamicProperty)) { dynamicProperty = createCallback(property); propertyCache[property] = dynamicProperty; @@ -195,10 +201,10 @@ namespace Spring.Reflection.Dynamic /// An for the given field info. internal static IDynamicField GetDynamicField(FieldInfo field, CreateFieldCallback createCallback) { - lock (fieldCache.SyncRoot) + lock (fieldCacheLock) { - IDynamicField dynamicField = (IDynamicField)fieldCache[field]; - if (dynamicField == null) + IDynamicField dynamicField; + if (!fieldCache.TryGetValue(field, out dynamicField)) { dynamicField = createCallback(field); fieldCache[field] = dynamicField; @@ -215,10 +221,10 @@ namespace Spring.Reflection.Dynamic /// An for the given indexer. internal static IDynamicIndexer GetDynamicIndexer(PropertyInfo indexer, CreateIndexerCallback createCallback) { - lock (indexerCache.SyncRoot) + lock (indexerCacheLock) { - IDynamicIndexer dynamicIndexer = (IDynamicIndexer)indexerCache[indexer]; - if (dynamicIndexer == null) + IDynamicIndexer dynamicIndexer; + if (!indexerCache.TryGetValue(indexer, out dynamicIndexer)) { dynamicIndexer = createCallback(indexer); indexerCache[indexer] = dynamicIndexer; @@ -235,10 +241,10 @@ namespace Spring.Reflection.Dynamic /// An for the given method. internal static IDynamicMethod GetDynamicMethod(MethodInfo method, CreateMethodCallback createCallback) { - lock (methodCache.SyncRoot) + lock (methodCacheLock) { - IDynamicMethod dynamicMethod = (IDynamicMethod)methodCache[method]; - if (dynamicMethod == null) + IDynamicMethod dynamicMethod; + if (!methodCache.TryGetValue(method, out dynamicMethod)) { dynamicMethod = createCallback(method); methodCache[method] = dynamicMethod; @@ -255,10 +261,10 @@ namespace Spring.Reflection.Dynamic /// An for the given constructor. internal static IDynamicConstructor GetDynamicConstructor(ConstructorInfo constructor, CreateConstructorCallback createCallback) { - lock (constructorCache.SyncRoot) + lock (constructorCacheLock) { - IDynamicConstructor dynamicConstructor = (IDynamicConstructor)constructorCache[constructor]; - if (dynamicConstructor == null) + IDynamicConstructor dynamicConstructor; + if (!constructorCache.TryGetValue(constructor, out dynamicConstructor)) { dynamicConstructor = createCallback(constructor); constructorCache[constructor] = dynamicConstructor; diff --git a/src/Spring/Spring.Core/Spring.Core.2008.csproj b/src/Spring/Spring.Core/Spring.Core.2008.csproj index dae1a802..41e0f086 100644 --- a/src/Spring/Spring.Core/Spring.Core.2008.csproj +++ b/src/Spring/Spring.Core/Spring.Core.2008.csproj @@ -93,6 +93,9 @@ + + 3.5 + diff --git a/src/Spring/Spring.Core/Util/EventUtils.cs b/src/Spring/Spring.Core/Util/EventUtils.cs index 5b2e822e..6d897724 100644 --- a/src/Spring/Spring.Core/Util/EventUtils.cs +++ b/src/Spring/Spring.Core/Util/EventUtils.cs @@ -19,9 +19,10 @@ #endregion using System; -using System.Collections; +using System.Collections.Generic; using System.Diagnostics; using System.Reflection; + using Common.Logging; namespace Spring.Util @@ -34,11 +35,11 @@ namespace Spring.Util { protected class EventExceptionsCollector : IEventExceptionsCollector { - private readonly Hashtable _eventExceptions; + private readonly Dictionary _eventExceptions; public EventExceptionsCollector() { - _eventExceptions = new Hashtable(); + _eventExceptions = new Dictionary(); } public bool HasExceptions @@ -46,19 +47,24 @@ namespace Spring.Util get { return _eventExceptions.Count > 0; } } - public Delegate[] Sources + public IList Sources { - get { return (Delegate[]) CollectionUtils.ToArray(_eventExceptions.Keys, typeof(Delegate)); } + get { return new List(_eventExceptions.Keys); } } - public Exception[] Exceptions + public IList Exceptions { - get { return (Exception[]) CollectionUtils.ToArray(_eventExceptions.Values, typeof (Exception)); } + get { return new List(_eventExceptions.Values); } } public Exception this[Delegate source] { - get { return (Exception) _eventExceptions[source]; } + get + { + Exception exception; + _eventExceptions.TryGetValue(source, out exception); + return exception; + } } public void Add(Delegate source, Exception exception) diff --git a/src/Spring/Spring.Core/Util/IEventExceptionsCollector.cs b/src/Spring/Spring.Core/Util/IEventExceptionsCollector.cs index bf6cc365..710f1cf6 100644 --- a/src/Spring/Spring.Core/Util/IEventExceptionsCollector.cs +++ b/src/Spring/Spring.Core/Util/IEventExceptionsCollector.cs @@ -1,12 +1,13 @@ using System; +using System.Collections.Generic; namespace Spring.Util { public interface IEventExceptionsCollector { bool HasExceptions { get; } - Delegate[] Sources { get;} - Exception[] Exceptions { get; } + IList Sources { get;} + IList Exceptions { get; } Exception this[Delegate source] { get; } } } \ No newline at end of file diff --git a/src/Spring/Spring.Core/Util/ReflectionUtils.cs b/src/Spring/Spring.Core/Util/ReflectionUtils.cs index 604dc8f1..a10f64bd 100644 --- a/src/Spring/Spring.Core/Util/ReflectionUtils.cs +++ b/src/Spring/Spring.Core/Util/ReflectionUtils.cs @@ -386,7 +386,7 @@ namespace Spring.Util /// /// If more than 1 matching methods are found in the list. /// - public static MethodInfo GetMethodByArgumentValues(MethodInfo[] methods, object[] argValues) + public static MethodInfo GetMethodByArgumentValues(IEnumerable methods, object[] argValues) where T : MethodBase { return (MethodInfo)GetMethodBaseByArgumentValues("method", methods, argValues); } @@ -401,8 +401,7 @@ namespace Spring.Util /// /// If more than 1 matching methods are found in the list. /// - private static MethodBase GetMethodBaseByArgumentValues(string methodTypeName, MethodBase[] methods, - object[] argValues) + private static MethodBase GetMethodBaseByArgumentValues(string methodTypeName, IEnumerable methods, object[] argValues) where T : MethodBase { MethodBase match = null; int matchCount = 0; @@ -490,7 +489,7 @@ namespace Spring.Util /// /// If more than 1 matching methods are found in the list. /// - public static ConstructorInfo GetConstructorByArgumentValues(ConstructorInfo[] methods, object[] argValues) + public static ConstructorInfo GetConstructorByArgumentValues(IList methods, object[] argValues) where T : MethodBase { return (ConstructorInfo)GetMethodBaseByArgumentValues("constructor", methods, argValues); } @@ -540,7 +539,7 @@ namespace Spring.Util /// /// If is . /// - public static Type[] ToInterfaceArray(Type intf) + public static IList ToInterfaceArray(Type intf) { AssertUtils.ArgumentNotNull(intf, "intf"); @@ -552,10 +551,10 @@ namespace Spring.Util intf.FullName)); } - ArrayList interfaces = new ArrayList(intf.GetInterfaces()); + List interfaces = new List(intf.GetInterfaces()); interfaces.Add(intf); - return (Type[])interfaces.ToArray(typeof(Type)); + return interfaces; } /// @@ -942,9 +941,9 @@ namespace Spring.Util { } - IList getSetProps = new ArrayList(); + IList getSetProps = new List(); IList getSetValues = new ArrayList(); - IList readOnlyProps = new ArrayList(); + IList readOnlyProps = new List(); IList readOnlyValues = new ArrayList(); foreach (PropertyInfo pi in type.GetProperties(BindingFlags.Instance | BindingFlags.Public)) { @@ -976,7 +975,7 @@ namespace Spring.Util if (readOnlyProps.Count == 1) { - PropertyInfo pi = readOnlyProps[0] as PropertyInfo; + PropertyInfo pi = readOnlyProps[0]; ConstructorInfo ciTemp = type.GetConstructor(new Type[1] { pi.PropertyType }); if (ciTemp != null) { @@ -1234,8 +1233,7 @@ namespace Spring.Util object[] attrs = member.GetCustomAttributes(false); try { - System.Collections.Generic.IList attrsData = - CustomAttributeData.GetCustomAttributes(member); + IList attrsData = CustomAttributeData.GetCustomAttributes(member); if (attrs.Length != attrsData.Count) { @@ -1461,10 +1459,10 @@ namespace Spring.Util if (type.IsInterface) { - ArrayList interfaces = new ArrayList(); + List interfaces = new List(); interfaces.Add(type); interfaces.AddRange(type.GetInterfaces()); - return (Type[])interfaces.ToArray(typeof(Type)); + return interfaces.ToArray(); } else { @@ -1596,19 +1594,22 @@ namespace Spring.Util private delegate void MemberwiseCopyHandler(object a, object b); - private static readonly Hashtable s_handlerCache = new Hashtable(); + private static readonly Dictionary s_handlerCache = new Dictionary(); private static MemberwiseCopyHandler GetImpl(Type type) { - MemberwiseCopyHandler handler = s_handlerCache[type] as MemberwiseCopyHandler; - if (handler != null) + MemberwiseCopyHandler handler; + if (s_handlerCache.TryGetValue(type, out handler)) + { return handler; + } lock (s_handlerCache) { - handler = s_handlerCache[type] as MemberwiseCopyHandler; - if (handler != null) + if (s_handlerCache.TryGetValue(type, out handler)) + { return handler; + } FieldInfo[] fields = GetFields(type); SecurityCritical.ExecutePrivileged(new PermissionSet(PermissionState.Unrestricted), delegate @@ -1646,25 +1647,25 @@ namespace Spring.Util private const BindingFlags FIELDBINDINGS = BindingFlags.Instance | BindingFlags.DeclaredOnly | BindingFlags.Public | BindingFlags.NonPublic; - private static readonly Hashtable s_fieldCache = new Hashtable(); + private static readonly Dictionary s_fieldCache = new Dictionary(); private static FieldInfo[] GetFields(Type type) { lock (s_fieldCache) { - FieldInfo[] fields = (FieldInfo[])s_fieldCache[type]; - if (fields == null) + FieldInfo[] fields; + if (!s_fieldCache.TryGetValue(type, out fields)) { - ArrayList fieldList = new ArrayList(); + List fieldList = new List(); CollectFieldsRecursive(type, fieldList); - fields = (FieldInfo[])fieldList.ToArray(typeof(FieldInfo)); + fields = fieldList.ToArray(); s_fieldCache[type] = fields; } return fields; } } - private static void CollectFieldsRecursive(Type type, ArrayList fieldList) + private static void CollectFieldsRecursive(Type type, List fieldList) { if (type == typeof(object)) return; @@ -1689,8 +1690,8 @@ namespace Spring.Util private Type type; private ArrayList constructorArgs; - private ArrayList namedProperties; - private ArrayList propertyValues; + private List namedProperties; + private List propertyValues; #endregion @@ -1724,8 +1725,8 @@ namespace Spring.Util } this.type = attributeType; this.constructorArgs = new ArrayList(constructorArgs); - this.namedProperties = new ArrayList(); - this.propertyValues = new ArrayList(); + this.namedProperties = new List(); + this.propertyValues = new List(); } #endregion @@ -1776,8 +1777,8 @@ namespace Spring.Util if (namedProperties.Count > 0) { - PropertyInfo[] npArray = (PropertyInfo[])this.namedProperties.ToArray(typeof(PropertyInfo)); - object[] pvArray = (object[])this.propertyValues.ToArray(typeof(object)); + PropertyInfo[] npArray = this.namedProperties.ToArray(); + object[] pvArray = this.propertyValues.ToArray(); return new CustomAttributeBuilder(ci, caArray, npArray, pvArray); } else diff --git a/src/Spring/Spring.Core/Util/StringUtils.cs b/src/Spring/Spring.Core/Util/StringUtils.cs index bc0a85e7..a37c72a9 100644 --- a/src/Spring/Spring.Core/Util/StringUtils.cs +++ b/src/Spring/Spring.Core/Util/StringUtils.cs @@ -22,6 +22,7 @@ using System; using System.Collections; +using System.Collections.Generic; using System.Globalization; using System.Text; @@ -148,7 +149,7 @@ namespace Spring.Util { return new string[0]; } - if (delimiters==null || delimiters.Length==0) + if (string.IsNullOrEmpty(delimiters)) { return new string[] { s }; } @@ -164,7 +165,7 @@ namespace Spring.Util int[] delimiterPositions = new int[s.Length]; int count = MakeDelimiterPositionList(s, delimiterChars, quoteChars, delimiterPositions); - ArrayList tokens = new ArrayList(count+1); + List tokens = new List(count+1); int startIndex = 0; for (int ixSep = 0; ixSep < count; ixSep++) { @@ -200,7 +201,7 @@ namespace Spring.Util } } - return (string[])tokens.ToArray(typeof(string)); + return tokens.ToArray(); } private static int MakeDelimiterPositionList(string s, char[] delimiters, string quoteChars, int[] delimiterPositions) @@ -324,8 +325,8 @@ namespace Spring.Util /// The delimiter to use (probably a ','). /// /// The delimited string representation. - public static string CollectionToDelimitedString( - ICollection c, string delimiter) + public static string CollectionToDelimitedString( + IEnumerable c, string delimiter) { if (c == null) { @@ -353,8 +354,7 @@ namespace Spring.Util /// The to display. /// /// The delimited string representation. - public static string CollectionToCommaDelimitedString( - ICollection collection) + public static string CollectionToCommaDelimitedString(IEnumerable collection) { return CollectionToDelimitedString(collection, ","); } @@ -368,7 +368,7 @@ namespace Spring.Util /// will be called on each /// element). /// - public static string ArrayToCommaDelimitedString(object[] source) + public static string ArrayToCommaDelimitedString(IEnumerable source) { return ArrayToDelimitedString(source, ","); } @@ -385,8 +385,7 @@ namespace Spring.Util /// /// The delimiter to use (probably a ','). /// - public static string ArrayToDelimitedString( - object[] source, string delimiter) + public static string ArrayToDelimitedString(IEnumerable source, string delimiter) { if (source == null) { @@ -534,9 +533,9 @@ namespace Spring.Util /// If any of the expressions in the supplied /// is empty (${}). /// - public static IList GetAntExpressions(string text) + public static IList GetAntExpressions(string text) { - IList expressions = new ArrayList(); + List expressions = new List(); if (StringUtils.HasText(text)) { int start = text.IndexOf(AntExpressionPrefix); diff --git a/src/Spring/Spring.Core/Validation/Actions/ErrorMessageAction.cs b/src/Spring/Spring.Core/Validation/Actions/ErrorMessageAction.cs index 9a282b48..d32560a5 100644 --- a/src/Spring/Spring.Core/Validation/Actions/ErrorMessageAction.cs +++ b/src/Spring/Spring.Core/Validation/Actions/ErrorMessageAction.cs @@ -20,7 +20,7 @@ using System; using System.Collections; - +using System.Collections.Generic; using Spring.Expressions; using Spring.Util; @@ -69,7 +69,7 @@ namespace Spring.Validation.Actions /// Validation context. /// Additional context parameters. /// Validation errors container. - protected override void OnInvalid(object validationContext, IDictionary contextParams, IValidationErrors errors) + protected override void OnInvalid(object validationContext, IDictionary contextParams, IValidationErrors errors) { ErrorMessage error = CreateErrorMessage(validationContext, contextParams); foreach (string provider in this.providers) @@ -84,7 +84,7 @@ namespace Spring.Validation.Actions /// Validation context to resolve message parameters against. /// Additional context parameters. /// Resolved error message - private ErrorMessage CreateErrorMessage(object validationContext, IDictionary contextParams) + private ErrorMessage CreateErrorMessage(object validationContext, IDictionary contextParams) { if (messageParams != null && messageParams.Length > 0) { @@ -104,7 +104,7 @@ namespace Spring.Validation.Actions /// Validation context to resolve parameters against. /// Additional context parameters. /// Resolved message parameters. - private object[] ResolveMessageParameters(IList messageParams, object validationContext, IDictionary contextParams) + private object[] ResolveMessageParameters(IList messageParams, object validationContext, IDictionary contextParams) { object[] parameters = new object[messageParams.Count]; for (int i = 0; i < messageParams.Count; i++) diff --git a/src/Spring/Spring.Core/Validation/Actions/ExceptionAction.cs b/src/Spring/Spring.Core/Validation/Actions/ExceptionAction.cs index 26c43c87..25597675 100644 --- a/src/Spring/Spring.Core/Validation/Actions/ExceptionAction.cs +++ b/src/Spring/Spring.Core/Validation/Actions/ExceptionAction.cs @@ -20,6 +20,7 @@ using System; using System.Collections; +using System.Collections.Generic; using Common.Logging; using Spring.Expressions; using Spring.Util; @@ -71,7 +72,7 @@ namespace Spring.Validation.Actions /// Validation context. /// Additional context parameters. /// Validation errors container. - protected override void OnInvalid(object validationContext, IDictionary contextParams, IValidationErrors errors) + protected override void OnInvalid(object validationContext, IDictionary contextParams, IValidationErrors errors) { if (throwsExpression != null) { diff --git a/src/Spring/Spring.Core/Validation/Actions/ExpressionAction.cs b/src/Spring/Spring.Core/Validation/Actions/ExpressionAction.cs index 36a23f43..9b2eb392 100644 --- a/src/Spring/Spring.Core/Validation/Actions/ExpressionAction.cs +++ b/src/Spring/Spring.Core/Validation/Actions/ExpressionAction.cs @@ -19,7 +19,7 @@ #endregion using System.Collections; - +using System.Collections.Generic; using Spring.Expressions; namespace Spring.Validation.Actions @@ -87,7 +87,7 @@ namespace Spring.Validation.Actions /// Validation context. /// Additional context parameters. /// Validation errors container. - protected override void OnValid(object validationContext, IDictionary contextParams, IValidationErrors errors) + protected override void OnValid(object validationContext, IDictionary contextParams, IValidationErrors errors) { if (Valid != null) { @@ -101,7 +101,7 @@ namespace Spring.Validation.Actions /// Validation context. /// Additional context parameters. /// Validation errors container. - protected override void OnInvalid(object validationContext, IDictionary contextParams, IValidationErrors errors) + protected override void OnInvalid(object validationContext, IDictionary contextParams, IValidationErrors errors) { if (Invalid != null) { diff --git a/src/Spring/Spring.Core/Validation/AnyValidatorGroup.cs b/src/Spring/Spring.Core/Validation/AnyValidatorGroup.cs index c2c18442..ce8f8c87 100644 --- a/src/Spring/Spring.Core/Validation/AnyValidatorGroup.cs +++ b/src/Spring/Spring.Core/Validation/AnyValidatorGroup.cs @@ -19,6 +19,7 @@ #endregion using System.Collections; +using System.Collections.Generic; using Spring.Expressions; namespace Spring.Validation @@ -77,11 +78,11 @@ namespace Spring.Validation /// /// Validates the specified object. /// - /// The object to validate. /// Additional context parameters. /// instance to add error messages to. + /// The object to validate. /// True if validation was successful, False otherwise. - protected override bool ValidateGroup(IDictionary contextParams, IValidationErrors errors, object validationContext) + protected override bool ValidateGroup(IDictionary contextParams, IValidationErrors errors, object validationContext) { // capture errors in separate collection to only add them to the error collector in case of errors ValidationErrors tmpErrors = new ValidationErrors(); diff --git a/src/Spring/Spring.Core/Validation/BaseSimpleValidator.cs b/src/Spring/Spring.Core/Validation/BaseSimpleValidator.cs index 2be336ab..719f5e01 100644 --- a/src/Spring/Spring.Core/Validation/BaseSimpleValidator.cs +++ b/src/Spring/Spring.Core/Validation/BaseSimpleValidator.cs @@ -19,6 +19,7 @@ #endregion using System.Collections; +using System.Collections.Generic; using Spring.Expressions; namespace Spring.Validation @@ -85,7 +86,7 @@ namespace Spring.Validation /// Additional context parameters. /// instance to add error messages to. /// True if validation was successful, False otherwise. - public override bool Validate(object validationContext, IDictionary contextParams, IValidationErrors errors) + public override bool Validate(object validationContext, IDictionary contextParams, IValidationErrors errors) { bool valid = true; @@ -111,7 +112,7 @@ namespace Spring.Validation /// Root context to use for expression evaluation. /// Additional context parameters. /// Result of the test expression evaluation, or validation context if test is null. - protected object EvaluateTest(object rootContext, IDictionary contextParams) + protected object EvaluateTest(object rootContext, IDictionary contextParams) { if (Test == null) { diff --git a/src/Spring/Spring.Core/Validation/BaseValidationAction.cs b/src/Spring/Spring.Core/Validation/BaseValidationAction.cs index 991fd189..1dca2164 100644 --- a/src/Spring/Spring.Core/Validation/BaseValidationAction.cs +++ b/src/Spring/Spring.Core/Validation/BaseValidationAction.cs @@ -20,7 +20,7 @@ using System; using System.Collections; - +using System.Collections.Generic; using Spring.Expressions; namespace Spring.Validation @@ -77,7 +77,7 @@ namespace Spring.Validation /// Validation context. /// Additional context parameters. /// Validation errors container. - public virtual void Execute(bool isValid, object validationContext, IDictionary contextParams, IValidationErrors errors) + public virtual void Execute(bool isValid, object validationContext, IDictionary contextParams, IValidationErrors errors) { if (EvaluateWhen(validationContext, contextParams)) { @@ -102,7 +102,7 @@ namespace Spring.Validation /// Validation context. /// Additional context parameters. /// Validation errors container. - protected virtual void OnValid(object validationContext, IDictionary contextParams, IValidationErrors errors) + protected virtual void OnValid(object validationContext, IDictionary contextParams, IValidationErrors errors) {} /// @@ -111,7 +111,7 @@ namespace Spring.Validation /// Validation context. /// Additional context parameters. /// Validation errors container. - protected virtual void OnInvalid(object validationContext, IDictionary contextParams, IValidationErrors errors) + protected virtual void OnInvalid(object validationContext, IDictionary contextParams, IValidationErrors errors) {} // CLOVER:ON @@ -126,7 +126,7 @@ namespace Spring.Validation /// Root context to use for expression evaluation. /// Additional context parameters. /// True if the condition is true, False otherwise. - protected bool EvaluateWhen(object rootContext, IDictionary contextParams) + protected bool EvaluateWhen(object rootContext, IDictionary contextParams) { if (When == null) { diff --git a/src/Spring/Spring.Core/Validation/BaseValidator.cs b/src/Spring/Spring.Core/Validation/BaseValidator.cs index db8a4a11..b20a5ec0 100644 --- a/src/Spring/Spring.Core/Validation/BaseValidator.cs +++ b/src/Spring/Spring.Core/Validation/BaseValidator.cs @@ -19,7 +19,7 @@ #endregion using System; -using System.Collections; +using System.Collections.Generic; using Spring.Expressions; namespace Spring.Validation @@ -40,7 +40,7 @@ namespace Spring.Validation { #region Fields - private IList actions = new ArrayList(); + private IList actions = new List(); private IExpression when; @@ -89,7 +89,7 @@ namespace Spring.Validation /// Gets or sets the validation actions. /// /// The actions that should be executed after validation. - public IList Actions + public IList Actions { get { return actions; } set { actions = value; } @@ -115,7 +115,7 @@ namespace Spring.Validation /// Additional context parameters. /// instance to add error messages to. /// True if validation was successful, False otherwise. - public abstract bool Validate(object validationContext, IDictionary contextParams, IValidationErrors errors); + public abstract bool Validate(object validationContext, IDictionary contextParams, IValidationErrors errors); #region Helper Methods @@ -125,7 +125,7 @@ namespace Spring.Validation /// Root context to use for expression evaluation. /// Additional context parameters. /// True if the condition is true, False otherwise. - protected bool EvaluateWhen(object rootContext, IDictionary contextParams) + protected bool EvaluateWhen(object rootContext, IDictionary contextParams) { if (When == null) { @@ -142,7 +142,7 @@ namespace Spring.Validation /// Validation context. /// Additional context parameters. /// Validation errors container. - protected void ProcessActions(bool isValid, object validationContext, IDictionary contextParams, IValidationErrors errors) + protected void ProcessActions(bool isValid, object validationContext, IDictionary contextParams, IValidationErrors errors) { if (actions != null && actions.Count > 0) { diff --git a/src/Spring/Spring.Core/Validation/BaseValidatorGroup.cs b/src/Spring/Spring.Core/Validation/BaseValidatorGroup.cs index dc49d600..575760fa 100644 --- a/src/Spring/Spring.Core/Validation/BaseValidatorGroup.cs +++ b/src/Spring/Spring.Core/Validation/BaseValidatorGroup.cs @@ -19,6 +19,7 @@ #endregion using System.Collections; +using System.Collections.Generic; using Spring.Expressions; namespace Spring.Validation @@ -87,7 +88,7 @@ namespace Spring.Validation /// Additional context parameters. /// instance to add error messages to. /// True if validation was successful, False otherwise. - public override bool Validate(object validationContext, IDictionary contextParams, IValidationErrors errors) + public override bool Validate(object validationContext, IDictionary contextParams, IValidationErrors errors) { if (EvaluateWhen(validationContext, contextParams)) { @@ -102,10 +103,10 @@ namespace Spring.Validation /// /// Actual implementation how to validate the specified object. /// - /// The object to validate. /// Additional context parameters. /// instance to add error messages to. + /// The object to validate. /// True if validation was successful, False otherwise. - protected abstract bool ValidateGroup(IDictionary contextParams, IValidationErrors errors, object validationContext); + protected abstract bool ValidateGroup(IDictionary contextParams, IValidationErrors errors, object validationContext); } } \ No newline at end of file diff --git a/src/Spring/Spring.Core/Validation/CollectionValidator.cs b/src/Spring/Spring.Core/Validation/CollectionValidator.cs index 9554d65c..07e5d110 100644 --- a/src/Spring/Spring.Core/Validation/CollectionValidator.cs +++ b/src/Spring/Spring.Core/Validation/CollectionValidator.cs @@ -20,6 +20,7 @@ using System; using System.Collections; +using System.Collections.Generic; using Spring.Expressions; namespace Spring.Validation @@ -159,7 +160,7 @@ namespace Spring.Validation /// Additional context parameters. /// instance to add error messages to. /// True if validation was successful, False otherwise. - public override bool Validate(object validationContext, IDictionary contextParams, IValidationErrors errors) + public override bool Validate(object validationContext, IDictionary contextParams, IValidationErrors errors) { if (Context != null) { @@ -177,11 +178,11 @@ namespace Spring.Validation /// /// Actual implementation how to validate the specified object. /// - /// The object to validate. /// Additional context parameters. /// instance to add error messages to. + /// The object to validate. /// True if validation was successful, False otherwise. - protected override bool ValidateGroup(IDictionary contextParams, IValidationErrors errors, object validationContext) + protected override bool ValidateGroup(IDictionary contextParams, IValidationErrors errors, object validationContext) { bool valid = true; IEnumerable collectionToValidate = (validationContext is IDictionary diff --git a/src/Spring/Spring.Core/Validation/Config/ValidationNamespaceParser.cs b/src/Spring/Spring.Core/Validation/Config/ValidationNamespaceParser.cs index 98f36076..ea017e08 100644 --- a/src/Spring/Spring.Core/Validation/Config/ValidationNamespaceParser.cs +++ b/src/Spring/Spring.Core/Validation/Config/ValidationNamespaceParser.cs @@ -21,18 +21,16 @@ #region Imports using System; -using System.Collections; +using System.Collections.Generic; using System.Xml; using Spring.Core.TypeResolution; -using Spring.Context.Support; using Spring.Expressions; using Spring.Objects; using Spring.Objects.Factory; using Spring.Objects.Factory.Config; using Spring.Objects.Factory.Support; using Spring.Objects.Factory.Xml; -using Spring.Threading; using Spring.Util; #endregion @@ -251,7 +249,7 @@ namespace Spring.Validation.Config { string messageId = GetAttributeValue(message, MessageConstants.IdAttribute); string[] providers = GetAttributeValue(message, MessageConstants.ProvidersAttribute).Split(','); - ArrayList parameters = new ArrayList(); + List parameters = new List(); foreach (XmlElement param in message.ChildNodes) { @@ -272,7 +270,7 @@ namespace Spring.Validation.Config } if (parameters.Count > 0) { - properties.Add("Parameters", parameters.ToArray(typeof(IExpression))); + properties.Add("Parameters", parameters.ToArray()); } IConfigurableObjectDefinition action = diff --git a/src/Spring/Spring.Core/Validation/ExclusiveValidatorGroup.cs b/src/Spring/Spring.Core/Validation/ExclusiveValidatorGroup.cs index b1c10760..4b1d80c0 100644 --- a/src/Spring/Spring.Core/Validation/ExclusiveValidatorGroup.cs +++ b/src/Spring/Spring.Core/Validation/ExclusiveValidatorGroup.cs @@ -19,6 +19,7 @@ #endregion using System.Collections; +using System.Collections.Generic; using Spring.Expressions; namespace Spring.Validation @@ -78,11 +79,11 @@ namespace Spring.Validation /// /// Actual implementation how to validate the specified object. /// - /// The object to validate. /// Additional context parameters. /// instance to add error messages to. + /// The object to validate. /// True if validation was successful, False otherwise. - protected override bool ValidateGroup(IDictionary contextParams, IValidationErrors errors, object validationContext) + protected override bool ValidateGroup(IDictionary contextParams, IValidationErrors errors, object validationContext) { ValidationErrors tmpErrors = new ValidationErrors(); bool valid = false; diff --git a/src/Spring/Spring.Core/Validation/IValidationAction.cs b/src/Spring/Spring.Core/Validation/IValidationAction.cs index 764d7917..26895cc7 100644 --- a/src/Spring/Spring.Core/Validation/IValidationAction.cs +++ b/src/Spring/Spring.Core/Validation/IValidationAction.cs @@ -21,7 +21,7 @@ #region Imports using System.Collections; - +using System.Collections.Generic; using Spring.Validation.Actions; #endregion @@ -51,6 +51,6 @@ namespace Spring.Validation /// Validation context. /// Additional context parameters. /// Validation errors container. - void Execute(bool isValid, object validationContext, IDictionary contextParams, IValidationErrors errors); + void Execute(bool isValid, object validationContext, IDictionary contextParams, IValidationErrors errors); } } \ No newline at end of file diff --git a/src/Spring/Spring.Core/Validation/IValidationErrors.cs b/src/Spring/Spring.Core/Validation/IValidationErrors.cs index 9ec469ed..010b4b0a 100644 --- a/src/Spring/Spring.Core/Validation/IValidationErrors.cs +++ b/src/Spring/Spring.Core/Validation/IValidationErrors.cs @@ -1,4 +1,5 @@ using System.Collections; +using System.Collections.Generic; using Spring.Context; namespace Spring.Validation @@ -24,7 +25,7 @@ namespace Spring.Validation /// /// Gets the list of all error providers. /// - IList Providers { get; } + IList Providers { get; } /// /// Adds the supplied to this @@ -68,7 +69,7 @@ namespace Spring.Validation /// /// A list of all s for the supplied lookup . /// - IList GetErrors(string provider); + IList GetErrors(string provider); /// /// Gets the list of resolved error messages for the supplied lookup . @@ -84,6 +85,6 @@ namespace Spring.Validation /// /// A list of resolved error messages for the supplied lookup . /// - IList GetResolvedErrors(string provider, IMessageSource messageSource); + IList GetResolvedErrors(string provider, IMessageSource messageSource); } } \ No newline at end of file diff --git a/src/Spring/Spring.Core/Validation/IValidator.cs b/src/Spring/Spring.Core/Validation/IValidator.cs index 6b7db546..538ffeba 100644 --- a/src/Spring/Spring.Core/Validation/IValidator.cs +++ b/src/Spring/Spring.Core/Validation/IValidator.cs @@ -21,6 +21,7 @@ #region Imports using System.Collections; +using System.Collections.Generic; #endregion @@ -69,13 +70,13 @@ namespace Spring.Validation /// The object to validate. /// Additional context parameters. /// - /// The instance to add any error - /// messages to in the case of validation failure. + /// The instance to add any error + /// messages to in the case of validation failure. /// /// /// if validation was successful. /// - bool Validate(object validationContext, IDictionary contextParams, IValidationErrors errors); + bool Validate(object validationContext, IDictionary contextParams, IValidationErrors errors); } } \ No newline at end of file diff --git a/src/Spring/Spring.Core/Validation/ValidationErrors.cs b/src/Spring/Spring.Core/Validation/ValidationErrors.cs index fac5089d..f7367951 100644 --- a/src/Spring/Spring.Core/Validation/ValidationErrors.cs +++ b/src/Spring/Spring.Core/Validation/ValidationErrors.cs @@ -21,7 +21,7 @@ #region Imports using System; -using System.Collections; +using System.Collections.Generic; using System.Xml; using System.Xml.Schema; using System.Xml.Serialization; @@ -91,18 +91,18 @@ namespace Spring.Validation reader.Read(); while (reader.Name == "Provider") { - object key = reader.GetAttribute("Id"); + string key = reader.GetAttribute("Id"); reader.Read(); while (reader.Name == "ErrorMessage") { XmlSerializer xs = new XmlSerializer(typeof(ErrorMessage)); - object value = xs.Deserialize(reader); + ErrorMessage value = (ErrorMessage) xs.Deserialize(reader); - IList mapValue = (IList)errorMap[key]; + List mapValue; - if (mapValue == null) + if (!errorMap.TryGetValue(key, out mapValue)) { - mapValue = new ArrayList(); + mapValue = new List(); errorMap[key] = mapValue; } @@ -122,17 +122,16 @@ namespace Spring.Validation /// public void WriteXml(XmlWriter writer) { - foreach (DictionaryEntry entry in errorMap) + foreach (KeyValuePair> entry in errorMap) { writer.WriteStartElement("Provider"); - writer.WriteAttributeString("Id", entry.Key as String); + writer.WriteAttributeString("Id", entry.Key); if (entry.Value != null) { - ArrayList errorsList = (ArrayList)entry.Value; - foreach (object o in errorsList) + IList errorsList = entry.Value; + foreach (ErrorMessage error in errorsList) { - ErrorMessage error = (ErrorMessage)o; XmlSerializer xs = new XmlSerializer(typeof(ErrorMessage)); xs.Serialize(writer, error); } @@ -164,9 +163,9 @@ namespace Spring.Validation /// /// Gets the list of all providers. /// - public IList Providers + public IList Providers { - get { return new ArrayList(this.errorMap.Keys); } + get { return new List(this.errorMap.Keys); } } /// @@ -186,10 +185,10 @@ namespace Spring.Validation AssertUtils.ArgumentNotNull(provider, "provider"); AssertUtils.ArgumentNotNull(message, "errorMessage"); - IList errors = (IList) errorMap[provider]; - if (errors == null) + List errors; + if (!errorMap.TryGetValue(provider, out errors)) { - errors = new ArrayList(); + errors = new List(); errorMap[provider] = errors; } errors.Add(message); @@ -214,15 +213,15 @@ namespace Spring.Validation { foreach(string provider in errorsToMerge.Providers) { - ArrayList errList = (ArrayList) this.errorMap[provider]; - IList other = errorsToMerge.GetErrors(provider); - if (errList == null) + List errList; + List other = new List(errorsToMerge.GetErrors(provider)); + if (!errorMap.TryGetValue(provider, out errList)) { this.errorMap[provider] = other; } else { - errList.AddRange((IList) other); + errList.AddRange(other); } } // foreach (DictionaryEntry errorEntry in errorsToMerge.errorMap) @@ -253,10 +252,11 @@ namespace Spring.Validation /// /// A list of all s for the supplied lookup . /// - public IList GetErrors(string provider) + public IList GetErrors(string provider) { - IList errors = (IList) errorMap[provider]; - return errors == null ? ObjectUtils.EmptyObjects : errors; + List errors; + errorMap.TryGetValue(provider, out errors); + return errors ?? new List(0); } /// @@ -273,14 +273,13 @@ namespace Spring.Validation /// /// A list of resolved error messages for the supplied lookup . /// - public IList GetResolvedErrors(string provider, IMessageSource messageSource) + public IList GetResolvedErrors(string provider, IMessageSource messageSource) { AssertUtils.ArgumentNotNull(provider, "provider"); - IList messages = new ArrayList(); - IList errors = (IList) errorMap[provider]; - - if (errors != null) + IList messages = new List(); + List errors; + if (errorMap.TryGetValue(provider, out errors)) { foreach (ErrorMessage error in errors) { @@ -295,7 +294,7 @@ namespace Spring.Validation #region Data members - private readonly IDictionary errorMap = new Hashtable(); + private readonly IDictionary> errorMap = new Dictionary>(); #endregion } diff --git a/src/Spring/Spring.Core/Validation/ValidatorGroup.cs b/src/Spring/Spring.Core/Validation/ValidatorGroup.cs index bc12c485..d2b07660 100644 --- a/src/Spring/Spring.Core/Validation/ValidatorGroup.cs +++ b/src/Spring/Spring.Core/Validation/ValidatorGroup.cs @@ -19,6 +19,7 @@ #endregion using System.Collections; +using System.Collections.Generic; using Spring.Expressions; namespace Spring.Validation @@ -70,11 +71,11 @@ namespace Spring.Validation /// /// Actual implementation how to validate the specified object. /// - /// The object to validate. /// Additional context parameters. /// instance to add error messages to. + /// The object to validate. /// True if validation was successful, False otherwise. - protected override bool ValidateGroup(IDictionary contextParams, IValidationErrors errors, object validationContext) + protected override bool ValidateGroup(IDictionary contextParams, IValidationErrors errors, object validationContext) { bool valid = true; foreach (IValidator validator in this.Validators) diff --git a/src/Spring/Spring.Core/Validation/ValidatorReference.cs b/src/Spring/Spring.Core/Validation/ValidatorReference.cs index 67bac40d..41f182b1 100644 --- a/src/Spring/Spring.Core/Validation/ValidatorReference.cs +++ b/src/Spring/Spring.Core/Validation/ValidatorReference.cs @@ -19,7 +19,7 @@ #endregion using System.Collections; - +using System.Collections.Generic; using Spring.Expressions; using Spring.Objects.Factory; using System; @@ -136,7 +136,7 @@ namespace Spring.Validation /// Additional context parameters. /// instance to add error messages to. /// True if validation was successful, False otherwise. - public bool Validate(object validationContext, IDictionary contextParams, IValidationErrors errors) + public bool Validate(object validationContext, IDictionary contextParams, IValidationErrors errors) { bool valid = true; diff --git a/src/Spring/Spring.Data.NHibernate/Data/NHibernate/Bytecode/ObjectsFactory.cs b/src/Spring/Spring.Data.NHibernate/Data/NHibernate/Bytecode/ObjectsFactory.cs index 209a8a95..21c44914 100644 --- a/src/Spring/Spring.Data.NHibernate/Data/NHibernate/Bytecode/ObjectsFactory.cs +++ b/src/Spring/Spring.Data.NHibernate/Data/NHibernate/Bytecode/ObjectsFactory.cs @@ -21,6 +21,7 @@ #region Imports using System; +using System.Collections.Generic; using NHibernate.Bytecode; @@ -53,8 +54,8 @@ namespace Spring.Data.NHibernate.Bytecode /// A reference to the created object. public object CreateInstance(Type type) { - string[] namesForType = listableObjectFactory.GetObjectNamesForType(type); - return namesForType.Length > 0 ? listableObjectFactory.GetObject(namesForType[0], type) : Activator.CreateInstance(type); + IList namesForType = listableObjectFactory.GetObjectNamesForType(type); + return namesForType.Count > 0 ? listableObjectFactory.GetObject(namesForType[0], type) : Activator.CreateInstance(type); } /// @@ -64,8 +65,8 @@ namespace Spring.Data.NHibernate.Bytecode /// A reference to the created object public object CreateInstance(Type type, bool nonPublic) { - string[] namesForType = listableObjectFactory.GetObjectNamesForType(type); - return namesForType.Length > 0 ? listableObjectFactory.GetObject(namesForType[0], type) : Activator.CreateInstance(type); + IList namesForType = listableObjectFactory.GetObjectNamesForType(type); + return namesForType.Count > 0 ? listableObjectFactory.GetObject(namesForType[0], type) : Activator.CreateInstance(type); } /// diff --git a/src/Spring/Spring.Data.NHibernate/Data/NHibernate/Bytecode/ReflectionOptimizer.cs b/src/Spring/Spring.Data.NHibernate/Data/NHibernate/Bytecode/ReflectionOptimizer.cs index eb4c93e3..e8f48e86 100644 --- a/src/Spring/Spring.Data.NHibernate/Data/NHibernate/Bytecode/ReflectionOptimizer.cs +++ b/src/Spring/Spring.Data.NHibernate/Data/NHibernate/Bytecode/ReflectionOptimizer.cs @@ -21,6 +21,7 @@ #region Imports using System; +using System.Collections.Generic; using NHibernate.Properties; @@ -57,8 +58,8 @@ namespace Spring.Data.NHibernate.Bytecode /// The new instance. public override object CreateInstance() { - string[] namesForType = listableObjectFactory.GetObjectNamesForType(mappedType); - if (namesForType.Length > 0) + IList namesForType = listableObjectFactory.GetObjectNamesForType(mappedType); + if (namesForType.Count > 0) { return listableObjectFactory.GetObject(namesForType[0], mappedType); } diff --git a/src/Spring/Spring.Data.NHibernate/Data/NHibernate/LocalSessionFactoryObject.cs b/src/Spring/Spring.Data.NHibernate/Data/NHibernate/LocalSessionFactoryObject.cs index a374db6b..bbd96cbc 100644 --- a/src/Spring/Spring.Data.NHibernate/Data/NHibernate/LocalSessionFactoryObject.cs +++ b/src/Spring/Spring.Data.NHibernate/Data/NHibernate/LocalSessionFactoryObject.cs @@ -89,7 +89,7 @@ namespace Spring.Data.NHibernate private string[] configFilenames; - private IDictionary hibernateProperties; + private IDictionary hibernateProperties; private IDbProvider dbProvider; @@ -223,13 +223,13 @@ namespace Spring.Data.NHibernate /// provider settings and use a Spring-set IDbProvider instead. ///

/// - public IDictionary HibernateProperties + public IDictionary HibernateProperties { get { if (hibernateProperties == null) { - hibernateProperties = new Hashtable(); + hibernateProperties = new Dictionary(); } return hibernateProperties; } @@ -506,7 +506,7 @@ namespace Spring.Data.NHibernate { // Register specified Hibernate type definitions. IDictionary typedProperties = new Dictionary(); - foreach (DictionaryEntry entry in hibernateProperties) + foreach (KeyValuePair entry in hibernateProperties) { typedProperties.Add((string) entry.Key, (string) entry.Value); } @@ -537,7 +537,7 @@ namespace Spring.Data.NHibernate if (this.hibernateProperties != null) { if (config.GetProperty(Environment.ConnectionProvider) != null && - hibernateProperties.Contains(Environment.ConnectionProvider)) + hibernateProperties.ContainsKey(Environment.ConnectionProvider)) { #region Logging if (log.IsInfoEnabled) @@ -550,9 +550,9 @@ namespace Spring.Data.NHibernate } Dictionary genericHibernateProperties = new Dictionary(); - foreach (DictionaryEntry entry in hibernateProperties) + foreach (KeyValuePair entry in hibernateProperties) { - genericHibernateProperties.Add((string) entry.Key, (string) entry.Value); + genericHibernateProperties.Add(entry.Key, entry.Value); } config.AddProperties(genericHibernateProperties); } @@ -595,7 +595,7 @@ namespace Spring.Data.NHibernate // Register cache strategies for mapped entities. foreach (string className in this.entityCacheStrategies.Keys) { - String[] strategyAndRegion = StringUtils.CommaDelimitedListToStringArray(this.entityCacheStrategies.GetProperty(className)); + string[] strategyAndRegion = StringUtils.CommaDelimitedListToStringArray(this.entityCacheStrategies.GetProperty(className)); if (strategyAndRegion.Length > 1) { config.SetCacheConcurrencyStrategy(className, strategyAndRegion[0], strategyAndRegion[1]); diff --git a/src/Spring/Spring.Data.NHibernate/Data/NHibernate/SessionFactoryUtils.cs b/src/Spring/Spring.Data.NHibernate/Data/NHibernate/SessionFactoryUtils.cs index f160a3b5..0b8b1dcd 100644 --- a/src/Spring/Spring.Data.NHibernate/Data/NHibernate/SessionFactoryUtils.cs +++ b/src/Spring/Spring.Data.NHibernate/Data/NHibernate/SessionFactoryUtils.cs @@ -22,6 +22,8 @@ using System; using System.Collections; +using System.Collections.Generic; + using Common.Logging; using NHibernate; using NHibernate.Connection; @@ -695,7 +697,7 @@ namespace Spring.Data.NHibernate { Type hibCommandType = db.CreateCommand().GetType(); - string[] providerNames = ctx.GetObjectNamesForType(typeof(DbProvider), true, false); + IList providerNames = ctx.GetObjectNamesForType(typeof(DbProvider), true, false); string hibCommandAQN = hibCommandType.AssemblyQualifiedName; foreach (string providerName in providerNames) { diff --git a/src/Spring/Spring.Data.NHibernate/Data/NHibernate/SessionHolder.cs b/src/Spring/Spring.Data.NHibernate/Data/NHibernate/SessionHolder.cs index d7427c7b..c85bb43a 100644 --- a/src/Spring/Spring.Data.NHibernate/Data/NHibernate/SessionHolder.cs +++ b/src/Spring/Spring.Data.NHibernate/Data/NHibernate/SessionHolder.cs @@ -20,12 +20,12 @@ #region Imports -using System; using System.Collections; +using System.Collections.Generic; using System.Data; using Common.Logging; using NHibernate; -using Spring.Collections; + using Spring.Transaction.Support; using Spring.Util; @@ -48,7 +48,8 @@ namespace Spring.Data.NHibernate private static readonly object DEFAULT_KEY = new object(); - private readonly Hashtable sessionDictionary = new Hashtable(1); + private readonly object sessionDictionaryLock = new object(); + private readonly Dictionary sessionDictionary = new Dictionary(1); private IDbConnection connection; @@ -118,10 +119,12 @@ namespace Spring.Data.NHibernate { get { - lock (sessionDictionary.SyncRoot) + lock (sessionDictionaryLock) { EnsureInitialized(); - return sessionDictionary[DEFAULT_KEY] as ISession; + ISession session; + sessionDictionary.TryGetValue(DEFAULT_KEY, out session); + return session; } } } @@ -135,7 +138,7 @@ namespace Spring.Data.NHibernate { get { - lock(sessionDictionary.SyncRoot) + lock(sessionDictionaryLock) { EnsureInitialized(); if (sessionDictionary.Count > 0) @@ -160,7 +163,7 @@ namespace Spring.Data.NHibernate { get { - lock(sessionDictionary.SyncRoot) + lock(sessionDictionaryLock) { EnsureInitialized(); return (sessionDictionary.Count > 0 ? false : true); @@ -179,12 +182,12 @@ namespace Spring.Data.NHibernate { get { - lock (sessionDictionary.SyncRoot) + lock (sessionDictionaryLock) { EnsureInitialized(); return ( sessionDictionary.Count == 0 || - (sessionDictionary.Count == 1 && sessionDictionary.Contains(DEFAULT_KEY)) + (sessionDictionary.Count == 1 && sessionDictionary.ContainsKey(DEFAULT_KEY)) ); } @@ -263,10 +266,12 @@ namespace Spring.Data.NHibernate /// A hibernate session public ISession GetSession(object key) { - lock (sessionDictionary.SyncRoot) + lock (sessionDictionaryLock) { - EnsureInitialized(); - return sessionDictionary[key] as ISession; + EnsureInitialized(); + ISession session; + sessionDictionary.TryGetValue(key, out session); + return session; } } @@ -279,15 +284,15 @@ namespace Spring.Data.NHibernate /// A hibernate session public ISession GetValidatedSession(object key) { - lock (sessionDictionary.SyncRoot) + lock (sessionDictionaryLock) { EnsureInitialized(); - ISession session = sessionDictionary[key] as ISession; + ISession session; // Check for dangling Session that's around but already closed. // Effectively an assertion: that should never happen in practice. // We'll seamlessly remove the Session here, to not let it cause // any side effects. - if (session != null && !session.IsOpen) + if (sessionDictionary.TryGetValue(key, out session) && !session.IsOpen) { sessionDictionary.Remove(key); session = null; @@ -314,7 +319,7 @@ namespace Spring.Data.NHibernate AssertUtils.ArgumentNotNull(key, "key", "Key must not be null"); AssertUtils.ArgumentNotNull(session, "session", "Session must not be null"); - lock (sessionDictionary.SyncRoot) + lock (sessionDictionaryLock) { if (sessionDictionary.ContainsKey(key)) { @@ -333,9 +338,10 @@ namespace Spring.Data.NHibernate /// dictionary storage. public ISession RemoveSession(object key) { - lock(sessionDictionary.SyncRoot) + lock(sessionDictionaryLock) { - ISession oldSession = sessionDictionary[key] as ISession; + ISession oldSession; + sessionDictionary.TryGetValue(key, out oldSession); sessionDictionary.Remove(key); return oldSession; } @@ -348,9 +354,9 @@ namespace Spring.Data.NHibernate /// /// true if the holder contains the specified session; otherwise, false. /// - public bool ContainsSession(object session) + public bool ContainsSession(ISession session) { - lock (sessionDictionary.SyncRoot) + lock (sessionDictionaryLock) { EnsureInitialized(); return sessionDictionary.ContainsValue(session); diff --git a/src/Spring/Spring.Data/Dao/Support/PersistenceExceptionTranslationInterceptor.cs b/src/Spring/Spring.Data/Dao/Support/PersistenceExceptionTranslationInterceptor.cs index 1773c476..1d0fe69c 100644 --- a/src/Spring/Spring.Data/Dao/Support/PersistenceExceptionTranslationInterceptor.cs +++ b/src/Spring/Spring.Data/Dao/Support/PersistenceExceptionTranslationInterceptor.cs @@ -20,6 +20,7 @@ using System; using System.Collections; +using System.Collections.Generic; using AopAlliance.Intercept; using Spring.Objects.Factory; using Spring.Objects.Factory.Config; @@ -152,7 +153,7 @@ namespace Spring.Dao.Support protected IPersistenceExceptionTranslator DetectPersistenceExceptionTranslators(IListableObjectFactory objectFactory) { // Find all translators, being careful not to activate FactoryObjects. - IDictionary pets = + IDictionary pets = ObjectFactoryUtils.ObjectsOfTypeIncludingAncestors(objectFactory, typeof (IPersistenceExceptionTranslator), false, false); @@ -162,7 +163,7 @@ namespace Spring.Dao.Support } ChainedPersistenceExceptionTranslator cpet = new ChainedPersistenceExceptionTranslator(); - foreach (DictionaryEntry pet in pets) + foreach (KeyValuePair pet in pets) { cpet.AddTranslator((IPersistenceExceptionTranslator)pet.Value); } diff --git a/src/Spring/Spring.Data/Data/Common/DbProviderFactory.cs b/src/Spring/Spring.Data/Data/Common/DbProviderFactory.cs index 699599ef..cf94a94f 100644 --- a/src/Spring/Spring.Data/Data/Common/DbProviderFactory.cs +++ b/src/Spring/Spring.Data/Data/Common/DbProviderFactory.cs @@ -19,6 +19,8 @@ #endregion using System; +using System.Collections.Generic; + using Common.Logging; using Spring.Context; using Spring.Context.Support; @@ -143,10 +145,10 @@ namespace Spring.Data.Common ctx = new XmlApplicationContext(DBPROVIDER_CONTEXTNAME, true, new string[] { DBPROVIDER_DEFAULT_RESOURCE_NAME }); } - string[] dbProviderNames = ctx.GetObjectNamesForType(typeof(IDbProvider)); + IList dbProviderNames = ctx.GetObjectNames(); if (log.IsInfoEnabled) { - log.Info(String.Format("{0} DbProviders Available. [{1}]", dbProviderNames.Length, StringUtils.ArrayToCommaDelimitedString(dbProviderNames))); + log.Info(String.Format("{0} DbProviders Available. [{1}]", dbProviderNames.Count, StringUtils.CollectionToCommaDelimitedString(dbProviderNames))); } } catch (Exception e) diff --git a/src/Spring/Spring.Data/Data/Core/AdoTemplate.cs b/src/Spring/Spring.Data/Data/Core/AdoTemplate.cs index 8f1f81be..41433802 100644 --- a/src/Spring/Spring.Data/Data/Core/AdoTemplate.cs +++ b/src/Spring/Spring.Data/Data/Core/AdoTemplate.cs @@ -167,8 +167,7 @@ namespace Spring.Data.Core { throw new ArgumentException("DataReaderWrapper type must implement IDataReaderWrapper. Implemented interfaces on " + value.GetType().Name + "are [" + - StringUtils.ArrayToCommaDelimitedString( - ReflectionUtils.ToInterfaceArray(value)) + "]"); + StringUtils.CollectionToCommaDelimitedString(ReflectionUtils.ToInterfaceArray(value)) + "]"); } } diff --git a/src/Spring/Spring.Data/Transaction/Interceptor/TransactionProxyFactoryObject.cs b/src/Spring/Spring.Data/Transaction/Interceptor/TransactionProxyFactoryObject.cs index 703e893c..c4eaafab 100644 --- a/src/Spring/Spring.Data/Transaction/Interceptor/TransactionProxyFactoryObject.cs +++ b/src/Spring/Spring.Data/Transaction/Interceptor/TransactionProxyFactoryObject.cs @@ -21,6 +21,7 @@ #region Imports using System; +using System.Collections.Generic; using System.Collections.Specialized; using Spring.Aop; @@ -71,7 +72,7 @@ namespace Spring.Transaction.Interceptor { private TransactionInterceptor _transactionInterceptor; private object _target; - private Type[] _proxyInterfaces; + private IList _proxyInterfaces; private TruePointcut _pointcut; private object[] _preInterceptors; private object[] _postInterceptors; diff --git a/src/Spring/Spring.Messaging.Ems/Messaging/Ems/Listener/Adapter/MessageListenerAdapter.cs b/src/Spring/Spring.Messaging.Ems/Messaging/Ems/Listener/Adapter/MessageListenerAdapter.cs index fc1c98d6..337793c6 100644 --- a/src/Spring/Spring.Messaging.Ems/Messaging/Ems/Listener/Adapter/MessageListenerAdapter.cs +++ b/src/Spring/Spring.Messaging.Ems/Messaging/Ems/Listener/Adapter/MessageListenerAdapter.cs @@ -1,5 +1,6 @@ using System; using System.Collections; +using System.Collections.Generic; using System.Reflection; using Common.Logging; using Spring.Expressions; @@ -277,7 +278,7 @@ namespace Spring.Messaging.Ems.Listener.Adapter object convertedMessage = ExtractMessage(message); - IDictionary vars = new Hashtable(); + IDictionary vars = new Dictionary(); vars["convertedObject"] = convertedMessage; //Invoke message handler method and get result. diff --git a/src/Spring/Spring.Messaging.Nms/Messaging/Nms/Connections/CachedSession.cs b/src/Spring/Spring.Messaging.Nms/Messaging/Nms/Connections/CachedSession.cs index b1747135..5bddb1e3 100644 --- a/src/Spring/Spring.Messaging.Nms/Messaging/Nms/Connections/CachedSession.cs +++ b/src/Spring/Spring.Messaging.Nms/Messaging/Nms/Connections/CachedSession.cs @@ -20,6 +20,8 @@ using System; using System.Collections; +using System.Collections.Generic; + using Apache.NMS; using Common.Logging; using Spring.Collections; @@ -202,7 +204,7 @@ namespace Spring.Messaging.Nms.Connections } // Physically close durable subscribers at time of Session close call. - IList ToRemove = new ArrayList(); + List ToRemove = new List(); foreach (DictionaryEntry dictionaryEntry in cachedConsumers) { ConsumerCacheKey key = (ConsumerCacheKey) dictionaryEntry.Key; diff --git a/src/Spring/Spring.Messaging.Nms/Messaging/Nms/Connections/ChainedExceptionListener.cs b/src/Spring/Spring.Messaging.Nms/Messaging/Nms/Connections/ChainedExceptionListener.cs index 4ea87163..99a8ce2a 100644 --- a/src/Spring/Spring.Messaging.Nms/Messaging/Nms/Connections/ChainedExceptionListener.cs +++ b/src/Spring/Spring.Messaging.Nms/Messaging/Nms/Connections/ChainedExceptionListener.cs @@ -20,7 +20,8 @@ using System; -using System.Collections; +using System.Collections.Generic; + using Spring.Messaging.Nms.Core; using Spring.Util; @@ -34,7 +35,7 @@ namespace Spring.Messaging.Nms.Connections /// Mark Pollack (.NET) public class ChainedExceptionListener : IExceptionListener { - private ArrayList listeners = new ArrayList(2); + private List listeners = new List(2); /// /// Adds the exception listener to the chain @@ -62,12 +63,9 @@ namespace Spring.Messaging.Nms.Connections /// Gets the exception listeners as an array. /// /// The exception listeners. - public IExceptionListener[] Listeners + public IList Listeners { - get - { - return (IExceptionListener[]) listeners.ToArray(typeof (IExceptionListener)); - } + get { return listeners; } } } } \ No newline at end of file diff --git a/src/Spring/Spring.Messaging.Nms/Messaging/Nms/Listener/Adapter/MessageListenerAdapter.cs b/src/Spring/Spring.Messaging.Nms/Messaging/Nms/Listener/Adapter/MessageListenerAdapter.cs index 5aa4cb43..379c79a1 100644 --- a/src/Spring/Spring.Messaging.Nms/Messaging/Nms/Listener/Adapter/MessageListenerAdapter.cs +++ b/src/Spring/Spring.Messaging.Nms/Messaging/Nms/Listener/Adapter/MessageListenerAdapter.cs @@ -21,6 +21,7 @@ using System; using System.Collections; +using System.Collections.Generic; using System.Reflection; using Common.Logging; using Spring.Expressions; @@ -295,7 +296,7 @@ namespace Spring.Messaging.Nms.Listener.Adapter object convertedMessage = ExtractMessage(message); - IDictionary vars = new Hashtable(); + IDictionary vars = new Dictionary(); vars["convertedObject"] = convertedMessage; //Need to parse each time since have overloaded methods and diff --git a/src/Spring/Spring.Messaging/Messaging/Core/DefaultMessageQueueFactory.cs b/src/Spring/Spring.Messaging/Messaging/Core/DefaultMessageQueueFactory.cs index be41fda4..a7bae9d9 100644 --- a/src/Spring/Spring.Messaging/Messaging/Core/DefaultMessageQueueFactory.cs +++ b/src/Spring/Spring.Messaging/Messaging/Core/DefaultMessageQueueFactory.cs @@ -20,6 +20,7 @@ using System; using System.Collections; +using System.Collections.Generic; using System.Messaging; using Common.Logging; using Spring.Context; @@ -66,10 +67,10 @@ namespace Spring.Messaging.Core MessageQueueFactoryObject mqfo = new MessageQueueFactoryObject(); mqfo.MessageCreatorDelegate = messageQueueCreatorDelegate; applicationContext.ObjectFactory.RegisterSingleton(messageQueueObjectName, mqfo); - IDictionary caches = applicationContext.GetObjectsOfType(typeof(MessageQueueMetadataCache)); - foreach (DictionaryEntry entry in caches) + IDictionary caches = applicationContext.GetObjects(); + foreach (KeyValuePair entry in caches) { - ((MessageQueueMetadataCache) entry.Value).Insert(mqfo.Path, new MessageQueueMetadata(mqfo.RemoteQueue, mqfo.RemoteQueueIsTransactional)); + entry.Value.Insert(mqfo.Path, new MessageQueueMetadata(mqfo.RemoteQueue, mqfo.RemoteQueueIsTransactional)); } } diff --git a/src/Spring/Spring.Messaging/Messaging/Core/MessageQueueMetadataCache.cs b/src/Spring/Spring.Messaging/Messaging/Core/MessageQueueMetadataCache.cs index 7ac559f0..86799a2b 100644 --- a/src/Spring/Spring.Messaging/Messaging/Core/MessageQueueMetadataCache.cs +++ b/src/Spring/Spring.Messaging/Messaging/Core/MessageQueueMetadataCache.cs @@ -1,5 +1,6 @@ using System; using System.Collections; +using System.Collections.Generic; using Common.Logging; using Spring.Context; using Spring.Messaging.Support; @@ -39,12 +40,12 @@ namespace Spring.Messaging.Core public void Initialize() { - IDictionary messageQueueDictionary = configurableApplicationContext.GetObjectsOfType(typeof(MessageQueueFactoryObject)); + IDictionary messageQueueDictionary = configurableApplicationContext.GetObjects(); lock (itemStore.SyncRoot) { - foreach (DictionaryEntry entry in messageQueueDictionary) + foreach (KeyValuePair entry in messageQueueDictionary) { - MessageQueueFactoryObject mqfo = entry.Value as MessageQueueFactoryObject; + MessageQueueFactoryObject mqfo = entry.Value; if (mqfo != null) { if (mqfo.Path != null) diff --git a/src/Spring/Spring.Messaging/Messaging/Listener/MessageListenerAdapter.cs b/src/Spring/Spring.Messaging/Messaging/Listener/MessageListenerAdapter.cs index b00f3c87..de391901 100644 --- a/src/Spring/Spring.Messaging/Messaging/Listener/MessageListenerAdapter.cs +++ b/src/Spring/Spring.Messaging/Messaging/Listener/MessageListenerAdapter.cs @@ -20,6 +20,7 @@ using System; using System.Collections; +using System.Collections.Generic; using System.Messaging; using Common.Logging; using Spring.Context; @@ -460,7 +461,7 @@ namespace Spring.Messaging.Listener /// The result returned from the listener method protected virtual object InvokeListenerMethod(string methodName, object[] arguments) { - IDictionary vars = new Hashtable(); + IDictionary vars = new Dictionary(); vars["convertedObject"] = arguments[0]; if (methodName.CompareTo(DefaultHandlerMethod) != 0) { diff --git a/src/Spring/Spring.Scheduling.Quartz20/Scheduling/Quartz/SchedulerAccessorObject.cs b/src/Spring/Spring.Scheduling.Quartz20/Scheduling/Quartz/SchedulerAccessorObject.cs index 477e06c4..80ece13a 100644 --- a/src/Spring/Spring.Scheduling.Quartz20/Scheduling/Quartz/SchedulerAccessorObject.cs +++ b/src/Spring/Spring.Scheduling.Quartz20/Scheduling/Quartz/SchedulerAccessorObject.cs @@ -15,7 +15,7 @@ */ using System; - +using System.Collections.Generic; using Quartz; using Quartz.Impl; @@ -132,10 +132,10 @@ namespace Spring.Scheduling.Quartz if (objectFactory is IListableObjectFactory) { IListableObjectFactory lbf = (IListableObjectFactory) objectFactory; - string[] objectNames = lbf.GetObjectNamesForType(typeof(IScheduler)); - for (int i = 0; i < objectNames.Length; i++) + IEnumerable objectNames = lbf.GetObjectNamesForType(typeof(IScheduler)); + foreach (string objectName in objectNames) { - IScheduler schedulerObject = (IScheduler)lbf.GetObject(objectNames[i]); + IScheduler schedulerObject = (IScheduler)lbf.GetObject(objectName); if (schedulerName.Equals(schedulerObject.SchedulerName)) { return schedulerObject; @@ -151,4 +151,4 @@ namespace Spring.Scheduling.Quartz } } -} +} \ No newline at end of file diff --git a/src/Spring/Spring.Services/ServiceModel/ServiceExporter.cs b/src/Spring/Spring.Services/ServiceModel/ServiceExporter.cs index b9e83ff5..e6ebc108 100644 --- a/src/Spring/Spring.Services/ServiceModel/ServiceExporter.cs +++ b/src/Spring/Spring.Services/ServiceModel/ServiceExporter.cs @@ -22,6 +22,7 @@ using System; using System.Collections; +using System.Collections.Generic; using System.Reflection; using System.Reflection.Emit; using System.ServiceModel; @@ -491,12 +492,12 @@ namespace Spring.ServiceModel return attrs; } - protected override Type[] GetProxiableInterfaces(Type[] interfaces) + protected override IList GetProxiableInterfaces(IList interfaces) { if (contractInterface == null) { - Type[] proxiableInterfaces = base.GetProxiableInterfaces(interfaces); - if (proxiableInterfaces.Length > 1) + IList proxiableInterfaces = base.GetProxiableInterfaces(interfaces); + if (proxiableInterfaces.Count > 1) { throw new ArgumentException(String.Format( "ServiceExporter cannot export service type '{0}' as a WCF service because it implements multiple interfaces. Specify the contract interface to expose via the ContractInterface property.", @@ -558,7 +559,7 @@ namespace Spring.ServiceModel objectDefinition, null, null); - if (objectDefinition.PropertyValues.PropertyValues.Length == 0) + if (objectDefinition.PropertyValues.PropertyValues.Count == 0) { CustomAttributeBuilder cab = new CustomAttributeBuilder(ci.ConstructorInfo, ci.ArgInstances); diff --git a/src/Spring/Spring.Services/Web/Services/WebServiceProxyFactory.cs b/src/Spring/Spring.Services/Web/Services/WebServiceProxyFactory.cs index 2bebfbef..6ad87df6 100644 --- a/src/Spring/Spring.Services/Web/Services/WebServiceProxyFactory.cs +++ b/src/Spring/Spring.Services/Web/Services/WebServiceProxyFactory.cs @@ -487,7 +487,7 @@ namespace Spring.Web.Services /// The generated proxy class. public override Type BuildProxyType() { - if (Interfaces == null || Interfaces.Length == 0) + if (Interfaces == null || Interfaces.Count == 0) { throw new ArgumentException( "Web service client proxy must implement at least one interface."); diff --git a/src/Spring/Spring.Template.Velocity/Template/Velocity/Config/TemplateNamespaceParser.cs b/src/Spring/Spring.Template.Velocity/Template/Velocity/Config/TemplateNamespaceParser.cs index 8ecb2d52..0333de52 100644 --- a/src/Spring/Spring.Template.Velocity/Template/Velocity/Config/TemplateNamespaceParser.cs +++ b/src/Spring/Spring.Template.Velocity/Template/Velocity/Config/TemplateNamespaceParser.cs @@ -24,15 +24,14 @@ using System; using System.Collections; using System.Collections.Generic; using System.Xml; + using NVelocity.Runtime; -using NVelocity.Runtime.Resource.Loader; + using Spring.Core.TypeResolution; using Spring.Objects; -using Spring.Objects.Factory; using Spring.Objects.Factory.Config; using Spring.Objects.Factory.Support; using Spring.Objects.Factory.Xml; -using Spring.Template.Velocity; using Spring.Util; #endregion @@ -226,8 +225,9 @@ namespace Spring.Template.Velocity.Config { /// a list of nv:file elements defining the paths to template files /// the properties used to initialize the velocity engine private void AppendFileLoaderProperties(XmlNodeList elements, IDictionary properties) { - IList paths = new List(elements.Count); - foreach (XmlElement element in elements) { + IList paths = new List(elements.Count); + foreach (XmlElement element in elements) + { paths.Add(GetAttributeValue(element, VelocityConstants.Path)); } properties.Add(RuntimeConstants.RESOURCE_LOADER, VelocityConstants.File); @@ -241,7 +241,7 @@ namespace Spring.Template.Velocity.Config { /// a list of nv:assembly elements defining the assemblies /// the properties used to initialize the velocity engine private void AppendAssemblyLoaderProperties(XmlNodeList elements, IDictionary properties) { - IList assemblies = new List(elements.Count); + IList assemblies = new List(elements.Count); foreach (XmlElement element in elements) { assemblies.Add(GetAttributeValue(element, VelocityConstants.Name)); } diff --git a/src/Spring/Spring.Template.Velocity/Template/Velocity/VelocityEngineFactory.cs b/src/Spring/Spring.Template.Velocity/Template/Velocity/VelocityEngineFactory.cs index 1e19b372..71a53144 100644 --- a/src/Spring/Spring.Template.Velocity/Template/Velocity/VelocityEngineFactory.cs +++ b/src/Spring/Spring.Template.Velocity/Template/Velocity/VelocityEngineFactory.cs @@ -76,7 +76,7 @@ namespace Spring.Template.Velocity { private IDictionary velocityProperties = new Dictionary(); - private IList resourceLoaderPaths = new ArrayList(); + private IList resourceLoaderPaths = new List(); private IResourceLoader resourceLoader = new ConfigurableResourceLoader(); @@ -141,7 +141,8 @@ namespace Spring.Template.Velocity { /// /// /// - public IList ResourceLoaderPaths { + public IList ResourceLoaderPaths + { set { resourceLoaderPaths = value; } } @@ -287,12 +288,12 @@ namespace Spring.Template.Velocity { /// /// /// - protected void InitVelocityResourceLoader(VelocityEngine velocityEngine, ExtendedProperties extendedProperties, IList paths) { + protected void InitVelocityResourceLoader(VelocityEngine velocityEngine, ExtendedProperties extendedProperties, IList paths) { if (PreferFileSystemAccess) { // Try to load via the file system, fall back to SpringResourceLoader // (for hot detection of template changes, if possible). - IList resolvedPaths = new ArrayList(); + IList resolvedPaths = new List(); try { foreach (string path in paths) { IResource resource = ResourceLoader.GetResource(path); diff --git a/src/Spring/Spring.Testing.Microsoft/Testing/Microsoft/AbstractDependencyInjectionSpringContextTests.cs b/src/Spring/Spring.Testing.Microsoft/Testing/Microsoft/AbstractDependencyInjectionSpringContextTests.cs index bc11fd9c..2169cd22 100644 --- a/src/Spring/Spring.Testing.Microsoft/Testing/Microsoft/AbstractDependencyInjectionSpringContextTests.cs +++ b/src/Spring/Spring.Testing.Microsoft/Testing/Microsoft/AbstractDependencyInjectionSpringContextTests.cs @@ -19,13 +19,12 @@ #endregion using System; -using System.Collections; +using System.Collections.Generic; using System.Reflection; using Microsoft.VisualStudio.TestTools.UnitTesting; using Spring.Context; -using Spring.Context.Support; using Spring.Objects.Factory; using Spring.Objects.Factory.Config; using Spring.Objects.Factory.Support; @@ -231,7 +230,7 @@ namespace Spring.Testing.Microsoft ///
protected virtual void InitManagedVariableNames() { - ArrayList managedVarNames = new ArrayList(); + List managedVarNames = new List(); Type type = GetType(); do @@ -273,7 +272,7 @@ namespace Spring.Testing.Microsoft type = type.BaseType; } while (type != typeof (AbstractDependencyInjectionSpringContextTests)); - this.managedVariableNames = (string[]) managedVarNames.ToArray(typeof (string)); + this.managedVariableNames = managedVarNames.ToArray(); } private static bool IsProtectedInstanceField(FieldInfo field) diff --git a/src/Spring/Spring.Testing.Microsoft/Testing/Microsoft/AbstractSpringContextTests.cs b/src/Spring/Spring.Testing.Microsoft/Testing/Microsoft/AbstractSpringContextTests.cs index ed1d3c36..dcffac9b 100644 --- a/src/Spring/Spring.Testing.Microsoft/Testing/Microsoft/AbstractSpringContextTests.cs +++ b/src/Spring/Spring.Testing.Microsoft/Testing/Microsoft/AbstractSpringContextTests.cs @@ -156,7 +156,7 @@ namespace Spring.Testing.Microsoft } if (contextKey is string[]) { - return StringUtils.ArrayToCommaDelimitedString((string[]) contextKey); + return StringUtils.CollectionToCommaDelimitedString((string[])contextKey); } else { @@ -216,7 +216,7 @@ namespace Spring.Testing.Microsoft { if (logger.IsInfoEnabled) { - logger.Info("Loading config for: " + StringUtils.ArrayToCommaDelimitedString(locations)); + logger.Info("Loading config for: " + StringUtils.CollectionToCommaDelimitedString(locations)); } return new XmlApplicationContext(locations); } diff --git a/src/Spring/Spring.Testing.NUnit/Testing/Ado/SimpleAdoTestUtils.cs b/src/Spring/Spring.Testing.NUnit/Testing/Ado/SimpleAdoTestUtils.cs index 62b1ec14..dfebb50e 100644 --- a/src/Spring/Spring.Testing.NUnit/Testing/Ado/SimpleAdoTestUtils.cs +++ b/src/Spring/Spring.Testing.NUnit/Testing/Ado/SimpleAdoTestUtils.cs @@ -19,12 +19,14 @@ #endregion using System; -using System.Collections; +using System.Collections.Generic; using System.Data; using System.IO; using System.Reflection; using System.Text.RegularExpressions; + using Common.Logging; + using Spring.Core.IO; using Spring.Dao; using Spring.Data; @@ -153,7 +155,7 @@ namespace Spring.Testing.Ado blockDelimiter = BLOCKDELIM_ALL_EXP; } - ArrayList statements = new ArrayList(); + List statements = new List(); try { GetScriptBlocks(resource, statements, blockDelimiter); @@ -183,7 +185,7 @@ namespace Spring.Testing.Ado /// /// TBD /// - public static void GetScriptBlocks(EncodedResource encodedResource, IList blockCollector, params Regex[] blockDelimiterPatterns) + public static void GetScriptBlocks(EncodedResource encodedResource, IList blockCollector, params Regex[] blockDelimiterPatterns) { AssertUtils.ArgumentNotNull(blockCollector, "blockCollector"); @@ -209,7 +211,7 @@ namespace Spring.Testing.Ado } } - private static void Split(string text, Regex exp, IList blockCollector) + private static void Split(string text, Regex exp, IList blockCollector) { // string[] blocks = exp.Split(text); // foreach(string block in blocks) diff --git a/src/Spring/Spring.Testing.NUnit/Testing/NUnit/AbstractDependencyInjectionSpringContextTests.cs b/src/Spring/Spring.Testing.NUnit/Testing/NUnit/AbstractDependencyInjectionSpringContextTests.cs index d5171402..e2eaa67b 100644 --- a/src/Spring/Spring.Testing.NUnit/Testing/NUnit/AbstractDependencyInjectionSpringContextTests.cs +++ b/src/Spring/Spring.Testing.NUnit/Testing/NUnit/AbstractDependencyInjectionSpringContextTests.cs @@ -19,13 +19,12 @@ #endregion using System; -using System.Collections; +using System.Collections.Generic; using System.Reflection; using NUnit.Framework; using Spring.Context; -using Spring.Context.Support; using Spring.Objects.Factory; using Spring.Objects.Factory.Config; using Spring.Objects.Factory.Support; @@ -90,7 +89,7 @@ namespace Spring.Testing.NUnit /// /// Holds names of the fields that should be used for field injection. /// - protected string[] managedVariableNames; + protected IList managedVariableNames; private int loadCount = 0; /// @@ -231,7 +230,7 @@ namespace Spring.Testing.NUnit /// protected virtual void InitManagedVariableNames() { - ArrayList managedVarNames = new ArrayList(); + List managedVarNames = new List(); Type type = GetType(); do @@ -273,7 +272,7 @@ namespace Spring.Testing.NUnit type = type.BaseType; } while (type != typeof (AbstractDependencyInjectionSpringContextTests)); - this.managedVariableNames = (string[]) managedVarNames.ToArray(typeof (string)); + this.managedVariableNames = managedVarNames; } private static bool IsProtectedInstanceField(FieldInfo field) @@ -286,7 +285,7 @@ namespace Spring.Testing.NUnit ///
protected virtual void InjectProtectedVariables() { - for (int i = 0; i < this.managedVariableNames.Length; i++) + for (int i = 0; i < this.managedVariableNames.Count; i++) { string fieldName = this.managedVariableNames[i]; Object obj = null; diff --git a/src/Spring/Spring.Testing.NUnit/Testing/NUnit/AbstractSpringContextTests.cs b/src/Spring/Spring.Testing.NUnit/Testing/NUnit/AbstractSpringContextTests.cs index 8cbde4e1..b0e6f1e4 100644 --- a/src/Spring/Spring.Testing.NUnit/Testing/NUnit/AbstractSpringContextTests.cs +++ b/src/Spring/Spring.Testing.NUnit/Testing/NUnit/AbstractSpringContextTests.cs @@ -166,7 +166,7 @@ namespace Spring.Testing.NUnit } if (contextKey is string[]) { - return StringUtils.ArrayToCommaDelimitedString((string[]) contextKey); + return StringUtils.CollectionToCommaDelimitedString((string[])contextKey); } else { @@ -228,7 +228,7 @@ namespace Spring.Testing.NUnit { if (logger.IsInfoEnabled) { - logger.Info("Loading config for: " + StringUtils.ArrayToCommaDelimitedString(locations)); + logger.Info("Loading config for: " + StringUtils.CollectionToCommaDelimitedString(locations)); } return new XmlApplicationContext(locations); } diff --git a/src/Spring/Spring.Web.Mvc/SpringControllerFactory.cs b/src/Spring/Spring.Web.Mvc/SpringControllerFactory.cs index f36c2071..e1acf477 100644 --- a/src/Spring/Spring.Web.Mvc/SpringControllerFactory.cs +++ b/src/Spring/Spring.Web.Mvc/SpringControllerFactory.cs @@ -21,12 +21,10 @@ using System; using System.Web.Mvc; using System.Web.Routing; -using Spring.Objects.Factory; -using Spring.Core; + using Spring.Context; using Spring.Context.Support; using System.Linq; -using System.Collections; namespace Spring.Web.Mvc { @@ -116,7 +114,7 @@ namespace Spring.Web.Mvc var controllers = ApplicationContext.GetObjectsOfType(controllerType); if (controllers.Count > 0) { - controller = (IController)controllers.Cast().First().Value; + controller = (IController)controllers.First().Value; } } diff --git a/src/Spring/Spring.Web.Mvc3/SpringMvcDependencyResolver.cs b/src/Spring/Spring.Web.Mvc3/SpringMvcDependencyResolver.cs index 6210c6d1..42f660b6 100644 --- a/src/Spring/Spring.Web.Mvc3/SpringMvcDependencyResolver.cs +++ b/src/Spring/Spring.Web.Mvc3/SpringMvcDependencyResolver.cs @@ -74,7 +74,7 @@ namespace Spring.Web.Mvc var services = ApplicationContext.GetObjectsOfType(serviceType); if (services.Count > 0) { - service = services.Cast().First().Value; + service = services.First().Value; } } @@ -89,7 +89,7 @@ namespace Spring.Web.Mvc public IEnumerable GetServices(Type serviceType) { var services = ApplicationContext.GetObjectsOfType(serviceType); - return services.Values.Cast(); + return services.Values; } } } diff --git a/src/Spring/Spring.Web.Mvc4/SpringMvcDependencyResolver.cs b/src/Spring/Spring.Web.Mvc4/SpringMvcDependencyResolver.cs index 71297170..3b75bdff 100644 --- a/src/Spring/Spring.Web.Mvc4/SpringMvcDependencyResolver.cs +++ b/src/Spring/Spring.Web.Mvc4/SpringMvcDependencyResolver.cs @@ -74,7 +74,7 @@ namespace Spring.Web.Mvc var services = ApplicationContext.GetObjectsOfType(serviceType); if (services.Count > 0) { - service = services.Cast().First().Value; + service = services.First().Value; } } @@ -89,7 +89,7 @@ namespace Spring.Web.Mvc public IEnumerable GetServices(Type serviceType) { var services = ApplicationContext.GetObjectsOfType(serviceType); - return services.Values.Cast(); + return services.Values; } } } diff --git a/src/Spring/Spring.Web/Caching/AspNetCache.cs b/src/Spring/Spring.Web/Caching/AspNetCache.cs index ccef7676..92588e12 100644 --- a/src/Spring/Spring.Web/Caching/AspNetCache.cs +++ b/src/Spring/Spring.Web/Caching/AspNetCache.cs @@ -20,6 +20,7 @@ using System; using System.Collections; +using System.Collections.Generic; using System.Web; using System.Web.Caching; using Common.Logging; @@ -166,7 +167,7 @@ namespace Spring.Caching { get { - ArrayList keys = new ArrayList(); + List keys = new List(); foreach (DictionaryEntry entry in _cache) { diff --git a/src/Spring/Spring.Web/Context/Support/WebContextHandler.cs b/src/Spring/Spring.Web/Context/Support/WebContextHandler.cs index 535a11d7..e6d05617 100644 --- a/src/Spring/Spring.Web/Context/Support/WebContextHandler.cs +++ b/src/Spring/Spring.Web/Context/Support/WebContextHandler.cs @@ -21,13 +21,12 @@ #region Imports using System; -using System.IO; -using System.Reflection; -using System.Web; +using System.Collections.Generic; using System.Web.Configuration; -using System.Web.Hosting; using System.Xml; + using Common.Logging; + using Spring.Util; #endregion @@ -86,11 +85,10 @@ namespace Spring.Context.Support /// Nesting contexts in webapplications is done by explicitly declaring /// spring context sections for each directory. /// - protected override void CreateChildContexts(IApplicationContext parentContext, object configContext, - XmlNode[] childContexts) + protected override void CreateChildContexts(IApplicationContext parentContext, object configContext, IList childContexts) { // disable child contexts in webapps - if (childContexts.Length > 0) + if (childContexts.Count > 0) { throw ConfigurationUtils.CreateConfigurationException( String.Format("Nested Child Contexts are not allowed in Web Applications. Use Web.config hierarchy instead."), childContexts[0]); @@ -100,9 +98,7 @@ namespace Spring.Context.Support /// /// Handles web specific details of context instantiation. /// - protected override IApplicationContext InstantiateContext(IApplicationContext parent, object configContext, - string contextName, Type contextType, - bool caseSensitive, string[] resources) + protected override IApplicationContext InstantiateContext(IApplicationContext parent, object configContext, string contextName, Type contextType, bool caseSensitive, IList resources) { // ASP.NET may scavenge it's configuration section cache if memory usage is too high. // Thus a handler may be called more than once for the same context. @@ -124,8 +120,7 @@ namespace Spring.Context.Support if (!vpath.EndsWith("/")) vpath = vpath + "/"; using (new HttpContextSwitch(vpath)) { - return - base.InstantiateContext(parent, configContext, contextName, contextType, caseSensitive, resources); + return base.InstantiateContext(parent, configContext, contextName, contextType, caseSensitive, resources); } } diff --git a/src/Spring/Spring.Web/DataBinding/DataSourceItemFormatter.cs b/src/Spring/Spring.Web/DataBinding/DataSourceItemFormatter.cs index b3053c44..56b6f310 100644 --- a/src/Spring/Spring.Web/DataBinding/DataSourceItemFormatter.cs +++ b/src/Spring/Spring.Web/DataBinding/DataSourceItemFormatter.cs @@ -1,5 +1,6 @@ using System; using System.Collections; +using System.Collections.Generic; using System.Web.UI; namespace Spring.DataBinding @@ -45,7 +46,7 @@ namespace Spring.DataBinding /// The target object /// Variables to be used during binding /// The current binding's direction - public void SetBindingContext(object source, object target, IDictionary variables, BindingDirection direction) + public void SetBindingContext(object source, object target, IDictionary variables, BindingDirection direction) { // Extract dataSource from source object IEnumerable dataSource = DataBinder.GetPropertyValue(source, this._dataSourceFieldName) as IEnumerable; diff --git a/src/Spring/Spring.Web/DataBinding/HttpRequestBindingContainer.cs b/src/Spring/Spring.Web/DataBinding/HttpRequestBindingContainer.cs index 78189c5d..b8da1e79 100644 --- a/src/Spring/Spring.Web/DataBinding/HttpRequestBindingContainer.cs +++ b/src/Spring/Spring.Web/DataBinding/HttpRequestBindingContainer.cs @@ -1,5 +1,6 @@ using System; using System.Collections; +using System.Collections.Generic; using System.Collections.Specialized; using System.Reflection; using System.Web; @@ -85,18 +86,18 @@ namespace Spring.DataBinding /// Binds source object to target object. /// /// - /// The source object. + /// The source object. /// /// - /// The target object. + /// The target object. /// /// - /// Validation errors collection that type conversion errors should be added to. + /// Validation errors collection that type conversion errors should be added to. /// /// - /// Variables that should be used during expression evaluation. + /// Variables that should be used during expression evaluation. /// - public override void BindSourceToTarget(object source, object target, IValidationErrors validationErrors, IDictionary variables) + public override void BindSourceToTarget(object source, object target, IValidationErrors validationErrors, IDictionary variables) { NameValueCollection parameters = VirtualEnvironment.RequestParams; IList targetList = targetExpression.GetValue(target) as IList; @@ -110,7 +111,7 @@ namespace Spring.DataBinding int valueCount = parameters.GetValues(requestParams[0]).Length; for (int i = 0; i < valueCount; i++) { - IDictionary vars = new Hashtable(); + IDictionary vars = new Dictionary(); foreach (string paramName in requestParams) { vars[paramName] = parameters.GetValues(paramName)[i]; @@ -146,18 +147,18 @@ namespace Spring.DataBinding /// Binds target object to source object. /// /// - /// The source object. + /// The source object. /// /// - /// The target object. + /// The target object. /// /// - /// Validation errors collection that type conversion errors should be added to. + /// Validation errors collection that type conversion errors should be added to. /// /// - /// Variables that should be used during expression evaluation. + /// Variables that should be used during expression evaluation. /// - public override void BindTargetToSource(object source, object target, IValidationErrors validationErrors, IDictionary variables) + public override void BindTargetToSource(object source, object target, IValidationErrors validationErrors, IDictionary variables) { // can't bind to a read-only Request object... } diff --git a/src/Spring/Spring.Web/DataBinding/IBindingAwareFormatter.cs b/src/Spring/Spring.Web/DataBinding/IBindingAwareFormatter.cs index 2f5b4bad..50e541b0 100644 --- a/src/Spring/Spring.Web/DataBinding/IBindingAwareFormatter.cs +++ b/src/Spring/Spring.Web/DataBinding/IBindingAwareFormatter.cs @@ -1,4 +1,5 @@ using System.Collections; +using System.Collections.Generic; using Spring.Globalization; namespace Spring.DataBinding @@ -15,7 +16,7 @@ namespace Spring.DataBinding /// /// /// - void SetBindingContext(object source, object target, IDictionary variables, BindingDirection direction); + void SetBindingContext(object source, object target, IDictionary variables, BindingDirection direction); /// /// Clears the binding context of this formatter. /// diff --git a/src/Spring/Spring.Web/DataBinding/MultipleSelectionListControlBinding.cs b/src/Spring/Spring.Web/DataBinding/MultipleSelectionListControlBinding.cs index 916b9cec..c217787d 100644 --- a/src/Spring/Spring.Web/DataBinding/MultipleSelectionListControlBinding.cs +++ b/src/Spring/Spring.Web/DataBinding/MultipleSelectionListControlBinding.cs @@ -1,5 +1,6 @@ using System; using System.Collections; +using System.Collections.Generic; using System.Web.UI.WebControls; using Spring.DataBinding; using Spring.Globalization; @@ -35,7 +36,7 @@ namespace Spring.DataBinding /// /// Actually performs unbinding the ListControl's selected values into the target's /// - protected override void DoBindSourceToTarget(object source, object target, IDictionary variables) + protected override void DoBindSourceToTarget(object source, object target, IDictionary variables) { // retrieve targetlist IList targetList = this.GetTargetValue(target,variables) as IList; @@ -89,7 +90,7 @@ namespace Spring.DataBinding /// /// Actually performs binding the targetlist to the ListControl. /// - protected override void DoBindTargetToSource(object source, object target, IDictionary variables) + protected override void DoBindTargetToSource(object source, object target, IDictionary variables) { // retrieve targetlist IList targetList = this.GetTargetValue(target, variables) as IList; @@ -147,7 +148,7 @@ namespace Spring.DataBinding /// /// Setting source value is not allowed in this bindingType. /// - protected override void SetSourceValue(object source, object value, IDictionary variables) + protected override void SetSourceValue(object source, object value, IDictionary variables) { throw new InvalidOperationException(string.Format("Setting source value in '{0}' is not allowed.",this.GetType().FullName)); } @@ -155,7 +156,7 @@ namespace Spring.DataBinding /// /// Setting target value is not allowed in this bindingType. /// - protected override void SetTargetValue(object target, object value, IDictionary variables) + protected override void SetTargetValue(object target, object value, IDictionary variables) { throw new InvalidOperationException(string.Format("Setting target value in '{0}' is not allowed.", this.GetType().FullName)); } diff --git a/src/Spring/Spring.Web/Globalization/AspNetResourceCache.cs b/src/Spring/Spring.Web/Globalization/AspNetResourceCache.cs index 01b2c260..d3f36f6d 100644 --- a/src/Spring/Spring.Web/Globalization/AspNetResourceCache.cs +++ b/src/Spring/Spring.Web/Globalization/AspNetResourceCache.cs @@ -19,6 +19,7 @@ #endregion using System.Collections; +using System.Collections.Generic; using System.Web; using System.Web.Caching; @@ -35,9 +36,9 @@ namespace Spring.Globalization /// /// Cache key to use for lookup. /// A list of cached resources for the specified target object and culture. - protected override IList GetResources(string cacheKey) + protected override IList GetResources(string cacheKey) { - return (IList)HttpRuntime.Cache[cacheKey]; + return (IList)HttpRuntime.Cache[cacheKey]; } /// @@ -45,7 +46,7 @@ namespace Spring.Globalization /// /// Cache key to use for the specified resources. /// A list of resources to cache. - protected override void PutResources(string cacheKey, IList resources) + protected override void PutResources(string cacheKey, IList resources) { HttpRuntime.Cache[cacheKey] = resources; } diff --git a/src/Spring/Spring.Web/Objects/Factory/Xml/WebObjectDefinitionParserHelper.cs b/src/Spring/Spring.Web/Objects/Factory/Xml/WebObjectDefinitionParserHelper.cs index bd3183fc..7d24d72d 100644 --- a/src/Spring/Spring.Web/Objects/Factory/Xml/WebObjectDefinitionParserHelper.cs +++ b/src/Spring/Spring.Web/Objects/Factory/Xml/WebObjectDefinitionParserHelper.cs @@ -19,6 +19,7 @@ #endregion using System; +using System.Collections.Generic; using System.Xml; using Spring.Objects.Factory.Config; using Spring.Objects.Factory.Support; @@ -47,7 +48,7 @@ namespace Spring.Objects.Factory.Xml this.webObjectNameGenerator = webObjectNameGenerator; } - protected override string PostProcessObjectNameAndAliases(string objectName, System.Collections.ArrayList aliases, XmlElement element, IObjectDefinition containingDefinition) + protected override string PostProcessObjectNameAndAliases(string objectName, List aliases, XmlElement element, IObjectDefinition containingDefinition) { string url = element.GetAttribute(ObjectDefinitionConstants.TypeAttribute); string strTypeName = url.ToLower(); @@ -84,7 +85,7 @@ namespace Spring.Objects.Factory.Xml return objectName; } - protected override ObjectDefinitionHolder CreateObjectDefinitionHolder(XmlElement element, IConfigurableObjectDefinition definition, string objectName, string[] aliasesArray) + protected override ObjectDefinitionHolder CreateObjectDefinitionHolder(XmlElement element, IConfigurableObjectDefinition definition, string objectName, IList aliasesArray) { IWebObjectDefinition webDefinition = definition as IWebObjectDefinition; diff --git a/src/Spring/Spring.Web/Web/Support/ContextMonitor.cs b/src/Spring/Spring.Web/Web/Support/ContextMonitor.cs index f1a55b80..1f2fc0c0 100644 --- a/src/Spring/Spring.Web/Web/Support/ContextMonitor.cs +++ b/src/Spring/Spring.Web/Web/Support/ContextMonitor.cs @@ -19,6 +19,7 @@ #endregion using System; +using System.Collections.Generic; using System.IO; using System.Web; @@ -67,7 +68,7 @@ namespace Spring.Web.Support "Implementations of IApplicationContext must also implement IConfigurableApplicationContext"); } - string[] names = appContext.GetObjectDefinitionNames(); + IList names = appContext.GetObjectDefinitionNames(); foreach (string name in names) { RenderObjectDefinition(res.Output, name, appContext.ObjectFactory.GetObjectDefinition(name)); diff --git a/src/Spring/Spring.Web/Web/Support/MimeMediaType.cs b/src/Spring/Spring.Web/Web/Support/MimeMediaType.cs index de9e09dd..6ea5cb7b 100644 --- a/src/Spring/Spring.Web/Web/Support/MimeMediaType.cs +++ b/src/Spring/Spring.Web/Web/Support/MimeMediaType.cs @@ -21,7 +21,8 @@ #region Imports using System; -using System.Collections; +using System.Collections.Generic; + using Spring.Util; #endregion @@ -34,7 +35,7 @@ namespace Spring.Web.Support /// Erich Eichinger public class MimeMediaType { - private static readonly ArrayList ContentTypes = new ArrayList( new string[] { + private static readonly List ContentTypes = new List( new string[] { "application", "audio", "example", "image", "message", "model", "multipart", "text", "video" }); diff --git a/src/Spring/Spring.Web/Web/Support/SharedStateResourceCache.cs b/src/Spring/Spring.Web/Web/Support/SharedStateResourceCache.cs index 23d97564..14f51274 100644 --- a/src/Spring/Spring.Web/Web/Support/SharedStateResourceCache.cs +++ b/src/Spring/Spring.Web/Web/Support/SharedStateResourceCache.cs @@ -21,6 +21,7 @@ #region Imports using System.Collections; +using System.Collections.Generic; using Spring.Globalization; using Spring.Objects; using Spring.Util; @@ -52,9 +53,9 @@ namespace Spring.Web.Support /// /// Cache key to use for lookup. /// A list of cached resources for the specified target object and culture. - protected override IList GetResources(string cacheKey) + protected override IList GetResources(string cacheKey) { - return (IList) this.sharedStateHolder.SharedState[cacheKey]; + return (IList)this.sharedStateHolder.SharedState[cacheKey]; } /// @@ -62,7 +63,7 @@ namespace Spring.Web.Support /// /// Cache key to use for the specified resources. /// A list of resources to cache. - protected override void PutResources(string cacheKey, IList resources) + protected override void PutResources(string cacheKey, IList resources) { this.sharedStateHolder.SharedState[cacheKey] = resources; } diff --git a/src/Spring/Spring.Web/Web/UI/Controls/AbstractValidationControl.cs b/src/Spring/Spring.Web/Web/UI/Controls/AbstractValidationControl.cs index 86023de5..8d82eaf6 100644 --- a/src/Spring/Spring.Web/Web/UI/Controls/AbstractValidationControl.cs +++ b/src/Spring/Spring.Web/Web/UI/Controls/AbstractValidationControl.cs @@ -20,6 +20,7 @@ using System; using System.Collections; +using System.Collections.Generic; using System.Web.UI; using Spring.Context; using Spring.Util; @@ -244,9 +245,9 @@ namespace Spring.Web.UI.Controls /// /// /// a list containing elements. May return null - protected virtual IList ResolveErrorMessages() + protected virtual IList ResolveErrorMessages() { - IList errorMessages; + IList errorMessages; // good catch - idea & patch from Roberto Paterlini if (DesignMode) @@ -272,9 +273,7 @@ namespace Spring.Web.UI.Controls /// protected override void Render(HtmlTextWriter writer) { - IList errorMessages; - - errorMessages = ResolveErrorMessages(); + IList errorMessages = ResolveErrorMessages(); Renderer.RenderErrors(Page as Page, writer, errorMessages); } diff --git a/src/Spring/Spring.Web/Web/UI/Controls/CheckBoxList.cs b/src/Spring/Spring.Web/Web/UI/Controls/CheckBoxList.cs index b0157e1b..5ddb4974 100644 --- a/src/Spring/Spring.Web/Web/UI/Controls/CheckBoxList.cs +++ b/src/Spring/Spring.Web/Web/UI/Controls/CheckBoxList.cs @@ -20,8 +20,7 @@ #region Imports -using System.Collections; -using System.Web.UI; +using System.Collections.Generic; using System.Web.UI.WebControls; #endregion @@ -44,12 +43,12 @@ namespace Spring.Web.UI.Controls { get { - ArrayList vals = new ArrayList(); + List vals = new List(); foreach( ListItem item in this.Items ) { if (item.Selected) vals.Add(item.Value); } - return (string[]) vals.ToArray(typeof (string)); + return vals.ToArray(); } set { @@ -59,8 +58,8 @@ namespace Spring.Web.UI.Controls } else { - ArrayList vals = new ArrayList(value); - foreach(ListItem item in this.Items) + List vals = new List(); + foreach (ListItem item in this.Items) { item.Selected = (vals.Contains(item.Value)); } diff --git a/src/Spring/Spring.Web/Web/UI/Controls/LocalizedImage.cs b/src/Spring/Spring.Web/Web/UI/Controls/LocalizedImage.cs index 4dfb66fa..f74c98be 100644 --- a/src/Spring/Spring.Web/Web/UI/Controls/LocalizedImage.cs +++ b/src/Spring/Spring.Web/Web/UI/Controls/LocalizedImage.cs @@ -19,7 +19,7 @@ #endregion using System; -using System.Collections; +using System.Collections.Generic; using System.IO; namespace Spring.Web.UI.Controls @@ -64,19 +64,19 @@ namespace Spring.Web.UI.Controls private string DetermineLocalizedUrl() { - ArrayList localeParts = new ArrayList(Page.UserCulture.Name.Split('-')); + List localeParts = new List(Page.UserCulture.Name.Split('-')); while (localeParts.Count > 0 && !FileExists(localeParts)) { localeParts.RemoveAt(localeParts.Count - 1); } - string locale = String.Join("-", (string[]) localeParts.ToArray(typeof(string))); + string locale = String.Join("-", localeParts.ToArray()); return Page.ImagesRoot + (locale.Length > 0 ? "/" + locale : "") + "/" + this.ImageName; } - private bool FileExists(ArrayList localeParts) + private bool FileExists(List localeParts) { - string locale = String.Join("-", (string[]) localeParts.ToArray(typeof(string))); + string locale = String.Join("-", localeParts.ToArray()); string url = Page.ImagesRoot + "/" + locale + "/" + this.ImageName; return File.Exists(Page.Server.MapPath(url)); } diff --git a/src/Spring/Spring.Web/Web/UI/Controls/RadioButtonGroup.cs b/src/Spring/Spring.Web/Web/UI/Controls/RadioButtonGroup.cs index 01de4c2e..36272892 100644 --- a/src/Spring/Spring.Web/Web/UI/Controls/RadioButtonGroup.cs +++ b/src/Spring/Spring.Web/Web/UI/Controls/RadioButtonGroup.cs @@ -20,6 +20,7 @@ using System; using System.Collections; +using System.Collections.Generic; using System.Collections.Specialized; using System.ComponentModel; using System.Web.UI; @@ -40,7 +41,7 @@ namespace Spring.Web.UI.Controls { private static readonly object EventSelectionChanged = new object(); - private ArrayList options = new ArrayList(); + private List options = new List(); /// /// Overloaded to track addition of contained controls. diff --git a/src/Spring/Spring.Web/Web/UI/MasterPage.cs b/src/Spring/Spring.Web/Web/UI/MasterPage.cs index bed54222..bbe409c7 100644 --- a/src/Spring/Spring.Web/Web/UI/MasterPage.cs +++ b/src/Spring/Spring.Web/Web/UI/MasterPage.cs @@ -22,6 +22,7 @@ using System; using System.Collections; +using System.Collections.Generic; using System.Collections.Specialized; using System.Web.UI; using Spring.Collections; @@ -521,7 +522,7 @@ namespace Spring.Web.UI /// public virtual bool Validate(object validationContext, params IValidator[] validators) { - IDictionary contextParams = CreateValidatorParameters(); + IDictionary contextParams = CreateValidatorParameters(); bool result = true; foreach (IValidator validator in validators) { @@ -559,9 +560,9 @@ namespace Spring.Web.UI /// Dictionary containing parameters that should be passed to /// the data validation framework. /// - protected virtual IDictionary CreateValidatorParameters() + protected virtual IDictionary CreateValidatorParameters() { - IDictionary parameters = new ListDictionary(); + IDictionary parameters = new Dictionary(8); parameters["page"] = this.Page; parameters["usercontrol"] = this; parameters["session"] = this.Session; diff --git a/src/Spring/Spring.Web/Web/UI/Page.cs b/src/Spring/Spring.Web/Web/UI/Page.cs index edf5122a..9d27c960 100644 --- a/src/Spring/Spring.Web/Web/UI/Page.cs +++ b/src/Spring/Spring.Web/Web/UI/Page.cs @@ -22,6 +22,7 @@ using System; using System.Collections; +using System.Collections.Generic; using System.Collections.Specialized; using System.ComponentModel; using System.Globalization; @@ -1048,7 +1049,7 @@ namespace Spring.Web.UI /// public bool Validate( object validationContext, params IValidator[] validators ) { - IDictionary contextParams = CreateValidatorParameters(); + IDictionary contextParams = CreateValidatorParameters(); bool result = true; foreach (IValidator validator in validators) { @@ -1091,9 +1092,9 @@ namespace Spring.Web.UI /// Dictionary containing parameters that should be passed to /// the data validation framework. /// - protected virtual IDictionary CreateValidatorParameters() + protected virtual IDictionary CreateValidatorParameters() { - IDictionary parameters = new ListDictionary(); + IDictionary parameters = new Dictionary(); parameters["page"] = this; parameters["session"] = this.Session; parameters["application"] = this.Application; diff --git a/src/Spring/Spring.Web/Web/UI/UserControl.cs b/src/Spring/Spring.Web/Web/UI/UserControl.cs index 430cb017..5423ef9b 100644 --- a/src/Spring/Spring.Web/Web/UI/UserControl.cs +++ b/src/Spring/Spring.Web/Web/UI/UserControl.cs @@ -22,6 +22,7 @@ using System; using System.Collections; +using System.Collections.Generic; using System.Collections.Specialized; using System.ComponentModel; using System.Globalization; @@ -630,7 +631,7 @@ namespace Spring.Web.UI /// public bool Validate( object validationContext, params IValidator[] validators ) { - IDictionary contextParams = CreateValidatorParameters(); + IDictionary contextParams = CreateValidatorParameters(); bool result = true; foreach (IValidator validator in validators) { @@ -673,9 +674,9 @@ namespace Spring.Web.UI /// Dictionary containing parameters that should be passed to /// the data validation framework. /// - protected virtual IDictionary CreateValidatorParameters() + protected virtual IDictionary CreateValidatorParameters() { - IDictionary parameters = new ListDictionary(); + IDictionary parameters = new Dictionary(8); parameters["page"] = this.Page; parameters["usercontrol"] = this; parameters["session"] = this.Session; diff --git a/src/Spring/Spring.Web/Web/UI/Validation/AbstractValidationErrorsRenderer.cs b/src/Spring/Spring.Web/Web/UI/Validation/AbstractValidationErrorsRenderer.cs index c4c6b5db..1285cb06 100644 --- a/src/Spring/Spring.Web/Web/UI/Validation/AbstractValidationErrorsRenderer.cs +++ b/src/Spring/Spring.Web/Web/UI/Validation/AbstractValidationErrorsRenderer.cs @@ -19,6 +19,7 @@ #endregion using System.Collections; +using System.Collections.Generic; using System.Web.UI; using Page=Spring.Web.UI.Page; @@ -50,6 +51,6 @@ namespace Spring.Web.UI.Validation /// Web form instance. /// An HTML writer to use. /// The list of validation errors. - public abstract void RenderErrors(Page page, HtmlTextWriter writer, IList errors); + public abstract void RenderErrors(Page page, HtmlTextWriter writer, IList errors); } } \ No newline at end of file diff --git a/src/Spring/Spring.Web/Web/UI/Validation/DivValidationErrorsRenderer.cs b/src/Spring/Spring.Web/Web/UI/Validation/DivValidationErrorsRenderer.cs index be66ea6c..b64b4a41 100644 --- a/src/Spring/Spring.Web/Web/UI/Validation/DivValidationErrorsRenderer.cs +++ b/src/Spring/Spring.Web/Web/UI/Validation/DivValidationErrorsRenderer.cs @@ -19,6 +19,7 @@ #endregion using System.Collections; +using System.Collections.Generic; using System.Web.UI; using Spring.Web.UI.Validation; using Page=Spring.Web.UI.Page; @@ -44,7 +45,7 @@ namespace Spring.Web.UI.Validation /// Web form instance. /// An HTML writer to use. /// The list of validation errors. - public override void RenderErrors(Page page, HtmlTextWriter writer, IList errors) + public override void RenderErrors(Page page, HtmlTextWriter writer, IList errors) { if (CssClass != null) { diff --git a/src/Spring/Spring.Web/Web/UI/Validation/IValidationErrorsRenderer.cs b/src/Spring/Spring.Web/Web/UI/Validation/IValidationErrorsRenderer.cs index 0f533f89..8a0c4bae 100644 --- a/src/Spring/Spring.Web/Web/UI/Validation/IValidationErrorsRenderer.cs +++ b/src/Spring/Spring.Web/Web/UI/Validation/IValidationErrorsRenderer.cs @@ -19,6 +19,7 @@ #endregion using System.Collections; +using System.Collections.Generic; using System.Web.UI; using Spring.Web.UI.Controls; @@ -51,6 +52,6 @@ namespace Spring.Web.UI.Validation /// Web form instance. /// An HTML writer to use. /// The list of validation errors. - void RenderErrors(Page page, HtmlTextWriter writer, IList errors); + void RenderErrors(Page page, HtmlTextWriter writer, IList errors); } } \ No newline at end of file diff --git a/src/Spring/Spring.Web/Web/UI/Validation/IconValidationErrorsRenderer.cs b/src/Spring/Spring.Web/Web/UI/Validation/IconValidationErrorsRenderer.cs index 529793db..91f38059 100644 --- a/src/Spring/Spring.Web/Web/UI/Validation/IconValidationErrorsRenderer.cs +++ b/src/Spring/Spring.Web/Web/UI/Validation/IconValidationErrorsRenderer.cs @@ -18,11 +18,9 @@ #endregion -using System.Collections; +using System.Collections.Generic; using System.Text; using System.Web.UI; -using Spring.Web.UI.Validation; -using Page=Spring.Web.UI.Page; namespace Spring.Web.UI.Validation { @@ -63,7 +61,7 @@ namespace Spring.Web.UI.Validation /// Web form instance. /// An HTML writer to use. /// The list of validation errors. - public override void RenderErrors(Page page, HtmlTextWriter writer, IList errors) + public override void RenderErrors(Page page, HtmlTextWriter writer, IList errors) { if (errors != null && errors.Count > 0) { diff --git a/src/Spring/Spring.Web/Web/UI/Validation/SpanValidationErrorsRenderer.cs b/src/Spring/Spring.Web/Web/UI/Validation/SpanValidationErrorsRenderer.cs index 32d0dfb1..5d22bbcf 100644 --- a/src/Spring/Spring.Web/Web/UI/Validation/SpanValidationErrorsRenderer.cs +++ b/src/Spring/Spring.Web/Web/UI/Validation/SpanValidationErrorsRenderer.cs @@ -19,6 +19,7 @@ #endregion using System.Collections; +using System.Collections.Generic; using System.Web.UI; using Spring.Web.UI.Controls; @@ -46,7 +47,7 @@ namespace Spring.Web.UI.Validation /// Web form instance. /// An HTML writer to use. /// The list of validation errors. - public override void RenderErrors(Page page, HtmlTextWriter writer, IList errors) + public override void RenderErrors(Page page, HtmlTextWriter writer, IList errors) { if (errors != null && errors.Count > 0) { diff --git a/test/Spring/Spring.Aop.Tests/Aop/Config/AopNamespaceParserTests.cs b/test/Spring/Spring.Aop.Tests/Aop/Config/AopNamespaceParserTests.cs index 206bc5eb..69867053 100644 --- a/test/Spring/Spring.Aop.Tests/Aop/Config/AopNamespaceParserTests.cs +++ b/test/Spring/Spring.Aop.Tests/Aop/Config/AopNamespaceParserTests.cs @@ -20,9 +20,11 @@ #region Imports +using System.Collections.Generic; + using NUnit.Framework; + using Spring.Aop.Framework; -using Spring.Aop.Framework.DynamicProxy; using Spring.Context; using Spring.Context.Support; using Spring.Objects; @@ -70,8 +72,8 @@ namespace Spring.Aop.Config IAdvised advised = testObject as IAdvised; Assert.IsNotNull(advised); - IAdvisor[] advisors = advised.Advisors; - Assert.IsTrue(advisors.Length > 0, "Advisors should not be empty"); + IList advisors = advised.Advisors; + Assert.IsTrue(advisors.Count > 0, "Advisors should not be empty"); } diff --git a/test/Spring/Spring.Aop.Tests/Aop/Framework/Adapter/AdvisorAdapterRegistrationTests.cs b/test/Spring/Spring.Aop.Tests/Aop/Framework/Adapter/AdvisorAdapterRegistrationTests.cs index 1cce8faf..8806a520 100644 --- a/test/Spring/Spring.Aop.Tests/Aop/Framework/Adapter/AdvisorAdapterRegistrationTests.cs +++ b/test/Spring/Spring.Aop.Tests/Aop/Framework/Adapter/AdvisorAdapterRegistrationTests.cs @@ -17,16 +17,14 @@ #endregion #region Imports -using System; -using System.Text; using NUnit.Framework; -using Spring.Aop; using Spring.Context; using Spring.Context.Support; using Spring.Objects; using Spring.Objects.Factory.Xml; + #endregion namespace Spring.Aop.Framework.Adapter diff --git a/test/Spring/Spring.Aop.Tests/Aop/Framework/Adapter/UnknownAdviceTypeExceptionTests.cs b/test/Spring/Spring.Aop.Tests/Aop/Framework/Adapter/UnknownAdviceTypeExceptionTests.cs index 46ca2191..b2e750c6 100644 --- a/test/Spring/Spring.Aop.Tests/Aop/Framework/Adapter/UnknownAdviceTypeExceptionTests.cs +++ b/test/Spring/Spring.Aop.Tests/Aop/Framework/Adapter/UnknownAdviceTypeExceptionTests.cs @@ -20,8 +20,6 @@ #region Imports -using System; - using NUnit.Framework; #endregion diff --git a/test/Spring/Spring.Aop.Tests/Aop/Framework/AutoProxy/AbstractAdvisorAutoProxyCreatorTests.cs b/test/Spring/Spring.Aop.Tests/Aop/Framework/AutoProxy/AbstractAdvisorAutoProxyCreatorTests.cs index 0f9c5b22..fd412d51 100644 --- a/test/Spring/Spring.Aop.Tests/Aop/Framework/AutoProxy/AbstractAdvisorAutoProxyCreatorTests.cs +++ b/test/Spring/Spring.Aop.Tests/Aop/Framework/AutoProxy/AbstractAdvisorAutoProxyCreatorTests.cs @@ -1,25 +1,26 @@ #region License -/* - * Copyright 2002-2010 the original author or authors. - * - * 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. +/* + * Copyright 2002-2010 the original author or authors. + * + * 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. */ #endregion using System; using System.Collections; +using System.Collections.Generic; using AopAlliance.Aop; using NUnit.Framework; using Spring.Objects.Factory.Config; @@ -37,7 +38,7 @@ namespace Spring.Aop.Framework.AutoProxy { public ArrayList CheckedAdvisors = new ArrayList(); - public object[] GetAdvicesAndAdvisorsForObject(Type targetType, string targetName) + public IList GetAdvicesAndAdvisorsForObject(Type targetType, string targetName) { return base.GetAdvicesAndAdvisorsForObject(targetType, targetName, null); } @@ -87,8 +88,8 @@ namespace Spring.Aop.Framework.AutoProxy TestAdvisorAutoProxyCreator apc = new TestAdvisorAutoProxyCreator(); apc.ObjectFactory = of; - object[] advisors = apc.GetAdvicesAndAdvisorsForObject(typeof (object), "dummyTarget"); - Assert.AreEqual(1, advisors.Length); + IList advisors = apc.GetAdvicesAndAdvisorsForObject(typeof (object), "dummyTarget"); + Assert.AreEqual(1, advisors.Count); Assert.AreEqual( "RegularAdvisor", ((TestAdvisor)advisors[0]).Name ); Assert.AreEqual(1, apc.CheckedAdvisors.Count); diff --git a/test/Spring/Spring.Aop.Tests/Aop/Framework/AutoProxy/AbstractAutoProxyCreatorTests.cs b/test/Spring/Spring.Aop.Tests/Aop/Framework/AutoProxy/AbstractAutoProxyCreatorTests.cs index 0730c08d..318a1928 100644 --- a/test/Spring/Spring.Aop.Tests/Aop/Framework/AutoProxy/AbstractAutoProxyCreatorTests.cs +++ b/test/Spring/Spring.Aop.Tests/Aop/Framework/AutoProxy/AbstractAutoProxyCreatorTests.cs @@ -1,24 +1,25 @@ #region License -/* - * Copyright 2002-2010 the original author or authors. - * - * 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. +/* + * Copyright 2002-2010 the original author or authors. + * + * 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. */ #endregion using System; +using System.Collections.Generic; using System.Runtime.Remoting; using System.Runtime.Remoting.Messaging; using System.Runtime.Remoting.Proxies; @@ -120,13 +121,13 @@ namespace Spring.Aop.Framework.AutoProxy this.ObjectFactory = objectFactory; } - protected override object[] GetAdvicesAndAdvisorsForObject(Type targetType, string targetName, ITargetSource customTargetSource) + protected override IList GetAdvicesAndAdvisorsForObject(Type targetType, string targetName, ITargetSource customTargetSource) { if (typeof(IFactoryObject).IsAssignableFrom(targetType)) { return DO_NOT_PROXY; } - return new object[] { NopInterceptor }; + return new List { NopInterceptor }; } } diff --git a/test/Spring/Spring.Aop.Tests/Aop/Framework/AutoProxy/AdvisorAutoProxyCreatorCircularReferencesTests.cs b/test/Spring/Spring.Aop.Tests/Aop/Framework/AutoProxy/AdvisorAutoProxyCreatorCircularReferencesTests.cs index 452ae41f..6598d9ef 100644 --- a/test/Spring/Spring.Aop.Tests/Aop/Framework/AutoProxy/AdvisorAutoProxyCreatorCircularReferencesTests.cs +++ b/test/Spring/Spring.Aop.Tests/Aop/Framework/AutoProxy/AdvisorAutoProxyCreatorCircularReferencesTests.cs @@ -21,10 +21,13 @@ #region Imports using System; +using System.Collections.Generic; using System.Reflection; + using Common.Logging; + using NUnit.Framework; -using Spring.Aop.Framework.DynamicProxy; + using Spring.Aop.Support; using Spring.Context.Support; using Spring.Objects; @@ -91,10 +94,10 @@ namespace Spring.Aop.Framework.AutoProxy _logger.Trace("Created instance"); } - protected override object[] GetAdvicesAndAdvisorsForObject(Type targetType, string targetName, ITargetSource customTargetSource) + protected override IList GetAdvicesAndAdvisorsForObject(Type targetType, string targetName, ITargetSource customTargetSource) { _logger.Trace("GetAdvicesAndAdvisorsForObject begin"); - object[] advices = base.GetAdvicesAndAdvisorsForObject(targetType, targetName, customTargetSource); + IList advices = base.GetAdvicesAndAdvisorsForObject(targetType, targetName, customTargetSource); _logger.Trace("GetAdvicesAndAdvisorsForObject end"); return advices; } diff --git a/test/Spring/Spring.Aop.Tests/Aop/Framework/AutoProxy/AdvisorAutoProxyCreatorTests.cs b/test/Spring/Spring.Aop.Tests/Aop/Framework/AutoProxy/AdvisorAutoProxyCreatorTests.cs index 972ca7e4..ca9bd976 100644 --- a/test/Spring/Spring.Aop.Tests/Aop/Framework/AutoProxy/AdvisorAutoProxyCreatorTests.cs +++ b/test/Spring/Spring.Aop.Tests/Aop/Framework/AutoProxy/AdvisorAutoProxyCreatorTests.cs @@ -21,7 +21,7 @@ #region Imports using NUnit.Framework; -using Spring.Aop.Framework.DynamicProxy; + using Spring.Context.Support; using Spring.Objects; using Spring.Objects.Factory; diff --git a/test/Spring/Spring.Aop.Tests/Aop/Framework/AutoProxy/AttributeAutoProxyCreatorTests.cs b/test/Spring/Spring.Aop.Tests/Aop/Framework/AutoProxy/AttributeAutoProxyCreatorTests.cs index 1ebe12a8..fe22d7ef 100644 --- a/test/Spring/Spring.Aop.Tests/Aop/Framework/AutoProxy/AttributeAutoProxyCreatorTests.cs +++ b/test/Spring/Spring.Aop.Tests/Aop/Framework/AutoProxy/AttributeAutoProxyCreatorTests.cs @@ -21,9 +21,10 @@ #region Imports using System; + using NUnit.Framework; + using Spring.Objects; -using Spring.Stereotype; #endregion diff --git a/test/Spring/Spring.Aop.Tests/Aop/Framework/AutoProxy/InfrastructureAdvisorAutoProxyCreator.cs b/test/Spring/Spring.Aop.Tests/Aop/Framework/AutoProxy/InfrastructureAdvisorAutoProxyCreator.cs index 4fa6fe12..0617325a 100644 --- a/test/Spring/Spring.Aop.Tests/Aop/Framework/AutoProxy/InfrastructureAdvisorAutoProxyCreator.cs +++ b/test/Spring/Spring.Aop.Tests/Aop/Framework/AutoProxy/InfrastructureAdvisorAutoProxyCreator.cs @@ -1,24 +1,25 @@ #region License -/* - * Copyright 2002-2010 the original author or authors. - * - * 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. +/* + * Copyright 2002-2010 the original author or authors. + * + * 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. */ #endregion using System; +using System.Collections.Generic; using AopAlliance.Aop; using NUnit.Framework; using Spring.Objects.Factory.Config; @@ -34,7 +35,7 @@ namespace Spring.Aop.Framework.AutoProxy { public class TestAdvisorAutoProxyCreator : InfrastructureAdvisorAutoProxyCreator { - public object[] GetAdvicesAndAdvisorsForObject(Type targetType, string targetName) + public IList GetAdvicesAndAdvisorsForObject(Type targetType, string targetName) { return base.GetAdvicesAndAdvisorsForObject(targetType, targetName, null); } @@ -78,8 +79,8 @@ namespace Spring.Aop.Framework.AutoProxy TestAdvisorAutoProxyCreator apc = new TestAdvisorAutoProxyCreator(); apc.ObjectFactory = of; - object[] advisors = apc.GetAdvicesAndAdvisorsForObject(typeof(object), "dummyTarget"); - Assert.AreEqual(1, advisors.Length); + IList advisors = apc.GetAdvicesAndAdvisorsForObject(typeof(object), "dummyTarget"); + Assert.AreEqual(1, advisors.Count); Assert.AreEqual("InfrastructureAdvisor", ((TestAdvisor)advisors[0]).Name); } } diff --git a/test/Spring/Spring.Aop.Tests/Aop/Framework/DynamicProxy/AbstractAopProxyTests.cs b/test/Spring/Spring.Aop.Tests/Aop/Framework/DynamicProxy/AbstractAopProxyTests.cs index fd2f7138..0d5c0b55 100644 --- a/test/Spring/Spring.Aop.Tests/Aop/Framework/DynamicProxy/AbstractAopProxyTests.cs +++ b/test/Spring/Spring.Aop.Tests/Aop/Framework/DynamicProxy/AbstractAopProxyTests.cs @@ -1222,7 +1222,7 @@ namespace Spring.Aop.Framework.DynamicProxy IAdvised a1 = (IAdvised)p; IAdvised a2 = (IAdvised)p2; // Check we can manipulate state of p2 - Assert.AreEqual(a1.Advisors.Length, a2.Advisors.Length); + Assert.AreEqual(a1.Advisors.Count, a2.Advisors.Count); // This should work as SerializablePerson is equal Assert.AreEqual(p, p2, "Proxies should be equal, even after one was serialized"); @@ -1706,7 +1706,7 @@ namespace Spring.Aop.Framework.DynamicProxy Assert.AreEqual(2, ni.Count); IAdvised advised = (IAdvised)ito; - Assert.AreEqual(1, advised.Advisors.Length, "Have 1 advisor"); + Assert.AreEqual(1, advised.Advisors.Count, "Have 1 advisor"); Assert.AreEqual(ni, advised.Advisors[0].Advice); NopInterceptor ni2 = new NopInterceptor(); advised.AddAdvice(1, ni2); @@ -1750,7 +1750,7 @@ namespace Spring.Aop.Framework.DynamicProxy // Check it still works: proxy factory state shouldn't have been corrupted Assert.AreEqual(target.Age, proxied.Age); - Assert.AreEqual(1, ((IAdvised)proxied).Advisors.Length); + Assert.AreEqual(1, ((IAdvised)proxied).Advisors.Count); } [Test(Description = "Check that casting to Advised can't get around advice freeze.")] @@ -1778,7 +1778,7 @@ namespace Spring.Aop.Framework.DynamicProxy // Check it still works: proxy factory state shouldn't have been corrupted Assert.AreEqual(target.Age, proxied.Age); - Assert.AreEqual(1, advised.Advisors.Length); + Assert.AreEqual(1, advised.Advisors.Count); } [Test] @@ -1805,13 +1805,13 @@ namespace Spring.Aop.Framework.DynamicProxy } // Didn't get removed - Assert.AreEqual(1, advised.Advisors.Length); + Assert.AreEqual(1, advised.Advisors.Count); pf.IsFrozen = false; // Can now remove it advised.RemoveAdvisor(0); // Check it still works: proxy factory state shouldn't have been corrupted Assert.AreEqual(target.Age, proxied.Age); - Assert.AreEqual(0, advised.Advisors.Length); + Assert.AreEqual(0, advised.Advisors.Count); } [Test(Description = "Check that the string is informative.")] diff --git a/test/Spring/Spring.Aop.Tests/Aop/Framework/ProxyFactoryObjectTests.cs b/test/Spring/Spring.Aop.Tests/Aop/Framework/ProxyFactoryObjectTests.cs index 31cb7b55..de3b5d0d 100644 --- a/test/Spring/Spring.Aop.Tests/Aop/Framework/ProxyFactoryObjectTests.cs +++ b/test/Spring/Spring.Aop.Tests/Aop/Framework/ProxyFactoryObjectTests.cs @@ -154,11 +154,11 @@ namespace Spring.Aop.Framework IAdvised pc1 = (IAdvised)test1; IAdvised pc2 = (IAdvised)test1_1; Assert.AreEqual(pc1.Advisors, pc2.Advisors); - int oldLength = pc1.Advisors.Length; + int oldLength = pc1.Advisors.Count; NopInterceptor di = new NopInterceptor(); pc1.AddAdvice(1, di); Assert.AreEqual(pc1.Advisors, pc2.Advisors); - Assert.AreEqual(oldLength + 1, pc2.Advisors.Length, "Now have one more advisor"); + Assert.AreEqual(oldLength + 1, pc2.Advisors.Count, "Now have one more advisor"); Assert.AreEqual(di.Count, 0); test1.Age = (5); Assert.AreEqual(test1_1.Age, test1.Age); @@ -224,12 +224,12 @@ namespace Spring.Aop.Framework string dummy = to.Name; IAdvised config = (IAdvised)to; - Assert.AreEqual(1, config.Advisors.Length, "Object should have only one advisors"); + Assert.AreEqual(1, config.Advisors.Count, "Object should have only one advisors"); Exception ex = new NotSupportedException("Invoke"); // Add evil interceptor to head of list config.AddAdvice(0, new EvilMethodInterceptor(ex)); - Assert.AreEqual(2, config.Advisors.Length, "The advisor count is wrong after adding an advisor programmatically."); + Assert.AreEqual(2, config.Advisors.Count, "The advisor count is wrong after adding an advisor programmatically."); try { @@ -266,16 +266,16 @@ namespace Spring.Aop.Framework IIntroductionAdvisor advisor = new DefaultIntroductionAdvisor(ti, typeof(ITimeStamped)); // add to front of introduction chain - int oldCount = config.Introductions.Length; + int oldCount = config.Introductions.Count; config.AddIntroduction(0, advisor); - Assert.IsTrue(config.Introductions.Length == oldCount + 1); + Assert.IsTrue(config.Introductions.Count == oldCount + 1); ITimeStamped ts2 = (ITimeStamped)factory.GetObject("test1"); Assert.IsTrue(ts2.TimeStamp == new DateTime(time)); // Can remove config.RemoveIntroduction(advisor); - Assert.IsTrue(config.Introductions.Length == oldCount); + Assert.IsTrue(config.Introductions.Count == oldCount); // Existing reference will still work object o = ts2.TimeStamp; @@ -292,9 +292,9 @@ namespace Spring.Aop.Framework } // Now check non-effect of removing interceptor that isn't there - oldCount = config.Advisors.Length; + oldCount = config.Advisors.Count; config.RemoveAdvice(new DebugAdvice()); - Assert.IsTrue(config.Advisors.Length == oldCount); + Assert.IsTrue(config.Advisors.Count == oldCount); ITestObject it = (ITestObject)ts2; DebugAdvice debugInterceptor = new DebugAdvice(); @@ -330,16 +330,16 @@ namespace Spring.Aop.Framework IIntroductionAdvisor advisor = new DefaultIntroductionAdvisor(ti, typeof(ITimeStamped)); // add to front of introduction chain - int oldCount = config.Introductions.Length; + int oldCount = config.Introductions.Count; config.AddIntroduction(0, advisor); - Assert.IsTrue(config.Introductions.Length == oldCount + 1); + Assert.IsTrue(config.Introductions.Count == oldCount + 1); ITimeStamped ts2 = (ITimeStamped)factory.GetObject("test2"); Assert.IsTrue(ts2.TimeStamp == new DateTime(time)); // Can remove config.RemoveIntroduction(advisor); - Assert.IsTrue(config.Introductions.Length == oldCount); + Assert.IsTrue(config.Introductions.Count == oldCount); // Existing reference will still work object o = ts2.TimeStamp; @@ -358,9 +358,9 @@ namespace Spring.Aop.Framework ITestObject it = (ITestObject)factory.GetObject("test2"); config = (IAdvised)it; - oldCount = config.Advisors.Length; + oldCount = config.Advisors.Count; config.RemoveAdvice(new DebugAdvice()); - Assert.IsTrue(config.Advisors.Length == oldCount); + Assert.IsTrue(config.Advisors.Count == oldCount); DebugAdvice debugInterceptor = new DebugAdvice(); config.AddAdvice(0, debugInterceptor); @@ -462,10 +462,10 @@ namespace Spring.Aop.Framework ProxyFactoryObject pfb = (ProxyFactoryObject)factory.GetObject("&validGlobals"); pfb.GetObject(); // for creation - Assert.AreEqual(2, pfb.Advisors.Length, "Proxy should have 1 global and 1 explicit advisor"); - Assert.AreEqual(1, pfb.Introductions.Length, "Proxy should have 1 global introduction"); + Assert.AreEqual(2, pfb.Advisors.Count, "Proxy should have 1 global and 1 explicit advisor"); + Assert.AreEqual(1, pfb.Introductions.Count, "Proxy should have 1 global introduction"); - agi.GlobalsAdded = ((IAdvised)agi).Introductions.Length; + agi.GlobalsAdded = ((IAdvised)agi).Introductions.Count; Assert.IsTrue(agi.GlobalsAdded == 1); IApplicationEventListener l = (IApplicationEventListener)factory.GetObject("validGlobals"); diff --git a/test/Spring/Spring.Aop.Tests/Aop/Framework/ProxyFactoryTests.cs b/test/Spring/Spring.Aop.Tests/Aop/Framework/ProxyFactoryTests.cs index e4333a08..a2b2b673 100644 --- a/test/Spring/Spring.Aop.Tests/Aop/Framework/ProxyFactoryTests.cs +++ b/test/Spring/Spring.Aop.Tests/Aop/Framework/ProxyFactoryTests.cs @@ -399,7 +399,7 @@ namespace Spring.Aop.Framework advSup.AddAdvisor(advisor1); advSup.AddAdvisor(advisor1); - Assert.AreEqual(1, advSup.Advisors.Length); + Assert.AreEqual(1, advSup.Advisors.Count); } private class AnonymousClassTimeStamped : ITimeStamped @@ -454,7 +454,7 @@ namespace Spring.Aop.Framework // Extend to get new interface TestObjectSubclass raw = new TestObjectSubclass(); ProxyFactory factory = new ProxyFactory(raw); - Assert.AreEqual(8, factory.Interfaces.Length, "Found correct number of interfaces"); + Assert.AreEqual(8, factory.Interfaces.Count, "Found correct number of interfaces"); //System.out.println("Proxied interfaces are " + StringUtils.arrayToDelimitedString(factory.getProxiedInterfaces(), ",")); ITestObject tb = (ITestObject)factory.GetProxy(); Assert.IsTrue(tb is IOther, "Picked up secondary interface"); @@ -465,14 +465,14 @@ namespace Spring.Aop.Framework DateTime t = new DateTime(2004, 8, 1); TimestampIntroductionInterceptor ti = new TimestampIntroductionInterceptor(t); - Console.WriteLine(StringUtils.ArrayToDelimitedString(factory.Interfaces, "/")); + Console.WriteLine(StringUtils.CollectionToDelimitedString(factory.Interfaces, "/")); //factory.addAdvisor(0, new DefaultIntroductionAdvisor(ti, typeof(ITimeStamped))); factory.AddIntroduction( new DefaultIntroductionAdvisor(ti, typeof(ITimeStamped)) ); - Console.WriteLine(StringUtils.ArrayToDelimitedString(factory.Interfaces, "/")); + Console.WriteLine(StringUtils.CollectionToDelimitedString(factory.Interfaces, "/")); ITimeStamped ts = (ITimeStamped)factory.GetProxy(); Assert.IsTrue(ts.TimeStamp == t); diff --git a/test/Spring/Spring.Aop.Tests/Aspects/Exception/CaptureOutputLoggerFactoryAdapter.cs b/test/Spring/Spring.Aop.Tests/Aspects/Exception/CaptureOutputLoggerFactoryAdapter.cs index a3e999af..47544653 100644 --- a/test/Spring/Spring.Aop.Tests/Aspects/Exception/CaptureOutputLoggerFactoryAdapter.cs +++ b/test/Spring/Spring.Aop.Tests/Aspects/Exception/CaptureOutputLoggerFactoryAdapter.cs @@ -1,9 +1,9 @@ using System; -using System.Collections; -using System.Collections.Specialized; +using System.Collections.Generic; using System.Diagnostics; + using Common.Logging; using Common.Logging.Simple; @@ -44,9 +44,9 @@ namespace Spring.Aspects.Exceptions System.Diagnostics.Trace.Listeners.Remove(listener); } - private IList logMessages = new ArrayList(); + private IList logMessages = new List(); - public IList LogMessages + public IList LogMessages { get { return logMessages; } set { logMessages = value; } diff --git a/test/Spring/Spring.Core.Tests/Context/Support/ApplicationObjectSupportTests.cs b/test/Spring/Spring.Core.Tests/Context/Support/ApplicationObjectSupportTests.cs index 468e6e09..b2141921 100644 --- a/test/Spring/Spring.Core.Tests/Context/Support/ApplicationObjectSupportTests.cs +++ b/test/Spring/Spring.Core.Tests/Context/Support/ApplicationObjectSupportTests.cs @@ -22,6 +22,7 @@ using System; using System.Collections; +using System.Collections.Generic; using System.Globalization; using NUnit.Framework; using Spring.Core.IO; @@ -118,48 +119,47 @@ namespace Spring.Context.Support return null; } - public string[] GetObjectNamesForType(Type type) + public IList GetObjectNamesForType(Type type) { return null; } - public string[] GetObjectNamesForType() + public IList GetObjectNames() { return null; } - public string[] GetObjectNamesForType( - Type type, bool includePrototypes, bool includeFactoryObjects) + public IList GetObjectNamesForType(Type type, bool includePrototypes, bool includeFactoryObjects) { return null; } - public string[] GetObjectNamesForType(bool includePrototypes, bool includeFactoryObjects) + public IList GetObjectNames(bool includePrototypes, bool includeFactoryObjects) { return null; } - string[] IListableObjectFactory.GetObjectDefinitionNames() + IList IListableObjectFactory.GetObjectDefinitionNames() { return null; } - public IDictionary GetObjectsOfType(Type type) + public IDictionary GetObjectsOfType(Type type) { return null; } - public IDictionary GetObjectsOfType() + public IDictionary GetObjects() { return null; } - public IDictionary GetObjectsOfType(Type type, bool includePrototypes, bool includeFactoryObjects) + public IDictionary GetObjectsOfType(Type type, bool includePrototypes, bool includeFactoryObjects) { return null; } - public IDictionary GetObjectsOfType(bool includePrototypes, bool includeFactoryObjects) + public IDictionary GetObjects(bool includePrototypes, bool includeFactoryObjects) { return null; } @@ -198,7 +198,7 @@ namespace Spring.Context.Support return false; } - public string[] GetAliases(string name) + public IList GetAliases(string name) { return null; } diff --git a/test/Spring/Spring.Core.Tests/Context/Support/ResourceSetMessageSourceTests.cs b/test/Spring/Spring.Core.Tests/Context/Support/ResourceSetMessageSourceTests.cs index 429a26a4..4fa9ea12 100644 --- a/test/Spring/Spring.Core.Tests/Context/Support/ResourceSetMessageSourceTests.cs +++ b/test/Spring/Spring.Core.Tests/Context/Support/ResourceSetMessageSourceTests.cs @@ -22,6 +22,7 @@ using System; using System.Collections; +using System.Collections.Generic; using System.ComponentModel; using System.Drawing; using System.Globalization; @@ -51,7 +52,7 @@ namespace Spring.Context.Support private const string ResourceFileName = "Spring.Context.Tests"; // The namespace is added during the build... private const string ResourceBaseName = ResourceNamespace + "." + ResourceFileName; - private IList resourceManagerList; + private IList resourceManagerList; [TestFixtureSetUp] public void TestFixtureSetUp() @@ -72,7 +73,7 @@ namespace Spring.Context.Support public void Init() { messageSource = new ResourceSetMessageSource(); - resourceManagerList = new ArrayList(); + resourceManagerList = new List(); Assembly ass = this.GetType().Assembly; resourceManagerList.Add(new ResourceManager(ResourceBaseName, ass)); } diff --git a/test/Spring/Spring.Core.Tests/Core/TypeResolution/TypeResolutionUtilsTests.cs b/test/Spring/Spring.Core.Tests/Core/TypeResolution/TypeResolutionUtilsTests.cs index 8d3bda36..c5f6ff5b 100644 --- a/test/Spring/Spring.Core.Tests/Core/TypeResolution/TypeResolutionUtilsTests.cs +++ b/test/Spring/Spring.Core.Tests/Core/TypeResolution/TypeResolutionUtilsTests.cs @@ -21,6 +21,7 @@ #region Imports using System; +using System.Collections.Generic; using System.Reflection; using NUnit.Framework; @@ -75,9 +76,9 @@ namespace Spring.Core.TypeResolution { Type[] expected = new Type[] { typeof(IFoo) }; string[] input = new string[] { typeof(IFoo).AssemblyQualifiedName }; - Type[] actual = TypeResolutionUtils.ResolveInterfaceArray(input); + IList actual = TypeResolutionUtils.ResolveInterfaceArray(input); Assert.IsNotNull(actual); - Assert.AreEqual(expected.Length, actual.Length); + Assert.AreEqual(expected.Length, actual.Count); Assert.AreEqual(expected[0], actual[0]); } diff --git a/test/Spring/Spring.Core.Tests/Expressions/ExpressionEvaluatorTests.cs b/test/Spring/Spring.Core.Tests/Expressions/ExpressionEvaluatorTests.cs index b6c5eb6b..733b28bc 100644 --- a/test/Spring/Spring.Core.Tests/Expressions/ExpressionEvaluatorTests.cs +++ b/test/Spring/Spring.Core.Tests/Expressions/ExpressionEvaluatorTests.cs @@ -22,6 +22,7 @@ using System; using System.Collections; +using System.Collections.Generic; using System.Diagnostics; using System.EnterpriseServices; using System.Globalization; @@ -68,10 +69,10 @@ namespace Spring.Expressions private IExpression exp; private object rootContext; private object expected; - private IDictionary variables; + private IDictionary variables; public AsyncTestExpressionEvaluation(int iterations, IExpression exp, object rootContext, object expected, - IDictionary variables) + IDictionary variables) : base(iterations) { this.exp = exp; @@ -296,7 +297,7 @@ namespace Spring.Expressions [Test(Description = "http://jira.springframework.org/browse/SPRNET-944")] public void TestDateVariableExpression() { - Hashtable vars = new Hashtable(); + Dictionary vars = new Dictionary(); vars["date"] = "2008-05-15"; object value = ExpressionEvaluator.GetValue(null, "#date", vars); Assert.That(value, Is.EqualTo("2008-05-15")); @@ -305,7 +306,7 @@ namespace Spring.Expressions [Test(Description = "http://jira.springframework.org/browse/SPRNET-1155")] public void TestDateVariableExpressionCamelCased() { - Hashtable vars = new Hashtable(); + Dictionary vars = new Dictionary(); vars["Date"] = "2008-05-15"; object value = ExpressionEvaluator.GetValue(null, "#Date", vars); Assert.That(value, Is.EqualTo("2008-05-15")); @@ -583,7 +584,7 @@ namespace Spring.Expressions ExpressionEvaluator.GetValue(ieee, "Officers['advisors'][0].Inventions[2]")); // maps with non-literal parameters - IDictionary vars = new Hashtable(); + Dictionary vars = new Dictionary(); vars["prez"] = "president"; Assert.AreEqual(pupin, ExpressionEvaluator.GetValue(ieee, "Officers[#prez]", vars)); @@ -651,7 +652,7 @@ namespace Spring.Expressions { IExpression expression = Expression.Parse("Foo(#var1)"); MethodInvokationCases testContext = new MethodInvokationCases(); - Hashtable args = new Hashtable(); + Dictionary args = new Dictionary(); args["var1"] = "myString"; Assert.AreEqual("myString", expression.GetValue(testContext, args)); args["var1"] = 12; @@ -891,7 +892,7 @@ namespace Spring.Expressions [Test] public void TestVariableNode() { - IDictionary vars = new Hashtable(); + Dictionary vars = new Dictionary(); vars["newName"] = "Aleksandar Seovic"; Assert.AreEqual("Ana Maria Seovic", ExpressionEvaluator.GetValue(null, "#newName = 'Ana Maria Seovic'", vars)); @@ -943,7 +944,7 @@ namespace Spring.Expressions Assert.AreEqual("falseExp", ExpressionEvaluator.GetValue(null, "(false ? 'trueExp' : 'falseExp')")); ExpressionEvaluator.SetValue(ieee, "Name", "IEEE"); - IDictionary vars = new Hashtable(); + Dictionary vars = new Dictionary(); vars["queryName"] = "Nikola Tesla"; string expression = @"IsMember(#queryName) @@ -1000,7 +1001,7 @@ namespace Spring.Expressions { Assert.AreEqual(1 & 3, ExpressionEvaluator.GetValue(null, "1 and 3")); Assert.AreEqual(1 & -1, ExpressionEvaluator.GetValue(null, "1 and -1")); - Hashtable vars = new Hashtable(); + Dictionary vars = new Dictionary(); vars["ALL"] = (RegexOptions) 0xFFFF; Assert.AreEqual(RegexOptions.IgnoreCase, ExpressionEvaluator.GetValue(null, "T(System.Text.RegularExpressions.RegexOptions).IgnoreCase and #ALL", vars)); } @@ -1386,7 +1387,7 @@ namespace Spring.Expressions [ExpectedException(typeof(ArgumentException))] public void TestComparisonOfInstancesThatDoNotImplementIComparable() { - IDictionary vars = new Hashtable(); + Dictionary vars = new Dictionary(); vars["tesla"] = tesla; vars["pupin"] = pupin; ExpressionEvaluator.GetValue(null, "#tesla > #pupin", vars); @@ -1419,7 +1420,7 @@ namespace Spring.Expressions DateTime anaDOB = new DateTime(2004, 8, 14); DateTime aleksDOB = new DateTime(1974, 8, 24); TimeSpan diff = anaDOB - aleksDOB; - IDictionary vars = new Hashtable(); + IDictionary vars = new Dictionary(); vars["ts"] = diff; Assert.AreEqual(anaDOB, ExpressionEvaluator.GetValue(null, "date('1974-08-24') + #ts", vars)); @@ -1456,7 +1457,7 @@ namespace Spring.Expressions DateTime anaDOB = new DateTime(2004, 8, 14); DateTime aleksDOB = new DateTime(1974, 8, 24); TimeSpan diff = anaDOB - aleksDOB; - IDictionary vars = new Hashtable(); + Dictionary vars = new Dictionary(); vars["ts"] = diff; Assert.AreEqual(aleksDOB, ExpressionEvaluator.GetValue(null, "date('2004-08-14') - #ts", vars)); @@ -1714,12 +1715,12 @@ namespace Spring.Expressions public void TestDelegateFunctionExpressions() { //for purposes of an example in documentation - Hashtable vars = new Hashtable(); + Dictionary vars = new Dictionary(); vars["sqrt"] = new DoubleFunction(Sqrt); double result = (double)ExpressionEvaluator.GetValue(null, "#sqrt(64)", vars); Assert.AreEqual(8, result); - vars = new Hashtable(); + vars = new Dictionary(); vars["max"] = new DoubleFunctionTwoArgs(Max); result = (double) ExpressionEvaluator.GetValue(null, "#max(5,25)", vars); Assert.AreEqual(25, result); @@ -1751,25 +1752,25 @@ namespace Spring.Expressions // simple function Assert.AreEqual(4, - ExpressionEvaluator.GetValue(null, "(#add = {|x, y| $x + $y}; #add(2, 2))", new Hashtable())); + ExpressionEvaluator.GetValue(null, "(#add = {|x, y| $x + $y}; #add(2, 2))", new Dictionary())); Assert.AreEqual(25, ExpressionEvaluator.GetValue(null, "(#max = {|x, y| $x > $y ? $x : $y }; #max(5,25))", - new Hashtable())); + new Dictionary())); // recursive function Assert.AreEqual(120, ExpressionEvaluator.GetValue(null, "(#fact = {|n| $n <= 1 ? 1 : $n * #fact($n-1) }; #fact(5))", - new Hashtable())); + new Dictionary())); // function invoked within projection expression string expr = "(#upper = {|txt| $txt.ToUpper() }; !{ #upper(Name) })"; - IList upperNames = (IList)ExpressionEvaluator.GetValue(ieee.Members, expr, new Hashtable()); + IList upperNames = (IList)ExpressionEvaluator.GetValue(ieee.Members, expr, new Dictionary()); Assert.AreEqual("NIKOLA TESLA", upperNames[0]); Assert.AreEqual("MIHAJLO PUPIN", upperNames[1]); // function that delegates to a function passed as a parameter - IDictionary vars = new Hashtable(); + Dictionary vars = new Dictionary(); Expression.RegisterFunction("sqrt", "{|n| Math.Sqrt($n)}", vars); Expression.RegisterFunction("fact", "{|n| $n <= 1 ? 1 : $n * #fact($n-1)}", vars); string expr2 = @@ -1788,7 +1789,7 @@ namespace Spring.Expressions Assert.AreEqual(120, ExpressionEvaluator.GetValue(null, "(#fact = {|n| $n <= 1 ? 1 : $n * #fact($n-1) }; #f = #fact; #f(5))", - new Hashtable())); + new Dictionary())); } #region Collection Processor and Aggregator tests @@ -1806,7 +1807,7 @@ namespace Spring.Expressions public void TestCustomCollectionProcessor() { // Test for the purposes of creating documentation example. - Hashtable vars = new Hashtable(); + Dictionary vars = new Dictionary(); vars["EvenSum"] = new IntEvenSumCollectionProcessor(); Assert.AreEqual(6, ExpressionEvaluator.GetValue(null, "{1, 2, 3, 4}.EvenSum()", vars)); @@ -2043,7 +2044,7 @@ namespace Spring.Expressions [Test] public void TestSetValue() { - IDictionary vars = new Hashtable(); + Dictionary vars = new Dictionary(); vars["tesla"] = tesla; vars["pupin"] = pupin; ExpressionEvaluator.SetValue(null, "#tesla.Name", vars, "Tesla, Nikola"); @@ -2204,7 +2205,7 @@ namespace Spring.Expressions [Test] public void TestMethodResolutionResolvesToExactMatchOfArgumentTypes() { - Hashtable args = new Hashtable(); + Dictionary args = new Dictionary(); args["bars"] = new Bar[] { new Bar() }; Foo foo = new Foo(); @@ -2218,7 +2219,7 @@ namespace Spring.Expressions [Test] public void TestIndexerResolutionResolvesToExactMatchOfArgumentTypes() { - Hashtable args = new Hashtable(); + Dictionary args = new Dictionary(); args["bars"] = new Bar[] { new Bar() }; Foo foo = new Foo(); @@ -2234,7 +2235,7 @@ namespace Spring.Expressions public void TestCtorResolutionResolvesToExactMatchOfArgumentTypes() { TypeRegistry.RegisterType(typeof(Foo)); - Hashtable args = new Hashtable(); + Dictionary args = new Dictionary(); args["bars"] = new Bar[] { new Bar() }; // ensure noone changed our test class @@ -2454,8 +2455,8 @@ namespace Spring.Expressions IExpression exp2 = Expression.Parse("(#fact = {|n| $n <= 1 ? 1 : $n * #fact($n-1) }; #fact(#root))"); - AsyncTestTask t4 = new AsyncTestExpressionEvaluation(2000, exp2, 5, 120, new Hashtable()).Start(); - AsyncTestTask t5 = new AsyncTestExpressionEvaluation(2000, exp2, 6, 720, new Hashtable()).Start(); + AsyncTestTask t4 = new AsyncTestExpressionEvaluation(2000, exp2, 5, 120, new Dictionary()).Start(); + AsyncTestTask t5 = new AsyncTestExpressionEvaluation(2000, exp2, 6, 720, new Dictionary()).Start(); t1.AssertNoException(); t2.AssertNoException(); @@ -2538,12 +2539,12 @@ namespace Spring.Expressions // case #root != #this in Projection - ToString() will be applied to #this exp = Expression.Parse("(ToString(); #noop ={|val| $val}; !{#noop(ToString()) } )"); - result = exp.GetValue(new int[] { 100, 200 }, new Hashtable()); + result = exp.GetValue(new int[] { 100, 200 }, new Dictionary()); Assert.AreEqual(new string[] { "100", "200" }, result); // case #root != #this in Selection - ToString() will be applied to #this exp = Expression.Parse("(#noop ={|val| $val}; ?{#noop(ToString()=='100')} )"); - result = exp.GetValue(new int[] { 100, 200 }, new Hashtable()); + result = exp.GetValue(new int[] { 100, 200 }, new Dictionary()); IList list = new ArrayList(); list.Add(100); Assert.AreEqual(list, result); @@ -2772,7 +2773,7 @@ namespace Spring.Expressions { int n = 10000000; object x = ""; - IDictionary vars = new Hashtable(); + IDictionary vars = new Dictionary(); // tesla.PlaceOfBirth start = DateTime.Now; diff --git a/test/Spring/Spring.Core.Tests/Expressions/FunctionNodeTests.cs b/test/Spring/Spring.Core.Tests/Expressions/FunctionNodeTests.cs index 430d85f1..fa071237 100644 --- a/test/Spring/Spring.Core.Tests/Expressions/FunctionNodeTests.cs +++ b/test/Spring/Spring.Core.Tests/Expressions/FunctionNodeTests.cs @@ -22,6 +22,7 @@ using System; using System.Collections; +using System.Collections.Generic; using System.Threading; using NUnit.Framework; using Spring.Collections; @@ -40,7 +41,7 @@ namespace Spring.Expressions [Test] public void ExecutesLambdaFunction() { - Hashtable vars = new Hashtable(); + Dictionary vars = new Dictionary(); Expression.RegisterFunction("ident", "{|n| $n}", vars); FunctionNode fn = new FunctionNode(); @@ -56,7 +57,7 @@ namespace Spring.Expressions [Test] public void ExecutesDelegate() { - Hashtable vars = new Hashtable(); + Dictionary vars = new Dictionary(); vars["concat"] = new TestCallback(Concat); FunctionNode fn = new FunctionNode(); @@ -83,7 +84,7 @@ namespace Spring.Expressions [Test, Explicit] public void ExecutesDelegatePerformance() { - Hashtable vars = new Hashtable(5); + Dictionary vars = new Dictionary(5); WaitCallback noop = delegate (object arg) { // noop diff --git a/test/Spring/Spring.Core.Tests/Expressions/MethodNodeTests.cs b/test/Spring/Spring.Core.Tests/Expressions/MethodNodeTests.cs index 12cfea8e..121b42b2 100644 --- a/test/Spring/Spring.Core.Tests/Expressions/MethodNodeTests.cs +++ b/test/Spring/Spring.Core.Tests/Expressions/MethodNodeTests.cs @@ -22,6 +22,7 @@ using System; using System.Collections; +using System.Collections.Generic; using NUnit.Framework; using Spring.Expressions.Processors; @@ -47,7 +48,7 @@ namespace Spring.Expressions [Test] public void CallCustomCollectionProcessor() { - Hashtable vars = new Hashtable(); + Dictionary vars = new Dictionary(); vars["myCollProc"] = new MyTestCollectionProcessor(); MethodNode mn = new MethodNode(); diff --git a/test/Spring/Spring.Core.Tests/Expressions/Processors/OrderByProcessorTests.cs b/test/Spring/Spring.Core.Tests/Expressions/Processors/OrderByProcessorTests.cs index 976eefaa..b9331f18 100644 --- a/test/Spring/Spring.Core.Tests/Expressions/Processors/OrderByProcessorTests.cs +++ b/test/Spring/Spring.Core.Tests/Expressions/Processors/OrderByProcessorTests.cs @@ -22,6 +22,7 @@ using System; using System.Collections; +using System.Collections.Generic; using NUnit.Framework; #endregion @@ -52,7 +53,7 @@ namespace Spring.Expressions.Processors Assert.AreEqual(new object[] { 1, 2.0, "a", 'b' }, exp.GetValue(input)); - Hashtable vars = new Hashtable(); + Dictionary vars = new Dictionary(); Expression.RegisterFunction( "compare", "{|a,b| $a.ToString().CompareTo($b.ToString())}", vars); exp = Expression.Parse("orderBy(#compare)"); Assert.AreEqual(new object[] { 1, 2.0, "a", 'b' }, exp.GetValue(input, vars)); @@ -61,7 +62,7 @@ namespace Spring.Expressions.Processors [Test] public void OrderByDelegate() { - Hashtable vars = new Hashtable(); + Dictionary vars = new Dictionary(); vars["compare"] = new CompareCallback(CompareObjects); IExpression exp = Expression.Parse("orderBy(#compare)"); diff --git a/test/Spring/Spring.Core.Tests/Objects/Factory/AbstractListableObjectFactoryTests.cs b/test/Spring/Spring.Core.Tests/Objects/Factory/AbstractListableObjectFactoryTests.cs index 8e084fff..7868fb2f 100644 --- a/test/Spring/Spring.Core.Tests/Objects/Factory/AbstractListableObjectFactoryTests.cs +++ b/test/Spring/Spring.Core.Tests/Objects/Factory/AbstractListableObjectFactoryTests.cs @@ -21,6 +21,7 @@ #region Imports using System; +using System.Collections.Generic; using NUnit.Framework; @@ -62,10 +63,10 @@ namespace Spring.Objects.Factory { protected internal void AssertCount (int count) { - string [] defnames = ListableObjectFactory.GetObjectDefinitionNames (); + IList defnames = ListableObjectFactory.GetObjectDefinitionNames (); Assert.IsTrue ( - defnames.Length == count, - string.Format ("We should have {0} objects, not {1}.", count, defnames.Length)); + defnames.Count == count, + string.Format ("We should have {0} objects, not {1}.", count, defnames.Count)); } [Test] @@ -76,19 +77,19 @@ namespace Spring.Objects.Factory { public virtual void AssertTestObjectCount (int count) { - string [] defnames = + IList defnames = ListableObjectFactory.GetObjectNamesForType (typeof (TestObject)); Assert.IsTrue ( - defnames.Length == count, - string.Format ("We should have {0} objects for class {1}, not {2}.", count, typeof (TestObject).FullName, defnames.Length)); + defnames.Count == count, + string.Format ("We should have {0} objects for class {1}, not {2}.", count, typeof (TestObject).FullName, defnames.Count)); } [Test] public virtual void GetDefinitionsForNoSuchClass () { - string[] defnames = + IList defnames = ListableObjectFactory.GetObjectNamesForType (typeof (string)); - Assert.IsTrue (defnames.Length == 0, "No string definitions"); + Assert.IsTrue (defnames.Count == 0, "No string definitions"); } /// @@ -101,7 +102,7 @@ namespace Spring.Objects.Factory { { int count = ListableObjectFactory.GetObjectNamesForType ( - typeof (IFactoryObject)).Length; + typeof (IFactoryObject)).Count; Assert.IsTrue ( count == 2, string.Format ("Should have 2 factories, not {0}.", count)); diff --git a/test/Spring/Spring.Core.Tests/Objects/Factory/AbstractObjectFactoryTests.cs b/test/Spring/Spring.Core.Tests/Objects/Factory/AbstractObjectFactoryTests.cs index 3d0e8830..61b69a01 100644 --- a/test/Spring/Spring.Core.Tests/Objects/Factory/AbstractObjectFactoryTests.cs +++ b/test/Spring/Spring.Core.Tests/Objects/Factory/AbstractObjectFactoryTests.cs @@ -80,7 +80,7 @@ namespace Spring.Objects.Factory Assert.IsTrue(-1 < ex.Message.IndexOf("already registered")); } - Assert.AreEqual(1, of.GetAliases("nAmE").Length); + Assert.AreEqual(1, of.GetAliases("nAmE").Count); Assert.AreEqual(testObject, of.GetObject("nAmE")); Assert.AreEqual(testObject, of.GetObject("ALIAS")); } diff --git a/test/Spring/Spring.Core.Tests/Objects/Factory/Config/DictionaryVariableSourceTests.cs b/test/Spring/Spring.Core.Tests/Objects/Factory/Config/DictionaryVariableSourceTests.cs index d00689a7..d21006ac 100644 --- a/test/Spring/Spring.Core.Tests/Objects/Factory/Config/DictionaryVariableSourceTests.cs +++ b/test/Spring/Spring.Core.Tests/Objects/Factory/Config/DictionaryVariableSourceTests.cs @@ -1,5 +1,6 @@ using System; using System.Collections; +using System.Collections.Generic; using NUnit.Framework; namespace Spring.Objects.Factory.Config @@ -15,7 +16,7 @@ namespace Spring.Objects.Factory.Config dvs.Add("key1", "theValue"); dvs.Add("key2", "theValue"); - foreach (DictionaryEntry dv in dvs) + foreach (KeyValuePair dv in dvs) { Assert.AreEqual("theValue", dv.Value); } diff --git a/test/Spring/Spring.Core.Tests/Objects/Factory/DefaultListableObjectFactoryTests.cs b/test/Spring/Spring.Core.Tests/Objects/Factory/DefaultListableObjectFactoryTests.cs index 45e29993..c9b66d4f 100644 --- a/test/Spring/Spring.Core.Tests/Objects/Factory/DefaultListableObjectFactoryTests.cs +++ b/test/Spring/Spring.Core.Tests/Objects/Factory/DefaultListableObjectFactoryTests.cs @@ -22,6 +22,7 @@ using System; using System.Collections; +using System.Collections.Generic; using System.Globalization; using System.Reflection; using System.Runtime.Serialization; @@ -145,7 +146,7 @@ namespace Spring.Objects.Factory def.FactoryMethodName = "CreateTestObject"; DefaultListableObjectFactory lof = new DefaultListableObjectFactory(); lof.RegisterObjectDefinition("factoryObject", def); - IDictionary objs = lof.GetObjectsOfType(typeof(TestObject)); + IDictionary objs = lof.GetObjects(); Assert.AreEqual(1, objs.Count); } @@ -159,7 +160,7 @@ namespace Spring.Objects.Factory DefaultListableObjectFactory lof = new DefaultListableObjectFactory(); lof.RegisterObjectDefinition("factoryObject", def); lof.RegisterObjectDefinition("target", new RootObjectDefinition(typeof(TestObjectCreator))); - IDictionary objs = lof.GetObjectsOfType(typeof(TestObject)); + IDictionary objs = lof.GetObjects(); Assert.AreEqual(1, objs.Count); } @@ -171,7 +172,7 @@ namespace Spring.Objects.Factory = new RootObjectDefinition(typeof(TestGenericObject)); def.FactoryMethodName = "CreateList"; lof.RegisterObjectDefinition("foo", def); - IDictionary objs = lof.GetObjectsOfType(typeof(System.Collections.Generic.List)); + IDictionary objs = lof.GetObjectsOfType(typeof(List)); Assert.AreEqual(1, objs.Count); } @@ -185,7 +186,7 @@ namespace Spring.Objects.Factory DefaultListableObjectFactory lof = new DefaultListableObjectFactory(); lof.RegisterObjectDefinition("factoryObject", def); lof.RegisterObjectDefinition("target", new RootObjectDefinition(typeof(TestGenericObject))); - IDictionary objs = lof.GetObjectsOfType(typeof(TestGenericObject)); + IDictionary objs = lof.GetObjectsOfType(typeof(TestGenericObject)); Assert.AreEqual(1, objs.Count); } @@ -223,7 +224,7 @@ namespace Spring.Objects.Factory typeof(StaticFactoryMethodObject)); def.FactoryMethodName = "CreateObject"; lof.RegisterObjectDefinition("foo", def); - IDictionary objs = lof.GetObjectsOfType(typeof(DBNull)); + IDictionary objs = lof.GetObjectsOfType(typeof(DBNull)); Assert.AreEqual(1, objs.Count, "Must be looking at the RETURN TYPE of the factory method, " + "and hence get one DBNull object back."); @@ -403,8 +404,7 @@ namespace Spring.Objects.Factory #region IInstantiationAwareObjectPostProcessor Members - public IPropertyValues PostProcessPropertyValues(IPropertyValues pvs, PropertyInfo[] pis, object objectInstance, - string objectName) + public IPropertyValues PostProcessPropertyValues(IPropertyValues pvs, IList pis, object objectInstance, string objectName) { return pvs; } @@ -454,8 +454,7 @@ namespace Spring.Objects.Factory #region IInstantiationAwareObjectPostProcessor Members - public IPropertyValues PostProcessPropertyValues(IPropertyValues pvs, PropertyInfo[] pis, object objectInstance, - string objectName) + public IPropertyValues PostProcessPropertyValues(IPropertyValues pvs, IList pis, object objectInstance, string objectName) { return pvs; } @@ -531,7 +530,7 @@ namespace Spring.Objects.Factory { IListableObjectFactory lof = new DefaultListableObjectFactory(); Assert.IsTrue(lof.GetObjectDefinitionNames() != null, "No objects defined --> array != null"); - Assert.IsTrue(lof.GetObjectDefinitionNames().Length == 0, "No objects defined after no arg constructor"); + Assert.IsTrue(lof.GetObjectDefinitionNames().Count == 0, "No objects defined after no arg constructor"); Assert.IsTrue(lof.ObjectDefinitionCount == 0, "No objects defined after no arg constructor"); } @@ -592,10 +591,10 @@ namespace Spring.Objects.Factory TestObject test = (TestObject)lof.GetObject("test"); Assert.AreEqual(singletonObject, lof.GetObject("singletonObject")); Assert.AreEqual(singletonObject, test.Spouse); - Hashtable objectsOfType = (Hashtable)lof.GetObjectsOfType(typeof(TestObject), false, true); + IDictionary objectsOfType = lof.GetObjectsOfType(typeof(TestObject), false, true); Assert.AreEqual(2, objectsOfType.Count); - Assert.IsTrue(objectsOfType.ContainsValue(test)); - Assert.IsTrue(objectsOfType.ContainsValue(singletonObject)); + Assert.IsTrue(objectsOfType.Values.Contains(test)); + Assert.IsTrue(objectsOfType.Values.Contains(singletonObject)); } [Test] @@ -639,7 +638,7 @@ namespace Spring.Objects.Factory lof.RegisterSingleton("singletonObject", singletonObject); Assert.IsTrue(lof.ContainsObject("singletonObject")); Assert.IsTrue(lof.IsSingleton("singletonObject")); - Assert.AreEqual(0, lof.GetAliases("singletonObject").Length); + Assert.AreEqual(0, lof.GetAliases("singletonObject").Count); DependenciesObject test = (DependenciesObject)lof.GetObject("test"); Assert.AreEqual(singletonObject, lof.GetObject("singletonObject")); Assert.AreEqual(singletonObject, test.Spouse); @@ -1750,8 +1749,8 @@ namespace Spring.Objects.Factory DefaultListableObjectFactory of = new DefaultListableObjectFactory(); of.RegisterObjectDefinition("mod", new RootObjectDefinition(typeof(A))); - string[] names = of.GetObjectNamesForType(typeof (ISerializable), false, false); - Assert.IsNotEmpty(names); + IList names = of.GetObjectNamesForType(typeof (ISerializable), false, false); + Assert.IsNotEmpty((ICollection) names); Assert.AreEqual("&mod", names[0]); } diff --git a/test/Spring/Spring.Core.Tests/Objects/Factory/ObjectFactoryUtilsTests.cs b/test/Spring/Spring.Core.Tests/Objects/Factory/ObjectFactoryUtilsTests.cs index 84cf65cf..1b138e43 100644 --- a/test/Spring/Spring.Core.Tests/Objects/Factory/ObjectFactoryUtilsTests.cs +++ b/test/Spring/Spring.Core.Tests/Objects/Factory/ObjectFactoryUtilsTests.cs @@ -22,6 +22,7 @@ using System; using System.Collections; +using System.Collections.Generic; using NUnit.Framework; using Rhino.Mocks; using Spring.Objects.Factory.Config; @@ -71,7 +72,7 @@ namespace Spring.Objects.Factory [Test] public void ObjectNamesIncludingAncestors() { - IList names = ObjectFactoryUtils.ObjectNamesIncludingAncestors(_factory); + IList names = ObjectFactoryUtils.ObjectNamesIncludingAncestors(_factory); Assert.AreEqual(6, names.Count); } @@ -88,8 +89,8 @@ namespace Spring.Objects.Factory mocks.ReplayAll(); - string[] names = ObjectFactoryUtils.ObjectNamesIncludingAncestors(of); - Assert.AreEqual(5, names.Length); + IList names = ObjectFactoryUtils.ObjectNamesIncludingAncestors(of); + Assert.AreEqual(5, names.Count); Assert.AreEqual(new string[] { "objA","objB","objC","obj2A","obj2C" }, names); mocks.VerifyAll(); @@ -98,7 +99,7 @@ namespace Spring.Objects.Factory [Test] public void ObjectNamesForTypeIncludingAncestors() { - IList names = ObjectFactoryUtils.ObjectNamesForTypeIncludingAncestors(_factory, typeof (ITestObject)); + IList names = ObjectFactoryUtils.ObjectNamesForTypeIncludingAncestors(_factory, typeof (ITestObject)); // includes 2 TestObjects from IFactoryObjects (DummyFactory definitions) Assert.AreEqual(4, names.Count); Assert.IsTrue(names.Contains("test")); @@ -115,7 +116,7 @@ namespace Spring.Objects.Factory DefaultListableObjectFactory child = new DefaultListableObjectFactory(root); child.RegisterObjectDefinition("excludeLocalObject", new RootObjectDefinition(typeof(Hashtable))); - IList names = ObjectFactoryUtils.ObjectNamesForTypeIncludingAncestors(child, typeof (ArrayList)); + IList names = ObjectFactoryUtils.ObjectNamesForTypeIncludingAncestors(child, typeof (ArrayList)); // "excludeLocalObject" matches on the parent, but not the local object definition Assert.AreEqual(0, names.Count); @@ -138,8 +139,8 @@ namespace Spring.Objects.Factory mocks.ReplayAll(); - string[] names = ObjectFactoryUtils.ObjectNamesForTypeIncludingAncestors(of, EXPECTEDTYPE); - Assert.AreEqual(5, names.Length); + IList names = ObjectFactoryUtils.ObjectNamesForTypeIncludingAncestors(of, EXPECTEDTYPE); + Assert.AreEqual(5, names.Count); Assert.AreEqual(new string[] { "objA", "objB", "objC", "obj2A", "obj2C" }, names); mocks.VerifyAll(); @@ -159,8 +160,8 @@ namespace Spring.Objects.Factory mocks.ReplayAll(); - string[] names = ObjectFactoryUtils.ObjectNamesForTypeIncludingAncestors(of, EXPECTEDTYPE, false, false); - Assert.AreEqual(5, names.Length); + IList names = ObjectFactoryUtils.ObjectNamesForTypeIncludingAncestors(of, EXPECTEDTYPE, false, false); + Assert.AreEqual(5, names.Count); Assert.AreEqual(new string[] { "objA", "objB", "objC", "obj2A", "obj2C" }, names); @@ -183,7 +184,7 @@ namespace Spring.Objects.Factory object test = _factory.GetObject("test"); object testFactory1 = _factory.GetObject("testFactory1"); - IDictionary objects = ObjectFactoryUtils.ObjectsOfTypeIncludingAncestors(_factory, typeof (ITestObject), true, false); + IDictionary objects = ObjectFactoryUtils.ObjectsOfTypeIncludingAncestors(_factory, typeof (ITestObject), true, false); Assert.AreEqual(3, objects.Count); Assert.AreEqual(test3, objects["test3"]); Assert.AreEqual(test, objects["test"]); @@ -228,7 +229,7 @@ namespace Spring.Objects.Factory DefaultListableObjectFactory child = new DefaultListableObjectFactory(root); child.RegisterObjectDefinition("excludeLocalObject", new RootObjectDefinition(typeof(Hashtable))); - IDictionary objectEntries = ObjectFactoryUtils.ObjectsOfTypeIncludingAncestors(child, typeof(ArrayList), true, true); + IDictionary objectEntries = ObjectFactoryUtils.ObjectsOfTypeIncludingAncestors(child, typeof(ArrayList), true, true); // "excludeLocalObject" matches on the parent, but not the local object definition Assert.AreEqual(0, objectEntries.Count); } @@ -238,7 +239,7 @@ namespace Spring.Objects.Factory { StaticListableObjectFactory lof = new StaticListableObjectFactory(); lof.AddObject("foo", new object()); - IDictionary objects = ObjectFactoryUtils.ObjectsOfTypeIncludingAncestors(lof, typeof (ITestObject), true, false); + IDictionary objects = ObjectFactoryUtils.ObjectsOfTypeIncludingAncestors(lof, typeof (ITestObject), true, false); Assert.IsTrue(objects.Count == 0); } @@ -257,7 +258,7 @@ namespace Spring.Objects.Factory t3.AfterPropertiesSet(); // StaticListableObjectFactory does support lifecycle calls. lof.AddObject("t4", t4); t4.AfterPropertiesSet(); // StaticListableObjectFactory does support lifecycle calls. - IDictionary objects = ObjectFactoryUtils.ObjectsOfTypeIncludingAncestors(lof, typeof(ITestObject), true, false); + IDictionary objects = ObjectFactoryUtils.ObjectsOfTypeIncludingAncestors(lof, typeof(ITestObject), true, false); Assert.AreEqual(2, objects.Count); Assert.AreEqual(t1, objects["t1"]); Assert.AreEqual(t2, objects["t2"]); diff --git a/test/Spring/Spring.Core.Tests/Objects/Factory/Support/ChildObjectDefinitionTests.cs b/test/Spring/Spring.Core.Tests/Objects/Factory/Support/ChildObjectDefinitionTests.cs index b90a3c58..5cd5d457 100644 --- a/test/Spring/Spring.Core.Tests/Objects/Factory/Support/ChildObjectDefinitionTests.cs +++ b/test/Spring/Spring.Core.Tests/Objects/Factory/Support/ChildObjectDefinitionTests.cs @@ -65,7 +65,7 @@ namespace Spring.Objects.Factory.Support "ParentName property not initialized correctly by ctor."); Assert.IsNotNull(def.PropertyValues, "PropertyValues must be init'd to a non-null collection if not explicitly supplied."); - Assert.AreEqual(0, def.PropertyValues.PropertyValues.Length, + Assert.AreEqual(0, def.PropertyValues.PropertyValues.Count, "PropertyValues must be init'd to an empty collection if not explicitly supplied."); } } diff --git a/test/Spring/Spring.Core.Tests/Objects/Factory/Support/DefaultObjectDefinitionFactoryTests.cs b/test/Spring/Spring.Core.Tests/Objects/Factory/Support/DefaultObjectDefinitionFactoryTests.cs index ecb3e754..7666373d 100644 --- a/test/Spring/Spring.Core.Tests/Objects/Factory/Support/DefaultObjectDefinitionFactoryTests.cs +++ b/test/Spring/Spring.Core.Tests/Objects/Factory/Support/DefaultObjectDefinitionFactoryTests.cs @@ -44,7 +44,7 @@ namespace Spring.Objects.Factory.Support typeof (TestObject).FullName, null, AppDomain.CurrentDomain); Assert.IsNotNull(definition, "CreateObjectDefinition with no parent is returning null (it must never do so)."); Assert.AreEqual(typeof (TestObject), definition.ObjectType); - Assert.AreEqual(0, definition.PropertyValues.PropertyValues.Length, + Assert.AreEqual(0, definition.PropertyValues.PropertyValues.Count, "Must not have any property values as none were passed in."); Assert.AreEqual(0, definition.ConstructorArgumentValues.ArgumentCount, "Must not have any ctor args as none were passed in."); @@ -59,7 +59,7 @@ namespace Spring.Objects.Factory.Support typeof (TestObject).FullName, "Aimee Mann", AppDomain.CurrentDomain); Assert.IsNotNull(definition, "CreateObjectDefinition with no parent is returning null (it must never do so)."); Assert.AreEqual(typeof (TestObject), definition.ObjectType); - Assert.AreEqual(0, definition.PropertyValues.PropertyValues.Length, + Assert.AreEqual(0, definition.PropertyValues.PropertyValues.Count, "Must not have any property values as none were passed in."); Assert.AreEqual(0, definition.ConstructorArgumentValues.ArgumentCount, "Must not have any ctor args as none were passed in."); @@ -74,7 +74,7 @@ namespace Spring.Objects.Factory.Support typeof (TestObject).FullName, null, null); Assert.IsNotNull(definition, "CreateObjectDefinition with no parent is returning null (it must never do so)."); Assert.AreEqual(typeof (TestObject).FullName, definition.ObjectTypeName); - Assert.AreEqual(0, definition.PropertyValues.PropertyValues.Length, + Assert.AreEqual(0, definition.PropertyValues.PropertyValues.Count, "Must not have any property values as none were passed in."); Assert.AreEqual(0, definition.ConstructorArgumentValues.ArgumentCount, "Must not have any ctor args as none were passed in."); diff --git a/test/Spring/Spring.Core.Tests/Objects/Factory/Support/RootObjectDefinitionTests.cs b/test/Spring/Spring.Core.Tests/Objects/Factory/Support/RootObjectDefinitionTests.cs index 8b113d9e..a84d9f4e 100644 --- a/test/Spring/Spring.Core.Tests/Objects/Factory/Support/RootObjectDefinitionTests.cs +++ b/test/Spring/Spring.Core.Tests/Objects/Factory/Support/RootObjectDefinitionTests.cs @@ -89,7 +89,7 @@ namespace Spring.Objects.Factory.Support Assert.AreEqual( "Ohhh", def.ResourceDescription ); Assert.IsTrue( def.HasConstructorArgumentValues ); Assert.AreEqual( other.ConstructorArgumentValues.ArgumentCount, def.ConstructorArgumentValues.ArgumentCount ); - Assert.AreEqual( other.PropertyValues.PropertyValues.Length, def.PropertyValues.PropertyValues.Length ); + Assert.AreEqual( other.PropertyValues.PropertyValues.Count, def.PropertyValues.PropertyValues.Count ); Assert.AreEqual( other.EventHandlerValues.Events.Count, def.EventHandlerValues.Events.Count ); } @@ -148,14 +148,14 @@ namespace Spring.Objects.Factory.Support Assert.AreEqual( "InitChild", rod.InitMethodName ); Assert.AreEqual( "DestroyChild", rod.DestroyMethodName ); Assert.AreEqual( DependencyCheckingMode.None, rod.DependencyCheck ); - Assert.AreEqual( 4, rod.DependsOn.Length); + Assert.AreEqual( 4, rod.DependsOn.Count); Assert.AreEqual( false, rod.IsAbstract ); Assert.AreEqual( false, rod.IsLazyInit ); Assert.AreEqual( "ChildFactoryMethodName", rod.FactoryMethodName ); Assert.AreEqual( "ChildFactoryObjectName", rod.FactoryObjectName ); Assert.AreEqual( "ChildResourceDescription", rod.ResourceDescription ); Assert.AreEqual( 2, rod.ConstructorArgumentValues.ArgumentCount ); - Assert.AreEqual( 2, rod.PropertyValues.PropertyValues.Length ); + Assert.AreEqual( 2, rod.PropertyValues.PropertyValues.Count ); Assert.AreEqual( "Val1", rod.PropertyValues.GetPropertyValue("Prop1").Value); Assert.AreEqual( 50, rod.PropertyValues.GetPropertyValue("Age").Value); Assert.AreEqual( 2, rod.EventHandlerValues.Events.Count ); @@ -183,7 +183,7 @@ namespace Spring.Objects.Factory.Support "Must be empty if null was passed to the ctor." ); Assert.IsNotNull( def.PropertyValues, "Must never be null, but rather just empty." ); - Assert.AreEqual( 0, def.PropertyValues.PropertyValues.Length, + Assert.AreEqual( 0, def.PropertyValues.PropertyValues.Count, "Must be empty if null was passed to the ctor." ); } } diff --git a/test/Spring/Spring.Core.Tests/Objects/Factory/UnsupportedObjectDefinitionImplementation.cs b/test/Spring/Spring.Core.Tests/Objects/Factory/UnsupportedObjectDefinitionImplementation.cs index 7a9272a8..6e45ad54 100644 --- a/test/Spring/Spring.Core.Tests/Objects/Factory/UnsupportedObjectDefinitionImplementation.cs +++ b/test/Spring/Spring.Core.Tests/Objects/Factory/UnsupportedObjectDefinitionImplementation.cs @@ -19,6 +19,8 @@ #endregion using System; +using System.Collections.Generic; + using Spring.Objects.Factory.Config; using Spring.Objects.Factory.Support; @@ -109,7 +111,7 @@ namespace Spring.Objects.Factory get { throw new NotImplementedException(); } } - public string[] DependsOn + public IList DependsOn { get { throw new NotImplementedException(); } } diff --git a/test/Spring/Spring.Core.Tests/Objects/Factory/Xml/XmlListableObjectFactoryTests.cs b/test/Spring/Spring.Core.Tests/Objects/Factory/Xml/XmlListableObjectFactoryTests.cs index 44abdc76..c2b1987d 100644 --- a/test/Spring/Spring.Core.Tests/Objects/Factory/Xml/XmlListableObjectFactoryTests.cs +++ b/test/Spring/Spring.Core.Tests/Objects/Factory/Xml/XmlListableObjectFactoryTests.cs @@ -22,6 +22,8 @@ using System; using System.Collections; +using System.Collections.Generic; + using NUnit.Framework; using Spring.Objects.Factory.Config; using Spring.Objects.Factory.Support; @@ -83,11 +85,11 @@ namespace Spring.Objects.Factory.Xml protected void SetUp() { parent = new DefaultListableObjectFactory(); - IDictionary m = new Hashtable(); + IDictionary m = new Dictionary(); m["name"] = "Albert"; parent.RegisterObjectDefinition("father", new RootObjectDefinition(typeof (TestObject), new MutablePropertyValues(m))); - m = new Hashtable(); - m["name"] = "Roderick"; + m = new Dictionary(); + m["name"] = "Roderick"; parent.RegisterObjectDefinition("rod", new RootObjectDefinition(typeof (TestObject), new MutablePropertyValues(m))); // for testing dynamic ctor arguments + parent.GetObject() call propagation diff --git a/test/Spring/Spring.Core.Tests/Objects/Factory/Xml/XmlObjectCollectionTests.cs b/test/Spring/Spring.Core.Tests/Objects/Factory/Xml/XmlObjectCollectionTests.cs index e2088741..fa683b02 100644 --- a/test/Spring/Spring.Core.Tests/Objects/Factory/Xml/XmlObjectCollectionTests.cs +++ b/test/Spring/Spring.Core.Tests/Objects/Factory/Xml/XmlObjectCollectionTests.cs @@ -22,6 +22,7 @@ using System; using System.Collections; +using System.Collections.Generic; using System.IO; using System.Text; using Common.Logging; @@ -198,12 +199,12 @@ namespace Spring.Objects.Factory.Xml { IResource resource = new ReadOnlyXmlTestResource("collections.xml", GetType()); XmlObjectFactory xof = new XmlObjectFactory(resource); - IList objectNames = xof.GetObjectDefinitionNames(); + IList objectNames = xof.GetObjectDefinitionNames(); TestObject tb1 = (TestObject) xof.GetObject("aliased"); TestObject alias1 = (TestObject) xof.GetObject("myalias"); Assert.IsTrue(tb1 == alias1); - IList tb1Aliases = xof.GetAliases("aliased"); + IList tb1Aliases = xof.GetAliases("aliased"); Assert.AreEqual(1, tb1Aliases.Count); Assert.IsTrue(tb1Aliases.Contains("myalias")); Assert.IsTrue(objectNames.Contains("aliased")); @@ -214,7 +215,7 @@ namespace Spring.Objects.Factory.Xml TestObject alias3 = (TestObject) xof.GetObject("alias2"); Assert.IsTrue(tb2 == alias2); Assert.IsTrue(tb2 == alias3); - IList tb2Aliases = xof.GetAliases("multiAliased"); + IList tb2Aliases = xof.GetAliases("multiAliased"); Assert.AreEqual(2, tb2Aliases.Count); Assert.IsTrue(tb2Aliases.Contains("alias1")); Assert.IsTrue(tb2Aliases.Contains("alias2")); @@ -228,7 +229,7 @@ namespace Spring.Objects.Factory.Xml Assert.IsTrue(tb3 == alias4); Assert.IsTrue(tb3 == alias5); - IList tb3Aliases = xof.GetAliases("aliasWithoutId1"); + IList tb3Aliases = xof.GetAliases("aliasWithoutId1"); Assert.AreEqual(2, tb2Aliases.Count); Assert.IsTrue(tb3Aliases.Contains("aliasWithoutId2")); Assert.IsTrue(tb3Aliases.Contains("aliasWithoutId3")); diff --git a/test/Spring/Spring.Core.Tests/Objects/Factory/Xml/XmlObjectDefinitionReaderTests.cs b/test/Spring/Spring.Core.Tests/Objects/Factory/Xml/XmlObjectDefinitionReaderTests.cs index d3f14717..45aabde2 100644 --- a/test/Spring/Spring.Core.Tests/Objects/Factory/Xml/XmlObjectDefinitionReaderTests.cs +++ b/test/Spring/Spring.Core.Tests/Objects/Factory/Xml/XmlObjectDefinitionReaderTests.cs @@ -350,7 +350,7 @@ namespace Spring.Objects.Factory.Xml Assert.AreEqual(AutoWiringMode.No, od2.AutowireMode); Assert.AreEqual("init", od2.InitMethodName); Assert.AreEqual("destroy", od2.DestroyMethodName); - Assert.AreEqual(1, od2.DependsOn.Length); + Assert.AreEqual(1, od2.DependsOn.Count); Assert.AreEqual("test1", od2.DependsOn[0]); Assert.AreEqual(DependencyCheckingMode.Simple, od2.DependencyCheck); } diff --git a/test/Spring/Spring.Core.Tests/Objects/Factory/Xml/XmlObjectFactoryTests.cs b/test/Spring/Spring.Core.Tests/Objects/Factory/Xml/XmlObjectFactoryTests.cs index daf513af..a4b772bd 100644 --- a/test/Spring/Spring.Core.Tests/Objects/Factory/Xml/XmlObjectFactoryTests.cs +++ b/test/Spring/Spring.Core.Tests/Objects/Factory/Xml/XmlObjectFactoryTests.cs @@ -22,6 +22,7 @@ using System; using System.Collections; +using System.Collections.Generic; using System.Data; using System.Diagnostics; using System.Globalization; @@ -458,9 +459,9 @@ namespace Spring.Objects.Factory.Xml "; stream = new MemoryStream(Encoding.UTF8.GetBytes(xml)); XmlObjectFactory factory = new XmlObjectFactory(new InputStreamResource(stream, string.Empty)); - string[] names = factory.GetObjectDefinitionNames(); + IList names = factory.GetObjectDefinitionNames(); // mmm, how is one to test this? I have no idea what the generated name is... - Assert.AreEqual(2, names.Length, "Should have got two object names, one of which is autogenerated."); + Assert.AreEqual(2, names.Count, "Should have got two object names, one of which is autogenerated."); } /// @@ -786,10 +787,10 @@ namespace Spring.Objects.Factory.Xml // abstract objects should not match //TODO add overloaded GetObjectOfType with 1 arg - IDictionary tbs = parent.GetObjectsOfType(typeof(TestObject), true, true); + IDictionary tbs = parent.GetObjectsOfType(typeof(TestObject), true, true); Assert.AreEqual(2, tbs.Count); - Assert.IsTrue(tbs.Contains("inheritedTestObjectPrototype")); - Assert.IsTrue(tbs.Contains("inheritedTestObjectSingleton")); + Assert.IsTrue(tbs.ContainsKey("inheritedTestObjectPrototype")); + Assert.IsTrue(tbs.ContainsKey("inheritedTestObjectSingleton")); // non-abstract object should work, even if it serves as parent object o1 = parent.GetObject("inheritedTestObjectPrototype"); diff --git a/test/Spring/Spring.Core.Tests/Objects/MutablePropertyValuesTests.cs b/test/Spring/Spring.Core.Tests/Objects/MutablePropertyValuesTests.cs index 37aeb084..4fa0b848 100644 --- a/test/Spring/Spring.Core.Tests/Objects/MutablePropertyValuesTests.cs +++ b/test/Spring/Spring.Core.Tests/Objects/MutablePropertyValuesTests.cs @@ -20,8 +20,7 @@ #region Imports -using System; -using System.Collections; +using System.Collections.Generic; using NUnit.Framework; @@ -70,16 +69,16 @@ namespace Spring.Objects root.Add (new PropertyValue ("Name", "Fiona Apple")); root.Add (new PropertyValue ("Age", 24)); MutablePropertyValues props = new MutablePropertyValues (root); - Assert.AreEqual (2, props.PropertyValues.Length); + Assert.AreEqual (2, props.PropertyValues.Count); } [Test] public void InstantiationWithNulls () { - MutablePropertyValues props = new MutablePropertyValues ((IDictionary) null); - Assert.AreEqual (0, props.PropertyValues.Length); + MutablePropertyValues props = new MutablePropertyValues ((IDictionary) null); + Assert.AreEqual (0, props.PropertyValues.Count); MutablePropertyValues props2 = new MutablePropertyValues ((IPropertyValues) null); - Assert.AreEqual (0, props2.PropertyValues.Length); + Assert.AreEqual (0, props2.PropertyValues.Count); } [Test] @@ -89,7 +88,7 @@ namespace Spring.Objects props.AddAll (new PropertyValue [] { new PropertyValue ("Name", "Fiona Apple"), new PropertyValue ("Age", 24)}); - Assert.AreEqual (2, props.PropertyValues.Length); + Assert.AreEqual (2, props.PropertyValues.Count); } [Test] @@ -98,8 +97,8 @@ namespace Spring.Objects MutablePropertyValues props = new MutablePropertyValues (); props.Add (new PropertyValue ("Name", "Fiona Apple")); props.Add (new PropertyValue ("Age", 24)); - props.AddAll ((IList) null); - Assert.AreEqual (2, props.PropertyValues.Length); + props.AddAll ((IList) null); + Assert.AreEqual (2, props.PropertyValues.Count); } [Test] @@ -108,9 +107,9 @@ namespace Spring.Objects MutablePropertyValues props = new MutablePropertyValues (); props.Add (new PropertyValue ("Name", "Fiona Apple")); props.Add (new PropertyValue ("Age", 24)); - Assert.AreEqual (2, props.PropertyValues.Length); + Assert.AreEqual (2, props.PropertyValues.Count); props.Remove ("name"); - Assert.AreEqual (1, props.PropertyValues.Length); + Assert.AreEqual (1, props.PropertyValues.Count); } [Test] @@ -120,9 +119,9 @@ namespace Spring.Objects PropertyValue propName = new PropertyValue ("Name", "Fiona Apple"); props.Add (propName); props.Add (new PropertyValue ("Age", 24)); - Assert.AreEqual (2, props.PropertyValues.Length); + Assert.AreEqual (2, props.PropertyValues.Count); props.Remove (propName); - Assert.AreEqual (1, props.PropertyValues.Length); + Assert.AreEqual (1, props.PropertyValues.Count); } [Test] @@ -139,11 +138,11 @@ namespace Spring.Objects public void AddAllInMap () { MutablePropertyValues props = new MutablePropertyValues (); - IDictionary map = new Hashtable (); - map.Add ("Name", "Fiona Apple"); + IDictionary map = new Dictionary(); + map.Add("Name", "Fiona Apple"); map.Add ("Age", 24); props.AddAll (map); - Assert.AreEqual (2, props.PropertyValues.Length); + Assert.AreEqual (2, props.PropertyValues.Count); } [Test] @@ -151,15 +150,15 @@ namespace Spring.Objects { MutablePropertyValues props = new MutablePropertyValues (); props.Add (new PropertyValue ("Name", "Fiona Apple")); - props.AddAll ((IDictionary) null); - Assert.AreEqual (1, props.PropertyValues.Length); + props.AddAll ((IDictionary) null); + Assert.AreEqual (1, props.PropertyValues.Count); } [Test] public void ChangesSince () { - IDictionary map = new Hashtable (); - PropertyValue propName = new PropertyValue ("Name", "Fiona Apple"); + IDictionary map = new Dictionary(); + PropertyValue propName = new PropertyValue("Name", "Fiona Apple"); map.Add (propName.Name, propName.Value); map.Add ("Age", 24); MutablePropertyValues props = new MutablePropertyValues (map); @@ -168,13 +167,13 @@ namespace Spring.Objects // change the name... this is the change we'll be looking for newProps.SetPropertyValueAt (new PropertyValue (propName.Name, "Naomi Woolf"), 0); IPropertyValues changes = newProps.ChangesSince (props); - Assert.AreEqual (1, changes.PropertyValues.Length); + Assert.AreEqual (1, changes.PropertyValues.Count); // the name was changed, so its the name property that should be in the changed list Assert.IsTrue (changes.Contains ("name")); newProps.Add (new PropertyValue ("Commentator", "Naomi Woolf")); changes = newProps.ChangesSince (props); - Assert.AreEqual (2, changes.PropertyValues.Length); + Assert.AreEqual (2, changes.PropertyValues.Count); // the Commentator was added, so its the Commentator property that should be in the changed list Assert.IsTrue (changes.Contains ("commentator")); // the name was changed, so its the name property that should be in the changed list @@ -184,14 +183,14 @@ namespace Spring.Objects [Test] public void ChangesSinceWithSelf () { - IDictionary map = new Hashtable (); - map.Add ("Name", "Fiona Apple"); + IDictionary map = new Dictionary(); + map.Add("Name", "Fiona Apple"); map.Add ("Age", 24); MutablePropertyValues props = new MutablePropertyValues (map); props.Remove ("name"); // get all of the changes between self and self again (there should be none); IPropertyValues changes = props.ChangesSince (props); - Assert.AreEqual (0, changes.PropertyValues.Length); + Assert.AreEqual (0, changes.PropertyValues.Count); } } } diff --git a/test/Spring/Spring.Core.Tests/Util/DefensiveEventRaiserTests.cs b/test/Spring/Spring.Core.Tests/Util/DefensiveEventRaiserTests.cs index 8d792fb6..642b2d2e 100644 --- a/test/Spring/Spring.Core.Tests/Util/DefensiveEventRaiserTests.cs +++ b/test/Spring/Spring.Core.Tests/Util/DefensiveEventRaiserTests.cs @@ -62,7 +62,7 @@ namespace Spring.Util IEventExceptionsCollector exceptions = bru.OnPop( "Iron Brew", eventRaiser ); - Assert.AreEqual(1, exceptions.Exceptions.Length); + Assert.AreEqual(1, exceptions.Exceptions.Count); Assert.IsTrue(firstCall); Assert.IsTrue(secondCall); Assert.IsTrue(thirdCall); diff --git a/test/Spring/Spring.Core.Tests/Util/ReflectionUtilsTests.cs b/test/Spring/Spring.Core.Tests/Util/ReflectionUtilsTests.cs index a9989224..350a5b45 100644 --- a/test/Spring/Spring.Core.Tests/Util/ReflectionUtilsTests.cs +++ b/test/Spring/Spring.Core.Tests/Util/ReflectionUtilsTests.cs @@ -22,6 +22,7 @@ using System; using System.Collections; +using System.Collections.Generic; using System.Reflection; using System.Reflection.Emit; using System.Runtime.InteropServices; @@ -457,8 +458,8 @@ namespace Spring.Util public void ToInterfaceArrayFromType() { Type[] expected = new Type[] { typeof(IFoo), typeof(IBar) }; - Type[] actual = ReflectionUtils.ToInterfaceArray(typeof(IBar)); - Assert.AreEqual(expected.Length, actual.Length); + IList actual = ReflectionUtils.ToInterfaceArray(typeof(IBar)); + Assert.AreEqual(expected.Length, actual.Count); Assert.AreEqual(expected[0], actual[0]); Assert.AreEqual(expected[1], actual[1]); } diff --git a/test/Spring/Spring.Core.Tests/Util/StringUtilsTests.cs b/test/Spring/Spring.Core.Tests/Util/StringUtilsTests.cs index 426e18cf..f0a36836 100644 --- a/test/Spring/Spring.Core.Tests/Util/StringUtilsTests.cs +++ b/test/Spring/Spring.Core.Tests/Util/StringUtilsTests.cs @@ -21,7 +21,8 @@ #region Imports using System; -using System.Collections; +using System.Collections.Generic; + using NUnit.Framework; #endregion @@ -119,7 +120,7 @@ namespace Spring.Util Assert.AreEqual( ":Foo,:Bar", StringUtils.CollectionToCommaDelimitedString(arr)); - Assert.AreEqual("null", StringUtils.CollectionToCommaDelimitedString(null)); + Assert.AreEqual("null", StringUtils.CollectionToCommaDelimitedString(null)); } [Test] @@ -127,8 +128,8 @@ namespace Spring.Util { Foo[] arr = new Foo[] {new Foo("Foo"), new Foo("Bar")}; Assert.AreEqual( - ":Foo,:Bar", StringUtils.ArrayToCommaDelimitedString(arr)); - Assert.AreEqual("null", StringUtils.ArrayToCommaDelimitedString(null)); + ":Foo,:Bar", StringUtils.CollectionToCommaDelimitedString(arr)); + Assert.AreEqual("null", StringUtils.CollectionToCommaDelimitedString(null)); } [Test] @@ -214,71 +215,71 @@ namespace Spring.Util [Test] public void GetAntExpressionsWithNull() { - IList actual = StringUtils.GetAntExpressions(null); + IList actual = StringUtils.GetAntExpressions(null); Assert.IsNotNull(actual); string[] expected = new string[] {}; - Assert.IsTrue(ArrayUtils.AreEqual(expected, (string[]) ArrayList.Adapter(actual).ToArray(typeof (string)))); + Assert.IsTrue(ArrayUtils.AreEqual(expected, new List(actual).ToArray())); } [Test] public void GetAntExpressionsWithEmptyString() { - IList actual = StringUtils.GetAntExpressions(String.Empty); + IList actual = StringUtils.GetAntExpressions(String.Empty); Assert.IsNotNull(actual); string[] expected = new string[] {}; - Assert.IsTrue(ArrayUtils.AreEqual(expected, (string[]) ArrayList.Adapter(actual).ToArray(typeof (string)))); + Assert.IsTrue(ArrayUtils.AreEqual(expected, new List(actual).ToArray())); } [Test] public void GetAntExpressionsWithAStringThatDoesntHaveAnyExpressions() { - IList actual = StringUtils.GetAntExpressions("I could really go a cup of tea right now... in fact I think I'll go get one."); + IList actual = StringUtils.GetAntExpressions("I could really go a cup of tea right now... in fact I think I'll go get one."); Assert.IsNotNull(actual); string[] expected = new string[] {}; - Assert.IsTrue(ArrayUtils.AreEqual(expected, (string[]) ArrayList.Adapter(actual).ToArray(typeof (string)))); + Assert.IsTrue(ArrayUtils.AreEqual(expected, new List(actual).ToArray())); } [Test] public void GetAntExpressionsWithAValidExpression() { - IList actual = StringUtils.GetAntExpressions("${slurp}. Ah! That is one good cup of tea. That agent Cooper and his coffee... he sure was missing out on a good thing."); + IList actual = StringUtils.GetAntExpressions("${slurp}. Ah! That is one good cup of tea. That agent Cooper and his coffee... he sure was missing out on a good thing."); CheckGetAntExpressions(actual, "slurp"); } [Test] public void GetAntExpressionsWithANestedExpression() { - IList actual = StringUtils.GetAntExpressions("And yeah, I've never been a fan of the doughnut... ${blechh${shudder}}"); + IList actual = StringUtils.GetAntExpressions("And yeah, I've never been a fan of the doughnut... ${blechh${shudder}}"); CheckGetAntExpressions(actual, "blechh${shudder"); } [Test] public void GetAntExpressionsWithACoupleOfDuplicatedValidExpressions() { - IList actual = StringUtils.GetAntExpressions("${sigh}. Laura Palmer though... man, that sure was a tragedy. ${sigh}"); + IList actual = StringUtils.GetAntExpressions("${sigh}. Laura Palmer though... man, that sure was a tragedy. ${sigh}"); CheckGetAntExpressions(actual, "sigh"); } [Test] public void GetAntExpressionsWithACoupleOfUniqueValidExpressions() { - IList actual = StringUtils.GetAntExpressions("${Mmm}. Has there been any good telly since then... ${thinks}"); + IList actual = StringUtils.GetAntExpressions("${Mmm}. Has there been any good telly since then... ${thinks}"); CheckGetAntExpressions(actual, "Mmm", "thinks"); } [Test] public void GetAntExpressionsWithMalformedExpression() { - IList actual = StringUtils.GetAntExpressions("Mmm... just what counts as ${a malformed{ expression?"); + IList actual = StringUtils.GetAntExpressions("Mmm... just what counts as ${a malformed{ expression?"); CheckGetAntExpressions(actual, new string[] {}); } - private static void CheckGetAntExpressions(IList actual, params string[] expected) + private static void CheckGetAntExpressions(IList actual, params string[] expected) { Assert.IsNotNull(actual); Assert.IsTrue(ArrayUtils.AreEqual( expected, - (string[]) ArrayList.Adapter(actual).ToArray(typeof (string)))); + new List(actual).ToArray())); } [Test] diff --git a/test/Spring/Spring.Core.Tests/Validation/Actions/ExceptionActionTests.cs b/test/Spring/Spring.Core.Tests/Validation/Actions/ExceptionActionTests.cs index 54711cc3..fbc9eb1d 100644 --- a/test/Spring/Spring.Core.Tests/Validation/Actions/ExceptionActionTests.cs +++ b/test/Spring/Spring.Core.Tests/Validation/Actions/ExceptionActionTests.cs @@ -20,7 +20,7 @@ using System; using System.Collections; - +using System.Collections.Generic; using NUnit.Framework; using Spring.Expressions; @@ -39,7 +39,7 @@ namespace Spring.Validation.Actions public void WhenInvalidThrowDefaultException() { Inventor context = new Inventor("Nikola Tesla", new DateTime(1856, 7, 9), "Serbian"); - IDictionary vars = new Hashtable(); + Dictionary vars = new Dictionary(); ExceptionAction action = new ExceptionAction(); try { @@ -56,7 +56,7 @@ namespace Spring.Validation.Actions public void WhenInvalidThrowCustomException() { Inventor context = new Inventor("Nikola Tesla", new DateTime(1856, 7, 9), "Serbian"); - IDictionary vars = new Hashtable(); + Dictionary vars = new Dictionary(); ExceptionAction action = new ExceptionAction("new System.InvalidOperationException('invalid')"); try { @@ -73,7 +73,7 @@ namespace Spring.Validation.Actions public void WhenInvalidThrowCustomExceptionUsingSetter() { Inventor context = new Inventor("Nikola Tesla", new DateTime(1856, 7, 9), "Serbian"); - IDictionary vars = new Hashtable(); + Dictionary vars = new Dictionary(); ExceptionAction action = new ExceptionAction(); IExpression expression = Expression.Parse("new System.InvalidOperationException('invalid')"); action.ThrowsExpression = expression; @@ -93,7 +93,7 @@ namespace Spring.Validation.Actions public void WhenValid() { Inventor context = new Inventor("Nikola Tesla", new DateTime(1856, 7, 9), "Serbian"); - IDictionary vars = new Hashtable(); + Dictionary vars = new Dictionary(); ExceptionAction action = new ExceptionAction(); try { diff --git a/test/Spring/Spring.Core.Tests/Validation/Actions/ExpressionActionTests.cs b/test/Spring/Spring.Core.Tests/Validation/Actions/ExpressionActionTests.cs index 0aaba181..c645ed96 100644 --- a/test/Spring/Spring.Core.Tests/Validation/Actions/ExpressionActionTests.cs +++ b/test/Spring/Spring.Core.Tests/Validation/Actions/ExpressionActionTests.cs @@ -20,7 +20,7 @@ using System; using System.Collections; - +using System.Collections.Generic; using NUnit.Framework; using Spring.Expressions; @@ -38,7 +38,7 @@ namespace Spring.Validation.Actions public void WhenValid() { Inventor context = new Inventor("Nikola Tesla", new DateTime(1856, 7, 9), "Serbian"); - IDictionary vars = new Hashtable(); + Dictionary vars = new Dictionary(); ExpressionAction action = new ExpressionAction("#result = 'valid'", "#result = 'invalid'"); action.Execute(true, context, vars, null); @@ -57,14 +57,14 @@ namespace Spring.Validation.Actions vars.Clear(); action = new ExpressionAction(null, "#result = 'invalid'"); action.Execute(true, context, vars, null); - Assert.IsFalse(vars.Contains("result"), "Result should not exist when valid expression is null."); + Assert.IsFalse(vars.ContainsKey("result"), "Result should not exist when valid expression is null."); } [Test] public void WhenInvalid() { Inventor context = new Inventor("Nikola Tesla", new DateTime(1856, 7, 9), "Serbian"); - IDictionary vars = new Hashtable(); + Dictionary vars = new Dictionary(); ExpressionAction action = new ExpressionAction("#result = 'valid'", "#result = 'invalid'"); action.Execute(false, context, vars, null); @@ -83,19 +83,19 @@ namespace Spring.Validation.Actions vars.Clear(); action = new ExpressionAction("#result = 'valid'", null); action.Execute(false, context, vars, null); - Assert.IsFalse(vars.Contains("result"), "Result should not exist when invalid expression is null."); + Assert.IsFalse(vars.ContainsKey("result"), "Result should not exist when invalid expression is null."); } [Test] public void WhenActionIsNotExecutedBecauseWhenExpressionReturnsFalse() { Inventor context = new Inventor("Nikola Tesla", new DateTime(1856, 7, 9), "Serbian"); - IDictionary vars = new Hashtable(); + Dictionary vars = new Dictionary(); ExpressionAction action = new ExpressionAction("#result = 'valid'", "#result = 'invalid'"); action.When = Expression.Parse("false"); action.Execute(true, context, vars, null); - Assert.IsFalse(vars.Contains("result")); + Assert.IsFalse(vars.ContainsKey("result")); } } diff --git a/test/Spring/Spring.Core.Tests/Validation/HelperClasses.cs b/test/Spring/Spring.Core.Tests/Validation/HelperClasses.cs index f0361405..d77d56d2 100644 --- a/test/Spring/Spring.Core.Tests/Validation/HelperClasses.cs +++ b/test/Spring/Spring.Core.Tests/Validation/HelperClasses.cs @@ -20,7 +20,7 @@ using System; using System.Collections; - +using System.Collections.Generic; using Spring.Objects.Factory.Config; using Spring.Objects.Factory.Support; using Spring.Validation.Actions; @@ -36,7 +36,7 @@ namespace Spring.Validation get { return _wasCalled; } } - public override bool Validate(object validationContext, IDictionary contextParams, IValidationErrors errors) + public override bool Validate(object validationContext, IDictionary contextParams, IValidationErrors errors) { _wasCalled = true; return base.Validate (validationContext, contextParams, errors); @@ -85,31 +85,33 @@ namespace Spring.Validation public sealed class MockObjectDefinitionRegistry : IObjectDefinitionRegistry { - private IDictionary objects = new Hashtable(); + private IDictionary objects = new Dictionary(); public int ObjectDefinitionCount { get { return this.objects.Count; } } - public string[] GetObjectDefinitionNames() + public IList GetObjectDefinitionNames() { - return (string[]) new ArrayList(this.objects.Keys).ToArray(typeof(string)); + return new List(this.objects.Keys); } - public IObjectDefinition[] GetObjectDefinitions() + public IList GetObjectDefinitions() { - return (IObjectDefinition[]) new ArrayList(this.objects.Values).ToArray(typeof(IObjectDefinition)); + return new List(this.objects.Values); } public bool ContainsObjectDefinition(string name) { - return objects.Contains(name); + return objects.ContainsKey(name); } public IObjectDefinition GetObjectDefinition(string name) { - return (IObjectDefinition) objects[name]; + IObjectDefinition definition; + objects.TryGetValue(name, out definition); + return definition; } public void RegisterObjectDefinition(string name, IObjectDefinition definition) @@ -117,7 +119,7 @@ namespace Spring.Validation this.objects[name] = definition; } - public string[] GetAliases(string name) + public IList GetAliases(string name) { throw new NotImplementedException(); } diff --git a/test/Spring/Spring.Core.Tests/Validation/ValidationErrorsTests.cs b/test/Spring/Spring.Core.Tests/Validation/ValidationErrorsTests.cs index fd10cb36..6115599d 100644 --- a/test/Spring/Spring.Core.Tests/Validation/ValidationErrorsTests.cs +++ b/test/Spring/Spring.Core.Tests/Validation/ValidationErrorsTests.cs @@ -22,6 +22,7 @@ using System; using System.Collections; +using System.Collections.Generic; using System.IO; using System.Xml.Serialization; using NUnit.Framework; @@ -49,7 +50,7 @@ namespace Spring.Validation { ValidationErrors errors = new ValidationErrors(); errors.AddError(string.Empty, ErrorMessageOne); - IList resolvedErrors = errors.GetResolvedErrors(string.Empty, null); + IList resolvedErrors = errors.GetResolvedErrors(string.Empty, null); Assert.AreEqual(ErrorMessageOne.Id, (string)resolvedErrors[0]); } [Test] @@ -101,11 +102,11 @@ namespace Spring.Validation { IValidationErrors errors = new ValidationErrors(); - IList typedErrors = errors.GetErrors("xyz"); + IList typedErrors = errors.GetErrors("xyz"); Assert.IsNotNull(typedErrors); Assert.AreEqual(0, typedErrors.Count); - IList resolvedErrors = errors.GetResolvedErrors("xyz", new NullMessageSource()); + IList resolvedErrors = errors.GetResolvedErrors("xyz", new NullMessageSource()); Assert.IsNotNull(resolvedErrors); Assert.AreEqual(0, resolvedErrors.Count); } @@ -138,13 +139,13 @@ namespace Spring.Validation errors.MergeErrors(otherErrors); Assert.IsFalse(errors.IsEmpty); - IList mergedErrors = errors.GetErrors(GoodErrorKey); + IList mergedErrors = errors.GetErrors(GoodErrorKey); Assert.IsNotNull(mergedErrors); Assert.AreEqual(2, mergedErrors.Count); Assert.AreEqual(ErrorMessageOne, mergedErrors[0]); Assert.AreEqual(ErrorMessageTwo, mergedErrors[1]); - IList otherErrorsForKey = errors.GetErrors(anotherKey); + IList otherErrorsForKey = errors.GetErrors(anotherKey); Assert.IsNotNull(otherErrorsForKey); Assert.AreEqual(1, otherErrorsForKey.Count); Assert.AreEqual(ErrorMessageTwo, otherErrorsForKey[0]); diff --git a/test/Spring/Spring.Core.Tests/Validation/ValidationNamespaceParserTests.cs b/test/Spring/Spring.Core.Tests/Validation/ValidationNamespaceParserTests.cs index dcdd82bd..44e6b242 100644 --- a/test/Spring/Spring.Core.Tests/Validation/ValidationNamespaceParserTests.cs +++ b/test/Spring/Spring.Core.Tests/Validation/ValidationNamespaceParserTests.cs @@ -20,6 +20,7 @@ #region Imports +using System.Collections.Generic; using System.IO; using System.Xml; using NUnit.Framework; @@ -64,8 +65,8 @@ namespace Spring.Validation parser.ParseElement(element, parserContext); } } - IObjectDefinition[] defs = registry.GetObjectDefinitions(); - Assert.AreEqual(9, defs.Length); + IList defs = registry.GetObjectDefinitions(); + Assert.AreEqual(9, defs.Count); IObjectDefinition def = registry.GetObjectDefinition("destinationAirportValidator"); Assert.IsTrue(def.IsSingleton); diff --git a/test/Spring/Spring.Core.Tests/Validation/Validators/ConditionValidatorTests.cs b/test/Spring/Spring.Core.Tests/Validation/Validators/ConditionValidatorTests.cs index 7a023792..36806309 100644 --- a/test/Spring/Spring.Core.Tests/Validation/Validators/ConditionValidatorTests.cs +++ b/test/Spring/Spring.Core.Tests/Validation/Validators/ConditionValidatorTests.cs @@ -21,7 +21,7 @@ #region Imports using System.Collections; - +using System.Collections.Generic; using NUnit.Framework; using Spring.Context.Support; @@ -75,7 +75,7 @@ namespace Spring.Validation.Validators IValidationErrors errors = new ValidationErrors(); Assert.IsFalse(validator.Validate(tesla, errors)); Assert.IsFalse(errors.IsEmpty); - IList namedErrors = errors.GetResolvedErrors("InventorValidator", new NullMessageSource()); + IList namedErrors = errors.GetResolvedErrors("InventorValidator", new NullMessageSource()); Assert.AreEqual(1, namedErrors.Count); string error = (string) namedErrors[0]; Assert.AreEqual("Wrong name", error); diff --git a/test/Spring/Spring.Data.NHibernate.Tests/Data/NHibernate/LocalSessionFactoryObjectTests.cs b/test/Spring/Spring.Data.NHibernate.Tests/Data/NHibernate/LocalSessionFactoryObjectTests.cs index 1a359138..4f6de146 100644 --- a/test/Spring/Spring.Data.NHibernate.Tests/Data/NHibernate/LocalSessionFactoryObjectTests.cs +++ b/test/Spring/Spring.Data.NHibernate.Tests/Data/NHibernate/LocalSessionFactoryObjectTests.cs @@ -53,7 +53,7 @@ namespace Spring.Data.NHibernate sfo.DbProvider = dbProvider; sfo.ApplicationContext = new StaticApplicationContext(); - IDictionary properties = new Hashtable(); + Dictionary properties = new Dictionary(); properties.Add(Environment.Dialect, typeof(MsSql2000Dialect).AssemblyQualifiedName); properties.Add(Environment.ConnectionDriver, typeof(SqlClientDriver).AssemblyQualifiedName); properties.Add(Environment.ConnectionProvider, typeof(DriverConnectionProvider).AssemblyQualifiedName); @@ -93,7 +93,7 @@ namespace Spring.Data.NHibernate public void LocalSessionFactoryObjectWithInvalidProperties() { LocalSessionFactoryObject sfo = new LocalSessionFactoryObject(); - IDictionary properties = new Hashtable(); + Dictionary properties = new Dictionary(); properties.Add(Environment.Dialect, typeof(MsSql2000Dialect).AssemblyQualifiedName); properties.Add(Environment.ConnectionProvider, "myClass"); sfo.HibernateProperties = properties; diff --git a/test/Spring/Spring.Data.Tests/Data/Common/DbProviderFactoryTests.cs b/test/Spring/Spring.Data.Tests/Data/Common/DbProviderFactoryTests.cs index 5263ac65..1a35bbb0 100644 --- a/test/Spring/Spring.Data.Tests/Data/Common/DbProviderFactoryTests.cs +++ b/test/Spring/Spring.Data.Tests/Data/Common/DbProviderFactoryTests.cs @@ -19,6 +19,7 @@ #endregion using System; +using System.Collections.Generic; using System.Globalization; using System.Reflection; using System.Threading; @@ -217,8 +218,8 @@ namespace Spring.Data.Common //Initialize internal application context. factory DbProviderFactory.GetDbProvider("SqlServer-2.0"); IApplicationContext ctx = DbProviderFactory.ApplicationContext; - string[] dbProviderNames = ctx.GetObjectNamesForType(typeof(IDbProvider)); - Assert.IsTrue(dbProviderNames.Length > 0); + IList dbProviderNames = ctx.GetObjectNamesForType(typeof(IDbProvider)); + Assert.IsTrue(dbProviderNames.Count > 0); } diff --git a/test/Spring/Spring.Messaging.Nms.Tests/Messaging/Nms/Config/NmsNamespaceHandlerTests.cs b/test/Spring/Spring.Messaging.Nms.Tests/Messaging/Nms/Config/NmsNamespaceHandlerTests.cs index 0a3b9c4c..ce0f5043 100644 --- a/test/Spring/Spring.Messaging.Nms.Tests/Messaging/Nms/Config/NmsNamespaceHandlerTests.cs +++ b/test/Spring/Spring.Messaging.Nms.Tests/Messaging/Nms/Config/NmsNamespaceHandlerTests.cs @@ -20,7 +20,7 @@ #region Imports -using System.Collections; +using System.Collections.Generic; using Apache.NMS; using NUnit.Framework; using Rhino.Mocks; @@ -73,23 +73,23 @@ namespace Spring.Messaging.Nms.Config [Test] public void ObjectsCreated() { - IDictionary containers = ctx.GetObjectsOfType(typeof(SimpleMessageListenerContainer)); + IDictionary containers = ctx.GetObjects(); Assert.AreEqual(3, containers.Count); } [Test] public void ContainerConfiguration() { - IDictionary containers = ctx.GetObjectsOfType(typeof (SimpleMessageListenerContainer)); + IDictionary containers = ctx.GetObjects(); IConnectionFactory defaultConnectionFactory = (IConnectionFactory) ctx.GetObject(DEFAULT_CONNECTION_FACTORY); IConnectionFactory explicitConnectionFactory = (IConnectionFactory) ctx.GetObject(EXPLICIT_CONNECTION_FACTORY); int defaultConnectionFactoryCount = 0; int explicitConnectionFactoryCount = 0; - foreach (DictionaryEntry dictionaryEntry in containers) + foreach (KeyValuePair dictionaryEntry in containers) { - SimpleMessageListenerContainer container = (SimpleMessageListenerContainer) dictionaryEntry.Value; + SimpleMessageListenerContainer container = dictionaryEntry.Value; if (container.ConnectionFactory.Equals(defaultConnectionFactory)) { defaultConnectionFactoryCount++; diff --git a/test/Spring/Spring.Messaging.Tests/Messaging/Listener/Adapter/StandardReflectionMessageListenerAdapter.cs b/test/Spring/Spring.Messaging.Tests/Messaging/Listener/Adapter/StandardReflectionMessageListenerAdapter.cs index 7fe63a4c..8dbe64de 100644 --- a/test/Spring/Spring.Messaging.Tests/Messaging/Listener/Adapter/StandardReflectionMessageListenerAdapter.cs +++ b/test/Spring/Spring.Messaging.Tests/Messaging/Listener/Adapter/StandardReflectionMessageListenerAdapter.cs @@ -49,7 +49,7 @@ namespace Spring.Messaging.Listener.Adapter { throw new ListenerExecutionFailedException("Failed to invoke the target method '" + methodName + "' with arguments " + - StringUtils.ArrayToCommaDelimitedString(arguments)); + StringUtils.CollectionToCommaDelimitedString(arguments)); } try { @@ -62,7 +62,7 @@ namespace Spring.Messaging.Listener.Adapter { throw new ListenerExecutionFailedException("Failed to invoke the target method '" + methodName + "' with arguments " + - StringUtils.ArrayToCommaDelimitedString(arguments), e); + StringUtils.CollectionToCommaDelimitedString(arguments), e); } } } diff --git a/test/Spring/Spring.Services.Tests/ServiceModel/Config/ChannelFactoryObjectDefinitionParserTests.cs b/test/Spring/Spring.Services.Tests/ServiceModel/Config/ChannelFactoryObjectDefinitionParserTests.cs index 660fe48a..a16c82bf 100644 --- a/test/Spring/Spring.Services.Tests/ServiceModel/Config/ChannelFactoryObjectDefinitionParserTests.cs +++ b/test/Spring/Spring.Services.Tests/ServiceModel/Config/ChannelFactoryObjectDefinitionParserTests.cs @@ -21,6 +21,7 @@ #region Imports using System.Collections; +using System.Collections.Generic; using System.ServiceModel; using Spring.Context; @@ -103,7 +104,7 @@ namespace Spring.ServiceModel.Config IApplicationContext ctx = new XmlApplicationContext( ReadOnlyXmlTestResource.GetFilePath("ChannelFactoryObjectDefinitionParserTests.WithoutId.xml", this.GetType())); - IDictionary channels = ctx.GetObjectsOfType(typeof(IContract)); + IDictionary channels = ctx.GetObjects(); Assert.AreEqual(1, channels.Count); } diff --git a/test/Spring/Spring.Web.Tests/Caching/AspNetCacheTests.cs b/test/Spring/Spring.Web.Tests/Caching/AspNetCacheTests.cs index 4b530202..3eb382cb 100644 --- a/test/Spring/Spring.Web.Tests/Caching/AspNetCacheTests.cs +++ b/test/Spring/Spring.Web.Tests/Caching/AspNetCacheTests.cs @@ -22,6 +22,7 @@ using System; using System.Collections; +using System.Collections.Generic; using System.Threading; using System.Web; using System.Web.Caching; @@ -122,7 +123,7 @@ namespace Spring.Caching mocks.ReplayAll(); // verify ICollection keys = mockedCache.Keys; - Assert.AreEqual( new string[] { "keyA", "keyB" }, new ArrayList(keys).ToArray(typeof(string)) ); + CollectionAssert.AreEqual(new string[] { "keyA", "keyB" }, keys); mocks.VerifyAll(); } diff --git a/test/Spring/Spring.Web.Tests/Objects/Factory/Support/WebObjectDefinitionFactoryTests.cs b/test/Spring/Spring.Web.Tests/Objects/Factory/Support/WebObjectDefinitionFactoryTests.cs index a71b3735..bbbf4413 100644 --- a/test/Spring/Spring.Web.Tests/Objects/Factory/Support/WebObjectDefinitionFactoryTests.cs +++ b/test/Spring/Spring.Web.Tests/Objects/Factory/Support/WebObjectDefinitionFactoryTests.cs @@ -50,7 +50,7 @@ namespace Spring.Objects.Factory.Support typeof(TestObject).FullName, null, AppDomain.CurrentDomain); Assert.IsNotNull(definition, "CreateObjectDefinition with no parent is returning null (it must never do so)."); Assert.AreEqual(typeof(TestObject), definition.ObjectType); - Assert.AreEqual(0, definition.PropertyValues.PropertyValues.Length, + Assert.AreEqual(0, definition.PropertyValues.PropertyValues.Count, "Must not have any property values as none were passed in."); Assert.AreEqual(0, definition.ConstructorArgumentValues.ArgumentCount, "Must not have any ctor args as none were passed in."); @@ -65,7 +65,7 @@ namespace Spring.Objects.Factory.Support typeof(TestObject).FullName, "Aimee Mann", AppDomain.CurrentDomain); Assert.IsNotNull(definition, "CreateObjectDefinition with no parent is returning null (it must never do so)."); Assert.AreEqual(typeof(TestObject), definition.ObjectType); - Assert.AreEqual(0, definition.PropertyValues.PropertyValues.Length, + Assert.AreEqual(0, definition.PropertyValues.PropertyValues.Count, "Must not have any property values as none were passed in."); Assert.AreEqual(0, definition.ConstructorArgumentValues.ArgumentCount, "Must not have any ctor args as none were passed in."); @@ -80,7 +80,7 @@ namespace Spring.Objects.Factory.Support typeof(TestObject).FullName, null, null); Assert.IsNotNull(definition, "CreateObjectDefinition with no parent is returning null (it must never do so)."); Assert.AreEqual(typeof(TestObject).FullName, definition.ObjectTypeName); - Assert.AreEqual(0, definition.PropertyValues.PropertyValues.Length, + Assert.AreEqual(0, definition.PropertyValues.PropertyValues.Count, "Must not have any property values as none were passed in."); Assert.AreEqual(0, definition.ConstructorArgumentValues.ArgumentCount, "Must not have any ctor args as none were passed in."); diff --git a/test/Spring/Spring.Web.Tests/Web/UI/Controls/AbstractValidationControlTests.cs b/test/Spring/Spring.Web.Tests/Web/UI/Controls/AbstractValidationControlTests.cs index 4ec4aa0c..301d6eaf 100644 --- a/test/Spring/Spring.Web.Tests/Web/UI/Controls/AbstractValidationControlTests.cs +++ b/test/Spring/Spring.Web.Tests/Web/UI/Controls/AbstractValidationControlTests.cs @@ -22,6 +22,7 @@ using System; using System.Collections; +using System.Collections.Generic; using System.Globalization; using System.Web.UI; using NUnit.Framework; @@ -280,7 +281,7 @@ namespace Spring.Web.UI.Controls { public class CapturingRenderer : IValidationErrorsRenderer { - public IList LastErrorsRendered; + public IList LastErrorsRendered; private readonly IValidationErrorsRenderer _inner; public CapturingRenderer(IValidationErrorsRenderer inner) @@ -288,7 +289,7 @@ namespace Spring.Web.UI.Controls _inner = inner; } - public void RenderErrors(Page page, HtmlTextWriter writer, IList errors) + public void RenderErrors(Page page, HtmlTextWriter writer, IList errors) { LastErrorsRendered = errors; if (_inner != null) @@ -319,7 +320,7 @@ namespace Spring.Web.UI.Controls return _ver; } - public IList LastErrorsRendered + public IList LastErrorsRendered { get { return ((CapturingRenderer)_ver).LastErrorsRendered; } }