From 1ab1b0f07411bba261990204750dffd6fa5cd3b0 Mon Sep 17 00:00:00 2001 From: tmont Date: Mon, 7 Mar 2011 20:56:34 +0000 Subject: [PATCH] updated to newest version of portoa --- Lib/Iesi.Collections.xml | 1903 - ...icrosoft.Practices.Unity.Configuration.xml | 2451 - ...tices.Unity.Interception.Configuration.xml | 716 - ...Microsoft.Practices.Unity.Interception.xml | 3460 -- Lib/Microsoft.Practices.Unity.xml | 5910 --- Lib/NHibernate.ByteCode.LinFu.xml | 8 - Lib/NHibernate.xml | 42365 ---------------- Lib/Portoa.Log4Net.dll | Bin 5120 -> 4608 bytes Lib/Portoa.Lucene.dll | Bin 9216 -> 9216 bytes Lib/Portoa.NHibernate.dll | Bin 16384 -> 14848 bytes Lib/Portoa.Web.dll | Bin 53248 -> 49664 bytes Lib/Portoa.Web.xml | 209 +- Lib/Portoa.dll | Bin 40448 -> 38400 bytes Lib/Portoa.xml | 46 +- Src/VideoGameQuotes.Api/Category.cs | 2 +- Src/VideoGameQuotes.Api/CriterionHandler.cs | 2 +- Src/VideoGameQuotes.Api/Game.cs | 2 +- Src/VideoGameQuotes.Api/GamingSystem.cs | 2 +- Src/VideoGameQuotes.Api/Publisher.cs | 2 +- Src/VideoGameQuotes.Api/Quote.cs | 2 +- Src/VideoGameQuotes.Api/QuoteFlag.cs | 2 +- Src/VideoGameQuotes.Api/Region.cs | 3 +- Src/VideoGameQuotes.Api/User.cs | 2 +- Src/VideoGameQuotes.Api/Vote.cs | 2 +- .../Controllers/ApiController.cs | 5 +- .../Controllers/CategoryController.cs | 1 + .../Controllers/GameController.cs | 1 + .../Controllers/HomeController.cs | 1 + .../Controllers/PublisherController.cs | 1 + .../Controllers/QuoteController.cs | 2 +- .../Controllers/SystemController.cs | 2 +- .../Controllers/UserController.cs | 3 +- .../media/css/vgquotes.css | 1 + 33 files changed, 176 insertions(+), 56930 deletions(-) delete mode 100644 Lib/Iesi.Collections.xml delete mode 100644 Lib/Microsoft.Practices.Unity.Configuration.xml delete mode 100644 Lib/Microsoft.Practices.Unity.Interception.Configuration.xml delete mode 100644 Lib/Microsoft.Practices.Unity.Interception.xml delete mode 100644 Lib/Microsoft.Practices.Unity.xml delete mode 100644 Lib/NHibernate.ByteCode.LinFu.xml delete mode 100644 Lib/NHibernate.xml diff --git a/Lib/Iesi.Collections.xml b/Lib/Iesi.Collections.xml deleted file mode 100644 index 22ebfde..0000000 --- a/Lib/Iesi.Collections.xml +++ /dev/null @@ -1,1903 +0,0 @@ - - - - Iesi.Collections - - - - -

DictionarySet is an abstract class that supports the creation of new Set - types where the underlying data store is an IDictionary instance.

- -

You can use any object that implements the IDictionary interface to hold set data. - You can define your own, or you can use one of the objects provided in the Framework. - The type of IDictionary you choose will affect both the performance and the behavior - of the Set using it.

- -

To make a Set typed based on your own IDictionary, simply derive a - new class with a constructor that takes no parameters. Some Set implmentations - cannot be defined with a default constructor. If this is the case for your class, - you will need to override Clone() as well.

- -

It is also standard practice that at least one of your constructors takes an ICollection or - an ISet as an argument.

-
-
- -

A collection that contains no duplicate elements. This class models the mathematical - Set abstraction, and is the base class for all other Set implementations. - The order of elements in a set is dependant on (a)the data-structure implementation, and - (b)the implementation of the various Set methods, and thus is not guaranteed.

- -

None of the Set implementations in this library are guranteed to be thread-safe - in any way unless wrapped in a SynchronizedSet.

- -

The following table summarizes the binary operators that are supported by the Set class.

- - - Operation - Description - Method - Operator - - - Union (OR) - Element included in result if it exists in either A OR B. - Union() - | - - - Intersection (AND) - Element included in result if it exists in both A AND B. - InterSect() - & - - - Exclusive Or (XOR) - Element included in result if it exists in one, but not both, of A and B. - ExclusiveOr() - ^ - - - Minus (n/a) - Take all the elements in A. Now, if any of them exist in B, remove - them. Note that unlike the other operators, A - B is not the same as B - A. - Minus() - - - - -
-
- - -

A collection that contains no duplicate elements. This interface models the mathematical - Set abstraction. - The order of elements in a set is dependant on (a)the data-structure implementation, and - (b)the implementation of the various Set methods, and thus is not guaranteed.

- -

None of the Set implementations in this library are guranteed to be thread-safe - in any way unless wrapped in a SynchronizedSet.

- -

The following table summarizes the binary operators that are supported by the Set class.

- - - Operation - Description - Method - - - Union (OR) - Element included in result if it exists in either A OR B. - Union() - - - Intersection (AND) - Element included in result if it exists in both A AND B. - InterSect() - - - Exclusive Or (XOR) - Element included in result if it exists in one, but not both, of A and B. - ExclusiveOr() - - - Minus (n/a) - Take all the elements in A. Now, if any of them exist in B, remove - them. Note that unlike the other operators, A - B is not the same as B - A. - Minus() - - -
-
- - - Performs a "union" of the two sets, where all the elements - in both sets are present. That is, the element is included if it is in either a or b. - Neither this set nor the input set are modified during the operation. The return value - is a Clone() of this set with the extra elements added in. - - A collection of elements. - A new Set containing the union of this Set with the specified collection. - Neither of the input objects is modified by the union. - - - - Performs an "intersection" of the two sets, where only the elements - that are present in both sets remain. That is, the element is included if it exists in - both sets. The Intersect() operation does not modify the input sets. It returns - a Clone() of this set with the appropriate elements removed. - - A set of elements. - The intersection of this set with a. - - - - Performs a "minus" of set b from set a. This returns a set of all - the elements in set a, removing the elements that are also in set b. - The original sets are not modified during this operation. The result set is a Clone() - of this Set containing the elements from the operation. - - A set of elements. - A set containing the elements from this set with the elements in a removed. - - - - Performs an "exclusive-or" of the two sets, keeping only the elements that - are in one of the sets, but not in both. The original sets are not modified - during this operation. The result set is a Clone() of this set containing - the elements from the exclusive-or operation. - - A set of elements. - A set containing the result of a ^ b. - - - - Returns if the set contains all the elements in the specified collection. - - A collection of objects. - if the set contains all the elements in the specified collection, otherwise. - - - - Adds the specified element to this set if it is not already present. - - The object to add to the set. - is the object was added, if it was already present. - - - - Adds all the elements in the specified collection to the set if they are not already present. - - A collection of objects to add to the set. - is the set changed as a result of this operation, if not. - - - - Remove all the specified elements from this set, if they exist in this set. - - A collection of elements to remove. - if the set was modified as a result of this operation. - - - - Retains only the elements in this set that are contained in the specified collection. - - Collection that defines the set of elements to be retained. - if this set changed as a result of this operation. - - - - Returns if this set contains no elements. - - - - -

A collection that contains no duplicate elements. This interface models the mathematical - Set abstraction. - The order of elements in a set is dependant on (a)the data-structure implementation, and - (b)the implementation of the various Set methods, and thus is not guaranteed.

- -

None of the Set implementations in this library are guranteed to be thread-safe - in any way unless wrapped in a SynchronizedSet.

- -

The following table summarizes the binary operators that are supported by the Set class.

- - - Operation - Description - Method - - - Union (OR) - Element included in result if it exists in either A OR B. - Union() - - - Intersection (AND) - Element included in result if it exists in both A AND B. - InterSect() - - - Exclusive Or (XOR) - Element included in result if it exists in one, but not both, of A and B. - ExclusiveOr() - - - Minus (n/a) - Take all the elements in A. Now, if any of them exist in B, remove - them. Note that unlike the other operators, A - B is not the same as B - A. - Minus() - - -
-
- - - Performs a "union" of the two sets, where all the elements - in both sets are present. That is, the element is included if it is in either a or b. - Neither this set nor the input set are modified during the operation. The return value - is a Clone() of this set with the extra elements added in. - - A collection of elements. - A new Set containing the union of this Set with the specified collection. - Neither of the input objects is modified by the union. - - - - Performs an "intersection" of the two sets, where only the elements - that are present in both sets remain. That is, the element is included if it exists in - both sets. The Intersect() operation does not modify the input sets. It returns - a Clone() of this set with the appropriate elements removed. - - A set of elements. - The intersection of this set with a. - - - - Performs a "minus" of set b from set a. This returns a set of all - the elements in set a, removing the elements that are also in set b. - The original sets are not modified during this operation. The result set is a Clone() - of this Set containing the elements from the operation. - - A set of elements. - A set containing the elements from this set with the elements in a removed. - - - - Performs an "exclusive-or" of the two sets, keeping only the elements that - are in one of the sets, but not in both. The original sets are not modified - during this operation. The result set is a Clone() of this set containing - the elements from the exclusive-or operation. - - A set of elements. - A set containing the result of a ^ b. - - - - Returns if this set contains the specified element. - - The element to look for. - if this set contains the specified element, otherwise. - - - - Returns if the set contains all the elements in the specified collection. - - A collection of objects. - if the set contains all the elements in the specified collection, otherwise. - - - - Adds the specified element to this set if it is not already present. - - The object to add to the set. - is the object was added, if it was already present. - - - - Adds all the elements in the specified collection to the set if they are not already present. - - A collection of objects to add to the set. - is the set changed as a result of this operation, if not. - - - - Removes the specified element from the set. - - The element to be removed. - if the set contained the specified element, otherwise. - - - - Remove all the specified elements from this set, if they exist in this set. - - A collection of elements to remove. - if the set was modified as a result of this operation. - - - - Retains only the elements in this set that are contained in the specified collection. - - Collection that defines the set of elements to be retained. - if this set changed as a result of this operation. - - - - Removes all objects from the set. - - - - - Returns if this set contains no elements. - - - - - Performs a "union" of the two sets, where all the elements - in both sets are present. That is, the element is included if it is in either a or b. - Neither this set nor the input set are modified during the operation. The return value - is a Clone() of this set with the extra elements added in. - - A collection of elements. - A new Set containing the union of this Set with the specified collection. - Neither of the input objects is modified by the union. - - - - Performs a "union" of two sets, where all the elements - in both are present. That is, the element is included if it is in either a or b. - The return value is a Clone() of one of the sets (a if it is not ) with elements of the other set - added in. Neither of the input sets is modified by the operation. - - A set of elements. - A set of elements. - A set containing the union of the input sets. if both sets are . - - - - Performs a "union" of two sets, where all the elements - in both are present. That is, the element is included if it is in either a or b. - The return value is a Clone() of one of the sets (a if it is not ) with elements of the other set - added in. Neither of the input sets is modified by the operation. - - A set of elements. - A set of elements. - A set containing the union of the input sets. if both sets are . - - - - Performs an "intersection" of the two sets, where only the elements - that are present in both sets remain. That is, the element is included if it exists in - both sets. The Intersect() operation does not modify the input sets. It returns - a Clone() of this set with the appropriate elements removed. - - A set of elements. - The intersection of this set with a. - - - - Performs an "intersection" of the two sets, where only the elements - that are present in both sets remain. That is, the element is included only if it exists in - both a and b. Neither input object is modified by the operation. - The result object is a Clone() of one of the input objects (a if it is not ) containing the - elements from the intersect operation. - - A set of elements. - A set of elements. - The intersection of the two input sets. if both sets are . - - - - Performs an "intersection" of the two sets, where only the elements - that are present in both sets remain. That is, the element is included only if it exists in - both a and b. Neither input object is modified by the operation. - The result object is a Clone() of one of the input objects (a if it is not ) containing the - elements from the intersect operation. - - A set of elements. - A set of elements. - The intersection of the two input sets. if both sets are . - - - - Performs a "minus" of set b from set a. This returns a set of all - the elements in set a, removing the elements that are also in set b. - The original sets are not modified during this operation. The result set is a Clone() - of this Set containing the elements from the operation. - - A set of elements. - A set containing the elements from this set with the elements in a removed. - - - - Performs a "minus" of set b from set a. This returns a set of all - the elements in set a, removing the elements that are also in set b. - The original sets are not modified during this operation. The result set is a Clone() - of set a containing the elements from the operation. - - A set of elements. - A set of elements. - A set containing A - B elements. if a is . - - - - Performs a "minus" of set b from set a. This returns a set of all - the elements in set a, removing the elements that are also in set b. - The original sets are not modified during this operation. The result set is a Clone() - of set a containing the elements from the operation. - - A set of elements. - A set of elements. - A set containing A - B elements. if a is . - - - - Performs an "exclusive-or" of the two sets, keeping only the elements that - are in one of the sets, but not in both. The original sets are not modified - during this operation. The result set is a Clone() of this set containing - the elements from the exclusive-or operation. - - A set of elements. - A set containing the result of a ^ b. - - - - Performs an "exclusive-or" of the two sets, keeping only the elements that - are in one of the sets, but not in both. The original sets are not modified - during this operation. The result set is a Clone() of one of the sets - (a if it is not ) containing - the elements from the exclusive-or operation. - - A set of elements. - A set of elements. - A set containing the result of a ^ b. if both sets are . - - - - Performs an "exclusive-or" of the two sets, keeping only the elements that - are in one of the sets, but not in both. The original sets are not modified - during this operation. The result set is a Clone() of one of the sets - (a if it is not ) containing - the elements from the exclusive-or operation. - - A set of elements. - A set of elements. - A set containing the result of a ^ b. if both sets are . - - - - Adds the specified element to this set if it is not already present. - - The object to add to the set. - is the object was added, if it was already present. - - - - Adds all the elements in the specified collection to the set if they are not already present. - - A collection of objects to add to the set. - is the set changed as a result of this operation, if not. - - - - Removes all objects from the set. - - - - - Returns if this set contains the specified element. - - The element to look for. - if this set contains the specified element, otherwise. - - - - Returns if the set contains all the elements in the specified collection. - - A collection of objects. - if the set contains all the elements in the specified collection, otherwise. - - - - Removes the specified element from the set. - - The element to be removed. - if the set contained the specified element, otherwise. - - - - Remove all the specified elements from this set, if they exist in this set. - - A collection of elements to remove. - if the set was modified as a result of this operation. - - - - Retains only the elements in this set that are contained in the specified collection. - - Collection that defines the set of elements to be retained. - if this set changed as a result of this operation. - - - - Returns a clone of the Set instance. This will work for derived Set - classes if the derived class implements a constructor that takes no arguments. - - A clone of this object. - - - - Copies the elements in the Set to an array. The type of array needs - to be compatible with the objects in the Set, obviously. - - An array that will be the target of the copy operation. - The zero-based index where copying will start. - - - - Gets an enumerator for the elements in the Set. - - An IEnumerator over the elements in the Set. - - - - Performs CopyTo when called trhough non-generic ISet (ICollection) interface - - - - - - - Performs Union when called trhough non-generic ISet interface - - - - - - - Performs Minus when called trhough non-generic ISet interface - - - - - - - Performs Intersect when called trhough non-generic ISet interface - - - - - - - Performs ExclusiveOr when called trhough non-generic ISet interface - - - - - - - Returns if this set contains no elements. - - - - - The number of elements currently contained in this collection. - - - - - Returns if the Set is synchronized across threads. Note that - enumeration is inherently not thread-safe. Use the SyncRoot to lock the - object during enumeration. - - - - - An object that can be used to synchronize this collection to make it thread-safe. - When implementing this, if your object uses a base object, like an IDictionary, - or anything that has a SyncRoot, return that object instead of "this". - - - - - Indicates whether the given instance is read-only or not - - - if the ISet is read-only; otherwise, . - In the default implementation of Set, this property always returns false. - - - - - Provides the storage for elements in the Set, stored as the key-set - of the IDictionary object. Set this object in the constructor - if you create your own Set class. - - - - - Adds the specified element to this set if it is not already present. - - The to add to the set. - is the object was added, if it was already present. - - - - Adds all the elements in the specified collection to the set if they are not already present. - - A collection of objects to add to the set. - is the set changed as a result of this operation, if not. - - - - Removes all objects from the set. - - - - - Returns if this set contains the specified element. - - The element to look for. - if this set contains the specified element, otherwise. - - - - Returns if the set contains all the elements in the specified collection. - - A collection of objects. - if the set contains all the elements in the specified collection, otherwise. - - - - Removes the specified element from the set. - - The element to be removed. - if the set contained the specified element, otherwise. - - - - Remove all the specified elements from this set, if they exist in this set. - - A collection of elements to remove. - if the set was modified as a result of this operation. - - - - Retains only the elements in this set that are contained in the specified collection. - - Collection that defines the set of elements to be retained. - if this set changed as a result of this operation. - - - - Copies the elements in the Set to an array of T. The type of array needs - to be compatible with the objects in the Set, obviously. - - An array that will be the target of the copy operation. - The zero-based index where copying will start. - - - - Gets an enumerator for the elements in the Set. - - An IEnumerator over the elements in the Set. - - - - Copies the elements in the Set to an array. The type of array needs - to be compatible with the objects in the Set, obviously. Needed for - non-generic ISet methods implementation - - An array that will be the target of the copy operation. - The zero-based index where copying will start. - - - - The placeholder object used as the value for the IDictionary instance. - - - There is a single instance of this object globally, used for all Sets. - - - - - Returns if this set contains no elements. - - - - - The number of elements contained in this collection. - - - - - None of the objects based on DictionarySet are synchronized. Use the - SyncRoot property instead. - - - - - Returns an object that can be used to synchronize the Set between threads. - - - - - Indicates wether the Set is read-only or not - - - - - Implements a Set based on a Dictionary (which is equivalent of - non-genric HashTable) This will give the best lookup, add, and remove - performance for very large data-sets, but iteration will occur in no particular order. - - - - - Creates a new set instance based on a Dictinary. - - - - - Creates a new set instance based on a Dictinary and - initializes it based on a collection of elements. - - A collection of elements that defines the initial set contents. - - - -

Implements an immutable (read-only) Set wrapper.

-

Although this is advertised as immutable, it really isn't. Anyone with access to the - basisSet can still change the data-set. So GetHashCode() is not implemented - for this Set, as is the case for all Set implementations in this library. - This design decision was based on the efficiency of not having to Clone() the - basisSet every time you wrap a mutable Set.

-
-
- - - Constructs an immutable (read-only) Set wrapper. - - The Set that is wrapped. - - - - Adds the specified element to this set if it is not already present. - - The object to add to the set. - nothing - is always thrown - - - - Adds all the elements in the specified collection to the set if they are not already present. - - A collection of objects to add to the set. - nothing - is always thrown - - - - Removes all objects from the set. - - is always thrown - - - - Returns if this set contains the specified element. - - The element to look for. - if this set contains the specified element, otherwise. - - - - Returns if the set contains all the elements in the specified collection. - - A collection of objects. - if the set contains all the elements in the specified collection, otherwise. - - - - Removes the specified element from the set. - - The element to be removed. - nothing - is always thrown - - - - Remove all the specified elements from this set, if they exist in this set. - - A collection of elements to remove. - nothing - is always thrown - - - - Retains only the elements in this set that are contained in the specified collection. - - Collection that defines the set of elements to be retained. - nothing - is always thrown - - - - Copies the elements in the Set to an array of T. The type of array needs - to be compatible with the objects in the Set, obviously. - - An array that will be the target of the copy operation. - The zero-based index where copying will start. - - - - Gets an enumerator for the elements in the Set. - - An IEnumerator over the elements in the Set. - - - - Returns a clone of the Set instance. - - A clone of this object. - - - - Performs a "union" of the two sets, where all the elements - in both sets are present. That is, the element is included if it is in either a or b. - Neither this set nor the input set are modified during the operation. The return value - is a Clone() of this set with the extra elements added in. - - A collection of elements. - A new Set containing the union of this Set with the specified collection. - Neither of the input objects is modified by the union. - - - - Performs an "intersection" of the two sets, where only the elements - that are present in both sets remain. That is, the element is included if it exists in - both sets. The Intersect() operation does not modify the input sets. It returns - a Clone() of this set with the appropriate elements removed. - - A set of elements. - The intersection of this set with a. - - - - Performs a "minus" of set b from set a. This returns a set of all - the elements in set a, removing the elements that are also in set b. - The original sets are not modified during this operation. The result set is a Clone() - of this Set containing the elements from the operation. - - A set of elements. - A set containing the elements from this set with the elements in a removed. - - - - Performs an "exclusive-or" of the two sets, keeping only the elements that - are in one of the sets, but not in both. The original sets are not modified - during this operation. The result set is a Clone() of this set containing - the elements from the exclusive-or operation. - - A set of elements. - A set containing the result of a ^ b. - - - - Performs CopyTo when called trhough non-generic ISet (ICollection) interface - - - - - - - Performs Union when called trhough non-generic ISet interface - - - - - - - Performs Minus when called trhough non-generic ISet interface - - - - - - - Performs Intersect when called trhough non-generic ISet interface - - - - - - - Performs ExclusiveOr when called trhough non-generic ISet interface - - - - - - - Returns if this set contains no elements. - - - - - The number of elements contained in this collection. - - - - - Returns an object that can be used to synchronize use of the Set across threads. - - - - - Returns an object that can be used to synchronize the Set between threads. - - - - - Indicates that the given instance is read-only - - - - - Implements an ordered Set based on a dictionary. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - A collection of elements that defines the initial set contents. - - - - Implements a Set based on a sorted tree. This gives good performance for operations on very - large data-sets, though not as good - asymptotically - as a HashedSet. However, iteration - occurs in order. Elements that you put into this type of collection must implement IComparable, - and they must actually be comparable. You can't mix string and int values, for example. - - - - - Creates a new set instance based on a sorted tree. - - - - - Creates a new set instance based on a sorted tree. - - The to use for sorting. - - - - Creates a new set instance based on a sorted tree and - initializes it based on a collection of elements. - - A collection of elements that defines the initial set contents. - - - - Creates a new set instance based on a sorted tree and - initializes it based on a collection of elements. - - A collection of elements that defines the initial set contents. - - - - Creates a new set instance based on a sorted tree and - initializes it based on a collection of elements. - - A collection of elements that defines the initial set contents. - The to use for sorting. - - - -

Implements a thread-safe Set wrapper. The implementation is extremely conservative, - serializing critical sections to prevent possible deadlocks, and locking on everything. - The one exception is for enumeration, which is inherently not thread-safe. For this, you - have to lock the SyncRoot object for the duration of the enumeration.

-
-
- - - Constructs a thread-safe Set wrapper. - - The Set object that this object will wrap. - - - - Adds the specified element to this set if it is not already present. - - The object to add to the set. - is the object was added, if it was already present. - - - - Adds all the elements in the specified collection to the set if they are not already present. - - A collection of objects to add to the set. - is the set changed as a result of this operation, if not. - - - - Removes all objects from the set. - - - - - Returns if this set contains the specified element. - - The element to look for. - if this set contains the specified element, otherwise. - - - - Returns if the set contains all the elements in the specified collection. - - A collection of objects. - if the set contains all the elements in the specified collection, otherwise. - - - - Removes the specified element from the set. - - The element to be removed. - if the set contained the specified element, otherwise. - - - - Remove all the specified elements from this set, if they exist in this set. - - A collection of elements to remove. - if the set was modified as a result of this operation. - - - - Retains only the elements in this set that are contained in the specified collection. - - Collection that defines the set of elements to be retained. - if this set changed as a result of this operation. - - - - Copies the elements in the Set to an array. The type of array needs - to be compatible with the objects in the Set, obviously. - - An array that will be the target of the copy operation. - The zero-based index where copying will start. - - - - Enumeration is, by definition, not thread-safe. Use a lock on the SyncRoot - to synchronize the entire enumeration process. - - - - - - Returns a clone of the Set instance. - - A clone of this object. - - - - Performs CopyTo when called trhough non-generic ISet (ICollection) interface - - - - - - - Returns if this set contains no elements. - - - - - The number of elements contained in this collection. - - - - - Returns , indicating that this object is thread-safe. The exception to this - is enumeration, which is inherently not thread-safe. Use the SyncRoot object to - lock this object for the entire duration of the enumeration. - - - - - Returns an object that can be used to synchronize the Set between threads. - - - - - Indicates whether given instace is read-only or not - - - - -

DictionarySet is an abstract class that supports the creation of new Set - types where the underlying data store is an IDictionary instance.

- -

You can use any object that implements the IDictionary interface to hold set data. - You can define your own, or you can use one of the objects provided in the Framework. - The type of IDictionary you choose will affect both the performance and the behavior - of the Set using it.

- -

To make a Set typed based on your own IDictionary, simply derive a - new class with a constructor that takes no parameters. Some Set implmentations - cannot be defined with a default constructor. If this is the case for your class, - you will need to override Clone() as well.

- -

It is also standard practice that at least one of your constructors takes an ICollection or - an ISet as an argument.

-
-
- - A collection that contains no duplicate elements. - - - This class models the mathematical set abstraction, and is the base class for all - other set implementations. The order of elements in a set is dependant on - (a) the data-structure implementation, and (b) the implementation of the various - methods, and thus is not guaranteed. - - - None of the implementations in this library are guranteed to be thread-safe - in any way unless wrapped in a . - - - The following table summarizes the binary operators that are supported by the - type. - - - - Operation - Description - Method - Operator - - - Union (OR) - Element included in result if it exists in either A OR B. - Union() - | - - - Intersection (AND) - Element included in result if it exists in both A AND B. - InterSect() - & - - - Exclusive Or (XOR) - Element included in result if it exists in one, but not both, of A and B. - ExclusiveOr() - ^ - - - Minus (n/a) - Take all the elements in A. Now, if any of them exist in B, remove - them. Note that unlike the other operators, A - B is not the same as B - A. - Minus() - - - - - - - - - Performs a "union" of the two sets, where all the elements - in both sets are present. That is, the element is included if it is in either a or b. - Neither this set nor the input set are modified during the operation. The return value - is a clone of this set with the extra elements added in. - - A collection of elements. - A new instance containing the union of this instance with the specified collection. - Neither of the input objects is modified by the union. - - - - Performs a "union" of two sets, where all the elements - in both are present. That is, the element is included if it is in either a or b. - The return value is a clone of one of the sets (a if it is not ) with elements of the other set - added in. Neither of the input sets is modified by the operation. - - A set of elements. - A set of elements. - A set containing the union of the input sets. if both sets are . - - - - Performs a "union" of two sets, where all the elements - in both are present. That is, the element is included if it is in either a or b. - The return value is a clone of one of the sets (a if it is not ) with elements of the other set - added in. Neither of the input sets is modified by the operation. - - A set of elements. - A set of elements. - A set containing the union of the input sets. if both sets are . - - - - Performs an "intersection" of the two sets, where only the elements - that are present in both sets remain. That is, the element is included if it exists in - both sets. The Intersect() operation does not modify the input sets. It returns - a Clone() of this set with the appropriate elements removed. - - A set of elements. - The intersection of this set with a. - - - - Performs an "intersection" of the two sets, where only the elements - that are present in both sets remain. That is, the element is included only if it exists in - both a and b. Neither input object is modified by the operation. - The result object is a Clone() of one of the input objects (a if it is not ) containing the - elements from the intersect operation. - - A set of elements. - A set of elements. - The intersection of the two input sets. if both sets are . - - - - Performs an "intersection" of the two sets, where only the elements - that are present in both sets remain. That is, the element is included only if it exists in - both a and b. Neither input object is modified by the operation. - The result object is a Clone() of one of the input objects (a if it is not ) containing the - elements from the intersect operation. - - A set of elements. - A set of elements. - The intersection of the two input sets. if both sets are . - - - - Performs a "minus" of set b from set a. This returns a set of all - the elements in set a, removing the elements that are also in set b. - The original sets are not modified during this operation. The result set is a Clone() - of this Set containing the elements from the operation. - - A set of elements. - A set containing the elements from this set with the elements in a removed. - - - - Performs a "minus" of set b from set a. This returns a set of all - the elements in set a, removing the elements that are also in set b. - The original sets are not modified during this operation. The result set is a Clone() - of set a containing the elements from the operation. - - A set of elements. - A set of elements. - A set containing A - B elements. if a is . - - - - Performs a "minus" of set b from set a. This returns a set of all - the elements in set a, removing the elements that are also in set b. - The original sets are not modified during this operation. The result set is a Clone() - of set a containing the elements from the operation. - - A set of elements. - A set of elements. - A set containing A - B elements. if a is . - - - - Performs an "exclusive-or" of the two sets, keeping only the elements that - are in one of the sets, but not in both. The original sets are not modified - during this operation. The result set is a clone of this set containing - the elements from the exclusive-or operation. - - A set of elements. - A set containing the result of a ^ b. - - - - Performs an "exclusive-or" of the two sets, keeping only the elements that - are in one of the sets, but not in both. The original sets are not modified - during this operation. The result set is a clone of one of the sets - (a if it is not ) containing - the elements from the exclusive-or operation. - - A set of elements. - A set of elements. - A set containing the result of a ^ b. if both sets are . - - - - Performs an "exclusive-or" of the two sets, keeping only the elements that - are in one of the sets, but not in both. The original sets are not modified - during this operation. The result set is a clone of one of the sets - (a if it is not ) containing - the elements from the exclusive-or operation. - - A set of elements. - A set of elements. - A set containing the result of a ^ b. if both sets are . - - - - Adds the specified element to this set if it is not already present. - - The object to add to the set. - is the object was added, if it was already present. - - - - Adds all the elements in the specified collection to the set if they are not already present. - - A collection of objects to add to the set. - is the set changed as a result of this operation, if not. - - - - Removes all objects from the set. - - - - - Returns if this set contains the specified element. - - The element to look for. - if this set contains the specified element, otherwise. - - - - Returns if the set contains all the elements in the specified collection. - - A collection of objects. - if the set contains all the elements in the specified collection, otherwise. - - - - Removes the specified element from the set. - - The element to be removed. - if the set contained the specified element, otherwise. - - - - Remove all the specified elements from this set, if they exist in this set. - - A collection of elements to remove. - if the set was modified as a result of this operation. - - - - Retains only the elements in this set that are contained in the specified collection. - - Collection that defines the set of elements to be retained. - if this set changed as a result of this operation. - - - - Returns a clone of the set instance. This will work for derived set - classes if the derived class implements a constructor that takes no arguments. - - A clone of this object. - - - - Copies the elements in the set to an array. The type of array needs - to be compatible with the objects in the set, obviously. - - An array that will be the target of the copy operation. - The zero-based index where copying will start. - - - - Returns an enumerator that iterates through the set. - - - An object that can be used to iterate through the set. - - - - - Returns if this set contains no elements. - - - - - The number of elements currently contained in this collection. - - - - - Returns if the set is synchronized across threads. Note that - enumeration is inherently not thread-safe. Use the to lock the - object during enumeration. - - - - - An object that can be used to synchronize this collection to make it thread-safe. - When implementing this, if your object uses a base object, like an , - or anything that has a , return that object instead - of . - - - - - Provides the storage for elements in the Set, stored as the key-set - of the IDictionary object. Set this object in the constructor - if you create your own Set class. - - - - - Adds the specified element to this set if it is not already present. - - The object to add to the set. - is the object was added, if it was already present. - - - - Adds all the elements in the specified collection to the set if they are not already present. - - A collection of objects to add to the set. - is the set changed as a result of this operation, if not. - - - - Removes all objects from the set. - - - - - Returns if this set contains the specified element. - - The element to look for. - if this set contains the specified element, otherwise. - - - - Returns if the set contains all the elements in the specified collection. - - A collection of objects. - if the set contains all the elements in the specified collection, otherwise. - - - - Removes the specified element from the set. - - The element to be removed. - if the set contained the specified element, otherwise. - - - - Remove all the specified elements from this set, if they exist in this set. - - A collection of elements to remove. - if the set was modified as a result of this operation. - - - - Retains only the elements in this set that are contained in the specified collection. - - Collection that defines the set of elements to be retained. - if this set changed as a result of this operation. - - - - Copies the elements in the Set to an array. The type of array needs - to be compatible with the objects in the Set, obviously. - - An array that will be the target of the copy operation. - The zero-based index where copying will start. - - - - Gets an enumerator for the elements in the Set. - - An IEnumerator over the elements in the Set. - - - - The placeholder object used as the value for the IDictionary instance. - - - There is a single instance of this object globally, used for all Sets. - - - - - Returns if this set contains no elements. - - - - - The number of elements contained in this collection. - - - - - None of the objects based on DictionarySet are synchronized. Use the - SyncRoot property instead. - - - - - Returns an object that can be used to synchronize the Set between threads. - - - - - Implements a Set based on a hash table. This will give the best lookup, add, and remove - performance for very large data-sets, but iteration will occur in no particular order. - - - - - Creates a new set instance based on a hash table. - - - - - Creates a new set instance based on a hash table and - initializes it based on a collection of elements. - - A collection of elements that defines the initial set contents. - - - - Implements a Set that automatically changes from a list to a hash table - when the size reaches a certain threshold. This is good if you are unsure about - whether you data-set will be tiny or huge. Because this uses a dual implementation, - iteration order is not guaranteed! - - - - - Creates a new set instance based on either a list or a hash table, depending on which - will be more efficient based on the data-set size. - - - - - Creates a new set instance based on either a list or a hash table, depending on which - will be more efficient based on the data-set size, and - initializes it based on a collection of elements. - - A collection of elements that defines the initial set contents. - - - -

Implements an immutable (read-only) Set wrapper.

-

Although this is advertised as immutable, it really isn't. Anyone with access to the - basisSet can still change the data-set. So GetHashCode() is not implemented - for this Set, as is the case for all Set implementations in this library. - This design decision was based on the efficiency of not having to Clone() the - basisSet every time you wrap a mutable Set.

-
-
- - - Constructs an immutable (read-only) Set wrapper. - - The Set that is wrapped. - - - - Adds the specified element to this set if it is not already present. - - The object to add to the set. - is the object was added, if it was already present. - - - - Adds all the elements in the specified collection to the set if they are not already present. - - A collection of objects to add to the set. - is the set changed as a result of this operation, if not. - - - - Removes all objects from the set. - - - - - Returns if this set contains the specified element. - - The element to look for. - if this set contains the specified element, otherwise. - - - - Returns if the set contains all the elements in the specified collection. - - A collection of objects. - if the set contains all the elements in the specified collection, otherwise. - - - - Removes the specified element from the set. - - The element to be removed. - if the set contained the specified element, otherwise. - - - - Remove all the specified elements from this set, if they exist in this set. - - A collection of elements to remove. - if the set was modified as a result of this operation. - - - - Retains only the elements in this set that are contained in the specified collection. - - Collection that defines the set of elements to be retained. - if this set changed as a result of this operation. - - - - Copies the elements in the Set to an array. The type of array needs - to be compatible with the objects in the Set, obviously. - - An array that will be the target of the copy operation. - The zero-based index where copying will start. - - - - Gets an enumerator for the elements in the Set. - - An IEnumerator over the elements in the Set. - - - - Returns a clone of the Set instance. - - A clone of this object. - - - - Performs a "union" of the two sets, where all the elements - in both sets are present. That is, the element is included if it is in either a or b. - Neither this set nor the input set are modified during the operation. The return value - is a Clone() of this set with the extra elements added in. - - A collection of elements. - A new Set containing the union of this Set with the specified collection. - Neither of the input objects is modified by the union. - - - - Performs an "intersection" of the two sets, where only the elements - that are present in both sets remain. That is, the element is included if it exists in - both sets. The Intersect() operation does not modify the input sets. It returns - a Clone() of this set with the appropriate elements removed. - - A set of elements. - The intersection of this set with a. - - - - Performs a "minus" of set b from set a. This returns a set of all - the elements in set a, removing the elements that are also in set b. - The original sets are not modified during this operation. The result set is a Clone() - of this Set containing the elements from the operation. - - A set of elements. - A set containing the elements from this set with the elements in a removed. - - - - Performs an "exclusive-or" of the two sets, keeping only the elements that - are in one of the sets, but not in both. The original sets are not modified - during this operation. The result set is a Clone() of this set containing - the elements from the exclusive-or operation. - - A set of elements. - A set containing the result of a ^ b. - - - - Returns if this set contains no elements. - - - - - The number of elements contained in this collection. - - - - - Returns an object that can be used to synchronize use of the Set across threads. - - - - - Returns an object that can be used to synchronize the Set between threads. - - - - - Implements a Set based on a list. Performance is much better for very small lists - than either HashedSet or SortedSet. However, performance degrades rapidly as - the data-set gets bigger. Use a HybridSet instead if you are not sure your data-set - will always remain very small. Iteration produces elements in the order they were added. - However, element order is not guaranteed to be maintained by the various Set - mathematical operators. - - - - - Creates a new set instance based on a list. - - - - - Creates a new set instance based on a list and - initializes it based on a collection of elements. - - A collection of elements that defines the initial set contents. - - - - Implements a set based on a sorted tree. This gives good performance for operations on very - large data-sets, though not as good - asymptotically - as a . - However, iteration occurs in order. Elements that you put into this type of collection must - implement , and they must actually be comparable. You can't mix - and values, for example. - - - - - Creates a new set instance based on a sorted tree. - - - - - Creates a new set instance based on a sorted tree. - - The to use for sorting. - - - - Creates a new set instance based on a sorted tree and - initializes it based on a collection of elements. - - A collection of elements that defines the initial set contents. - - - - Creates a new set instance based on a sorted tree and - initializes it based on a collection of elements. - - A collection of elements that defines the initial set contents. - The to use for sorting. - - - - Implements a thread-safe wrapper. - - - The implementation is extremely conservative, serializing critical sections - to prevent possible deadlocks, and locking on everything. The one exception - is for enumeration, which is inherently not thread-safe. For this, you have - to the object for the duration - of the enumeration. - - - - - Constructs a thread-safe wrapper. - - The object that this object will wrap. - - - - Adds the specified element to this set if it is not already present. - - The object to add to the set. - is the object was added, if it was already present. - - - - Adds all the elements in the specified collection to the set if they are not already present. - - A collection of objects to add to the set. - is the set changed as a result of this operation, if not. - - - - Removes all objects from the set. - - - - - Returns if this set contains the specified element. - - The element to look for. - if this set contains the specified element, otherwise. - - - - Returns if the set contains all the elements in the specified collection. - - A collection of objects. - if the set contains all the elements in the specified collection, otherwise. - - - - Removes the specified element from the set. - - The element to be removed. - if the set contained the specified element, otherwise. - - - - Remove all the specified elements from this set, if they exist in this set. - - A collection of elements to remove. - if the set was modified as a result of this operation. - - - - Retains only the elements in this set that are contained in the specified collection. - - Collection that defines the set of elements to be retained. - if this set changed as a result of this operation. - - - - Copies the elements in the set to an array. The type of array needs - to be compatible with the objects in the set, obviously. - - An array that will be the target of the copy operation. - The zero-based index where copying will start. - - - - Returns an enumerator that iterates through the set. - - - An object that can be used to iterate through the set. - - - Enumeration is, by definition, not thread-safe. Use a on the - to synchronize the entire enumeration process. - - - - - Returns a clone of this instance. - - A clone of this object. - - - - Returns if this set contains no elements. - - - - - The number of elements contained in this collection. - - - - - Returns , indicating that this object is thread-safe. The exception to this - is enumeration, which is inherently not thread-safe. Use the object to - lock this object for the entire duration of the enumeration. - - - - - Returns an object that can be used to synchronize the set between threads. - - -
-
diff --git a/Lib/Microsoft.Practices.Unity.Configuration.xml b/Lib/Microsoft.Practices.Unity.Configuration.xml deleted file mode 100644 index 5623914..0000000 --- a/Lib/Microsoft.Practices.Unity.Configuration.xml +++ /dev/null @@ -1,2451 +0,0 @@ - - - - Microsoft.Practices.Unity.Configuration - - - - - A configuration element storing information about a single type alias. - - - - - Base class for configuration elements with a default implementation of - public deserialization. - - - - - Load this element from the given . - - Contains the XML to initialize from. - - - - Write the contents of this element to the given . - - The caller of this method has already written the start element tag before - calling this method, so deriving classes only need to write the element content, not - the start or end tags. - Writer to send XML content to. - - - - Construct a new, uninitialized . - - - - - Construct a new that is initialized - to alias to the target . - - Alias to use. - Type that is aliased. - - - - Write the contents of this element to the given . - - The caller of this method has already written the start element tag before - calling this method, so deriving classes only need to write the element content, not - the start or end tags. - Writer to send XML content to. - - - - The alias used for this type. - - - - - The fully qualified name this alias refers to. - - - - - A collection of s. - - - - - Specialization of - that provides a canned implmentation of . - - Type of configuration element in the collection. - - - - A base helper class for implementing configuration collections. - - Type of configuration element contained in - the collection. - - - - Plug point to get objects out of the collection. - - Index in the collection to retrieve the item from. - Item at that index or null if not present. - - - - Plug point to get objects out of the collection. - - Key to look up the object by. - Item with that key or null if not present. - - - - Load this element from the given . - - Contains the XML to initialize from. - - - - Returns an enumerator that iterates through the collection. - - - A that can be used to iterate through the collection. - - 1 - - - - Add a new element to the collection. - - Element to add. - - - - Remove an element from the collection at the given index. - - The index of the item to remove. - - - - Remove all the items in the collection. - - - - - Write out the contents of this collection to the given - without a containing element - corresponding directly to this container element. Each - child element will have a tag name given by - . - - to output XML to. - Name of tag to generate. - - - - Indexer to retrieve items in the collection by index. - - Index of the item to get or set. - The item at the given index. - - - - When overridden in a derived class, creates a new . - - - A new . - - - - - Causes the configuration system to throw an exception. - - - true if the unrecognized element was deserialized successfully; otherwise, false. The default is false. - - The name of the unrecognized element. - An input stream that reads XML from the configuration file. - The element specified in is the <clear> element. - starts with the reserved prefix "config" or "lock". - - - - - Gets the element key for a specified configuration element when overridden in a derived class. - - - An that acts as the key for the specified . - - The to return the key for. - - - - - Indexer that allows you to get or set an alias by the alias name. - - Alias of element to get or set. - The type name at that alias. - - - - A configuration element used to configure injection of - a specific set of values into an array. - - - - - Base class for configuration elements that describe a value that will - be injected. - - - - - Initialize a new instance of . - - - - - Generate an object - that will be used to configure the container for a type registration. - - Container that is being configured. Supplied in order - to let custom implementations retrieve services; do not configure the container - directly in this method. - Type of the - - - - - Validate that an expected attribute is present in the given - dictionary and that it has a non-empty value. - - Dictionary of name/value pairs to check. - attribute name to check. - - - - Return a unique string that can be used to identify this object. Used - by the configuration collection support. - - - - - Write the contents of this element to the given . - - The caller of this method has already written the start element tag before - calling this method, so deriving classes only need to write the element content, not - the start or end tags. - Writer to send XML content to. - - - - Generate an object - that will be used to configure the container for a type registration. - - Container that is being configured. Supplied in order - to let custom implementations retrieve services; do not configure the container - directly in this method. - Type of the - - - - - Type of array to inject. This is actually the type of the array elements, - not the array type. Optional, if not specified we take the type from - our containing element. - - - - - Values used to calculate the contents of the array. - - - - - A configuration element representing the namespace - tags in the config file. - - - - - An element with a single "name" property, used for - the namespaces and assemblies. - - - - - Write the contents of this element to the given . - - The caller of this method has already written the start element tag before - calling this method, so deriving classes only need to write the element content, not - the start or end tags. - Writer to send XML content to. - - - - Name attribute for this element. - - - - - A collection of s in configuration. - - - - - Gets the element key for a specified configuration element when overridden in a derived class. - - - An that acts as the key for the specified . - - The to return the key for. - - - - - Helpful extension methods when implementing configuration sections - that deserialize "unwrapped" elements - elements that should be - deserialized into a container but can be present outside - that container in the actual config file. - - - - - Deserialize an element of the given type, store it in - the collection object, and - - Type of element to create and deserialize. - Parent element containing element to deserialize. - Xml reader containing state to deserialize from. - Collection to store the created element into. - The created element. - - - - Deserialize an element, basing the element type on the one - supplied at runtime, and then store the element into the - given . - - This method is useful when reading elements into a polymorphic collection. - Base type of element to store. - Element that contains the collection being stored into. - Xml Reader containing state to deserialize from. - Runtime type of element to create. - Collection to store the created element into. - The created element. - - - - Class that tracks the current input state of the parser. - - - - - A simple implementing of the rules for a Parsing Expression Grammar - parsing algorithm. This supplies basic methods to do the primitives - of the PEG, and combinators to create larger rules. - - - - - The PEG "dot" operator that matches and consumes one character. - - Input to the parser. - The parse result. - - - - Parse function generator that returns a method to match a single, - specific character. - - Character to match. - The generated parsing function. - - - - Parse function generator that checks if the current character matches - the predicate supplied. - - Predicate used to determine if the character is in - the given range. - The generated parsing function. - - - - The "*" operator - match zero or more of the inner parse expressions. - - Parse method to repeat matching. - The generated parsing function. - - - - Parsing combinator that matches all of the given expressions in - order, or matches none of them. - - Expressions that form the sequence to match. - The combined sequence. - - - - Parsing combinator that implements the PEG prioritized choice operator. Basically, - try each of the expressions in order, and match if any of them match, stopping on the - first match. - - Expressions that form the set of alternatives. - The combined parsing method. - - - - Parsing combinator implementing the "not" predicate. This wraps - the given parsing method with a check - to see if it matched. If it matched, then the Not fails, and vice - versa. The result consumes no input. - - The parse method to wrap. - The generated parsing function. - - - - Parsing expression that matches End of input. - - Parser input. - Parse result - - - - Combinator that executes an action if the given expression matched. - - Parsing expression to match. - Action to execute if - matched. Input is the matched text from . - The result of . - - - - Combinator that executes an action if the given expression matched. - - parsing expression to match. - Method to execute if a match happens. This method returns - the that will be returned from the combined expression. - The result of if expression matched, else - whatever returned. - - - - Object containing the result of attempting to match a PEG rule. - This object is the return type for all parsing methods. - - - - - Did the rule match? - - - - - The characters that were matched (if any) - - - - - Any extra information provided by the parsing expression - (only set if the parse matched). The nature - of the data varies depending on the parsing expression. - - - - - Helper methods to make it easier to pull the data - out of the result of a sequence expression. - - - - - Returns an enumerator that iterates through a collection. - - - An object that can be used to iterate through the collection. - - 2 - - - - Returns an enumerator that iterates through the collection. - - - A that can be used to iterate through the collection. - - 1 - - - - Adds an item to the . - - The object to add to the . - The is read-only. - - - - - Removes all items from the . - - The is read-only. - - - - - Determines whether the contains a specific value. - - - true if is found in the ; otherwise, false. - - The object to locate in the . - - - - - Copies the elements of the sequence to an , starting at a particular index. - - The one-dimensional that is the destination of the elements copied from this sequence. The must have zero-based indexing. - The zero-based index in at which copying begins. - is null. - is less than 0. - is multidimensional. - -or- - is equal to or greater than the length of . - -or- - The number of elements in the source is greater than the available space from to the end of the destination . - - - - - Removes the first occurrence of a specific object from the . - - - true if was successfully removed from the ; otherwise, false. This method also returns false if is not found in the original . - - The object to remove from the . - The is read-only. - - - - - Determines the index of a specific item in the . - - - The index of if found in the list; otherwise, -1. - - The object to locate in the . - - - - - Inserts an item to the at the specified index. - - The zero-based index at which should be inserted. - The object to insert into the . - is not a valid index in the . - The is read-only. - - - - - Removes the item at the specified index. - - The zero-based index of the item to remove. - is not a valid index in the . - The is read-only. - - - - - Gets the number of elements contained in the . - - - The number of elements contained in the . - - - - - Gets a value indicating whether the is read-only. - - - true if the is read-only; otherwise, false. - - - - - Gets or sets the element at the specified index. - - - The element at the specified index. - - The zero-based index of the element to get or set. - is not a valid index in the . - The property is set and the is read-only. - - - - - Class containing information about a type name. - - - - - The base name of the class - - - - - Namespace if any - - - - - Assembly name, if any - - - - - Helper methods on . - - - - - A helper method to make it more foolproof to write elements. This takes care of writing the - start and end elment tags, and takes a nested closure with the code to write the content of - the tag. That way the caller doesn't need to worry about the details of getting the start - and end tags correct. - - - We don't support XML Namespaces here because .NET configuration doesn't use them so - we don't need it for this current implementation. - - XmlWriter to write to. - Name of element. - Nested lambda which, when executed, will create the content for the - element. - (for method chaining if desired). - - - - A helper method to make it easier to output attributes. If the is - null or an empty string, output nothing, else output the given XML attribute. - - Writer to output to. - Attribute name to write. - Value for the attribute. - (for method chaining if desired). - - - - A base class for those elements that can be used - to configure a unity container. - - - - - Create a new instance of . - - - - - Apply this element's configuration to the given . - - Container to configure. - - - - Return a unique key that can be used to manage this element in a collection. - - - - - A couple of useful extension methods on IDictionary - - - - - Get the value from a dictionary, or null if there is no value. - - Key type of dictionary. - Value type of dictionary. - Dictionary to search. - Key to look up. - The value at the key or null if not in the dictionary. - - - - A helper class used to map element tag names to a handler method - used to interpret that element. - - - - - - Add method to enable dictionary initializer syntax - - - - - - - Process an unknown element according to the map entries. - - Parent element that hit this unknown element. - Name of the unknown element. - XmlReader positioned at start of element. - true if processed, false if not. - - - - Returns an enumerator that iterates through a collection. - - - An object that can be used to iterate through the collection. - - 2 - - - - Returns an enumerator that iterates through the collection. - - - A that can be used to iterate through the collection. - - 1 - - - - A helper class used to map element tag names to a handler method - used to interpret that element. - - - - - Returns an enumerator that iterates through a collection. - - - An object that can be used to iterate through the collection. - - 2 - - - - Returns an enumerator that iterates through the collection. - - - A that can be used to iterate through the collection. - - 1 - - - - A helper class that assists in deserializing parameter and property - elements. These elements both have a single "value" child element that - specify the value to inject for the property or parameter. - - - - - Create a new that wraps reading - values and storing them in the given . - - Element that contains the value elements. - - - - Gets a , or if none is present, - returns a default . - - The . - The given , unless - is null, in which case returns - a . - - - - Helper method used during deserialization to handle - attributes for the dependency and value tags. - - attribute name. - attribute value. - true - - - - Helper method used during deserialization to handle the default - value element tags. - - The element name. - XML data to read. - True if deserialization succeeded, false if it failed. - - - - Call this method at the end of deserialization of your element to - set your value element. - - - - - Serialize a object out to XML. - This method is aware of and implements the shorthand attributes - for dependency and value elements. - - Writer to output XML to. - The to serialize. - If true, always output an element. If false, then - dependency and value elements will be serialized as attributes in the parent tag. - - - - Configuration element representing a constructor configuration. - - - - - Base class for configuration elements that generate - object to configure a container. - - - - - Return the set of s that are needed - to configure the container according to this configuration element. - - Container that is being configured. - Type that is being registered. - Type that is being mapped to. - Name this registration is under. - One or more objects that should be - applied to the container registration. - - - - Get the standard tag name for an - taking into account currently loaded section extensions. - - Element to get the name for. - The element name. - If the member element is not currently registered - with the section. - - - - Each element must have a unique key, which is generated by the subclasses. - - - - - Element name to use to serialize this into XML. - - - - - Write the contents of this element to the given . - - The caller of this method has already written the start element tag before - calling this method, so deriving classes only need to write the element content, not - the start or end tags. - Writer to send XML content to. - - - - Return the set of s that are needed - to configure the container according to this configuration element. - - Container that is being configured. - Type that is being registered. - Type that is being mapped to. - Name this registration is under. - One or more objects that should be - applied to the container registration. - - - - The parameters of the constructor to call. - - - - - Each element must have a unique key, which is generated by the subclasses. - - - - - Element name to use to serialize this into XML. - - - - - A collection of s as - loaded from configuration. - - - - - When overridden in a derived class, creates a new . - - - A new . - - - - - Gets the element key for a specified configuration element when overridden in a derived class. - - - An that acts as the key for the specified . - - The to return the key for. - - - - - A configuration element class defining the set of registrations to be - put into a container. - - - - - Original configuration API kept for backwards compatibility. - - Container to configure - - - - Apply the configuration information in this element to the - given . - - Container to configure. - - - - Gets a value indicating whether an unknown element is encountered during deserialization. - - - true when an unknown element is encountered while deserializing; otherwise, false. - - The name of the unknown subelement. - The being used for deserialization. - The element identified by is locked. - - or - - One or more of the element's attributes is locked. - - or - - is unrecognized, or the element has an unrecognized attribute. - - or - - The element has a Boolean attribute with an invalid value. - - or - - An attempt was made to deserialize a property more than once. - - or - - An attempt was made to deserialize a property that is not a valid member of the element. - - or - - The element cannot contain a CDATA or text element. - - - - - Write the contents of this element to the given . - - The caller of this method has already written the start element tag before - calling this method, so deriving classes only need to write the element content, not - the start or end tags. - Writer to send XML content to. - - - - Name for this container configuration as given in the config file. - - - - - The type registrations in this container. - - - - - Any instances to register in the container. - - - - - Any extensions to add to the container. - - - - - Set of any extra configuration elements that were added by a - section extension. - - - This is not marked as a configuration property because we don't want - the actual property to show up as a nested element in the configuration. - - - - Configuration element representing an extension to add to a container. - - - - - Add the extension specified in this element to the container. - - Container to configure. - - - - Write the contents of this element to the given . - - The caller of this method has already written the start element tag before - calling this method, so deriving classes only need to write the element content, not - the start or end tags. - Writer to send XML content to. - - - - Type of the extension to add. - - - - - A collection of s. - - - - - Gets the element key for a specified configuration element when overridden in a derived class. - - - An that acts as the key for the specified . - - The to return the key for. - - - - - A derived class that describes - a parameter that should be resolved through the container. - - - - - Create a new instance of . - - - - - Create a new instance of with - properties initialized from the contents of - . - - Dictionary of name/value pairs to - initialize this object with. - - - - Write the contents of this element to the given . - - The caller of this method has already written the start element tag before - calling this method, so deriving classes only need to write the element content, not - the start or end tags. - Writer to send XML content to. - - - - Write the contents of this element to the given . This - method always outputs an explicit <dependency> tag, instead of providing - attributes to the parent method. - - Writer to send XML content to. - - - - Generate an object - that will be used to configure the container for a type registration. - - Container that is being configured. Supplied in order - to let custom implementations retrieve services; do not configure the container - directly in this method. - Type of the - - - - - Name to use to when resolving. If empty, resolves the default. - - - - - Name of type this dependency should resolve to. This is optional; - without it the container will resolve the type of whatever - property or parameter this element is contained in. - - - - - Base class used to derive new elements that can occur - directly within a container element. - - - - - Initialize a new instance of . - - - - - When overridden in a derived class, this method will make configuration - calls into the given according to its contents. - - The container to configure. - - - - Unique key generated for use in the collection class. - - - - - A collection of s. - - - - - When overridden in a derived class, creates a new . - - - A new . - - - - - Gets the element key for a specified configuration element when overridden in a derived class. - - - An that acts as the key for the specified . - - The to return the key for. - - - - - This class manages the set of extension elements - added by section elements. - - - - - Clear the current set of extension elements. - - - - - Register a new ContainerExtensionConfigurationElement with he section so it - can be read. - - prefix if any. - tag name. - Type of element to register. - - - - Register a new with the section - so it can be read. - - prefix if any. - Tag name. - Type of element to register. - - - - Register a new with the section - so it can be read. - - prefix if any. - Tag name. - Type of element to register. - - - - Retrieve the registered for the given - tag. - - Tag to look up. - Type of element, or null if not registered. - - - - Retrieve the ContainerExtensionConfigurationElement registered for the given - tag. - - Tag to look up. - Type of element, or null if not registered. - - - - Retrieve the ContainerExtensionConfigurationElement registered for the given - tag. - - Tag to look up. - Type of element, or null if not registered. - - - - Retrieve the correct tag to use when serializing the given - to XML. - - Element to be serialized. - The tag for that element type. - if the element is of a type that - is not registered with the section already. - - - - A polymorphic collection of s. - - - - - Causes the configuration system to throw an exception. - - - true if the unrecognized element was deserialized successfully; otherwise, false. The default is false. - - The name of the unrecognized element. - An input stream that reads XML from the configuration file. - The element specified in is the <clear> element. - starts with the reserved prefix "config" or "lock". - - - - - When overridden in a derived class, creates a new . - - - A new . - - - - - Gets the element key for a specified configuration element when overridden in a derived class. - - - An that acts as the key for the specified . - - The to return the key for. - - - - - Indexer that lets you access elements by their key. - - Key to retrieve element with. - The element. - - - - A configuration element that describes an instance to add to the container. - - - - - Write the contents of this element to the given . - - The caller of this method has already written the start element tag before - calling this method, so deriving classes only need to write the element content, not - the start or end tags. - Writer to send XML content to. - - - - Add the instance defined by this element to the given container. - - Container to configure. - - - - Name to register instance under - - - - - Value for this instance - - - - - Type of the instance. If not given, defaults to string - - - - - Type name for the type converter to use to create the instance. If not - given, defaults to the default type converter for this instance type. - - - - - Key used to keep these instances unique in the config collection. - - - - - A collection of s. - - - - - Gets the element key for a specified configuration element when overridden in a derived class. - - - An that acts as the key for the specified . - - The to return the key for. - - - - - An element that has a child Value property. - - - - - String that will be deserialized to provide the value. - - - - - A string describing where the value this element contains - is being used. For example, if setting a property Prop1, - this should return "property Prop1" (in english). - - - - - A configuration element that represents lifetime managers. - - - - - Create the described by - this element. - - A instance. - - - - Write the contents of this element to the given . - - The caller of this method has already written the start element tag before - calling this method, so deriving classes only need to write the element content, not - the start or end tags. - Writer to send XML content to. - - - - Type of the lifetime manager. - - - - - Extra initialization information used by the type converter for this lifetime manager. - - - - - Type of to use to create the - lifetime manager. - - - - - A configuration element representing a method to call. - - - - - Construct a new instance of . - - - - - Write the contents of this element to the given . - - The caller of this method has already written the start element tag before - calling this method, so deriving classes only need to write the element content, not - the start or end tags. - Writer to send XML content to. - - - - Return the set of s that are needed - to configure the container according to this configuration element. - - Container that is being configured. - Type that is being registered. - Type that is being mapped to. - Name this registration is under. - One or more objects that should be - applied to the container registration. - - - - Name of the method to call. - - - - - Parameters to the method call. - - - - - Each element must have a unique key, which is generated by the subclasses. - - - - - Element name to use to serialize this into XML. - - - - - A configuration element representing the namespace - tags in the config file. - - - - - A collection of s in configuration. - - - - - Gets the element key for a specified configuration element when overridden in a derived class. - - - An that acts as the key for the specified . - - The to return the key for. - - - - - A configuration element that specifies that a value - is optional. - - - - - Write the contents of this element to the given . - - The caller of this method has already written the start element tag before - calling this method, so deriving classes only need to write the element content, not - the start or end tags. - Writer to send XML content to. - - - - Generate an object - that will be used to configure the container for a type registration. - - Container that is being configured. Supplied in order - to let custom implementations retrieve services; do not configure the container - directly in this method. - Type of the - - - - - Name used to resolve the dependency, leave out or blank to resolve default. - - - - - Type of dependency to resolve. If left out, resolved the type of - the containing parameter or property. - - - - - Configuration element representing a parameter passed to a constructor - or a method. - - - - - Construct a new instance of . - - - - - Returns the required needed - to configure the container so that the correct value is injected. - - Container being configured. - Type of the parameter. - The value to use to configure the container. - - - - Does the information in this match - up with the given ? - - Information about the parameter. - True if this is a match, false if not. - - - - Reads XML from the configuration file. - - The that reads from the configuration file. - true to serialize only the collection key properties; otherwise, false. - The element to read is locked. - - or - - An attribute of the current node is not recognized. - - or - - The lock status of the current node cannot be determined. - - - - - Gets a value indicating whether an unknown attribute is encountered during deserialization. - - - true when an unknown attribute is encountered while deserializing; otherwise, false. - - The name of the unrecognized attribute. - The value of the unrecognized attribute. - - - - - Gets a value indicating whether an unknown element is encountered during deserialization. - - - true when an unknown element is encountered while deserializing; otherwise, false. - - The name of the unknown subelement. - The being used for deserialization. - The element identified by is locked. - - or - - One or more of the element's attributes is locked. - - or - - is unrecognized, or the element has an unrecognized attribute. - - or - - The element has a Boolean attribute with an invalid value. - - or - - An attempt was made to deserialize a property more than once. - - or - - An attempt was made to deserialize a property that is not a valid member of the element. - - or - - The element cannot contain a CDATA or text element. - - - - - Write the contents of this element to the given . - - The caller of this method has already written the start element tag before - calling this method, so deriving classes only need to write the element content, not - the start or end tags. - Writer to send XML content to. - - - - Name of this parameter. - - - - - Type of this parameter. - - This is only needed in order to disambiguate method overloads. Normally - the parameter name is sufficient. - - - - Element that describes the value for this property. - - - This is NOT marked as a ConfigurationProperty because this - child element is polymorphic, and the element tag determines - the type. Standard configuration properties only let you do - this if it's a collection, but we only want one value. Thus - the separate property. The element is deserialized in - . - - - - A string describing where the value this element contains - is being used. For example, if setting a property Prop1, - this should return "property Prop1" (in english). - - - - - A collection of objects. - - - - - Gets the element key for a specified configuration element when overridden in a derived class. - - - An that acts as the key for the specified . - - The to return the key for. - - - - - A collection of objects. - - - - - Causes the configuration system to throw an exception. - - - true if the unrecognized element was deserialized successfully; otherwise, false. The default is false. - - The name of the unrecognized element. - An input stream that reads XML from the configuration file. - The element specified in is the <clear> element. - starts with the reserved prefix "config" or "lock". - - - - - When overridden in a derived class, creates a new . - - - A new . - - - - - Gets the element key for a specified configuration element when overridden in a derived class. - - - An that acts as the key for the specified . - - The to return the key for. - - - - - String that will be deserialized to provide the value. - - - - - A string describing where the value this element contains - is being used. For example, if setting a property Prop1, - this should return "property Prop1" (in english). - - - - - A strongly-typed resource class, for looking up localized strings, etc. - - - - - Returns the cached ResourceManager instance used by this class. - - - - - Overrides the current thread's CurrentUICulture property for all - resource lookups using this strongly typed resource class. - - - - - Looks up a localized string similar to An abstract ContainerConfiguringElement cannot be created. Please specify a concrete type.. - - - - - Looks up a localized string similar to An abstract ExtensionConfigurationElement object cannot be created. Please specify a concrete type.. - - - - - Looks up a localized string similar to An abstract InjectionMemberElement object cannot be created. Please specify a concrete type.. - - - - - Looks up a localized string similar to An abstract ParameterValueElement object cannot be created. Please specify a concrete type.. - - - - - Looks up a localized string similar to The type name or alias {0} could not be resolved. Please check your configuration file and verify this type name.. - - - - - Looks up a localized string similar to The dependency element for generic parameter {0} must not have an explicit type name but has '{1}'.. - - - - - Looks up a localized string similar to The optional dependency element for generic parameter {0} must not have an explicit type name but has '{1}'.. - - - - - Looks up a localized string similar to {0} {1}. - - - - - Looks up a localized string similar to The injection configuration for {0} has multiple values.. - - - - - Looks up a localized string similar to The configuration element type {0} has not been registered with the section.. - - - - - Looks up a localized string similar to The injection configuration for {0} is specified through both attributes and child value elements.. - - - - - Looks up a localized string similar to Could not load section extension type {0}.. - - - - - Looks up a localized string similar to The extension type {0} does not derive from SectionExtension.. - - - - - Looks up a localized string similar to The extension element type {0} that is being added does not derive from ContainerConfiguringElement, InjectionMemberElement, or ParameterValueElement. An extension element must derive from one of these types.. - - - - - Looks up a localized string similar to No valid attributes were found to construct the value for the {0}. Please check the configuration file.. - - - - - Looks up a localized string similar to Configuration is incorrect, the type {0} does not have a constructor that takes parameters named {1}.. - - - - - Looks up a localized string similar to Configuration is incorrect, the type {0} does not have a method named {1} that takes parameters named {2}.. - - - - - Looks up a localized string similar to The container named "{0}" is not defined in this configuration section.. - - - - - Looks up a localized string similar to The type {0} does not have a property named {1}.. - - - - - Looks up a localized string similar to The configuration is set to inject an array, but the type {0} is not an array type.. - - - - - Looks up a localized string similar to parameter. - - - - - Looks up a localized string similar to property. - - - - - Looks up a localized string similar to The attribute {0} must be present and non-empty.. - - - - - Looks up a localized string similar to The value element for {1} was specified for the generic array type {0}. Value elements are not allowed for generic array types.. - - - - - Looks up a localized string similar to The value element for {1} was specified for the generic parameter type {0}. Value elements are not allowed for generic parameter types.. - - - - - Looks up a localized string similar to The value element for {1} was specified for the generic type {0}. Value elements are not allowed for generic types.. - - - - - A class representing a property configuration element. - - - - - Construct a new instance of - - - - - Reads XML from the configuration file. - - The that reads from the configuration file. - true to serialize only the collection key properties; otherwise, false. - The element to read is locked. - - or - - An attribute of the current node is not recognized. - - or - - The lock status of the current node cannot be determined. - - - - - Gets a value indicating whether an unknown attribute is encountered during deserialization. - - - true when an unknown attribute is encountered while deserializing; otherwise, false. - - The name of the unrecognized attribute. - The value of the unrecognized attribute. - - - - - Gets a value indicating whether an unknown element is encountered during deserialization. - - - true when an unknown element is encountered while deserializing; otherwise, false. - - The name of the unknown subelement. - The being used for deserialization. - The element identified by is locked. - - or - - One or more of the element's attributes is locked. - - or - - is unrecognized, or the element has an unrecognized attribute. - - or - - The element has a Boolean attribute with an invalid value. - - or - - An attempt was made to deserialize a property more than once. - - or - - An attempt was made to deserialize a property that is not a valid member of the element. - - or - - The element cannot contain a CDATA or text element. - - - - - Write the contents of this element to the given . - - The caller of this method has already written the start element tag before - calling this method, so deriving classes only need to write the element content, not - the start or end tags. - Writer to send XML content to. - - - - Return the set of s that are needed - to configure the container according to this configuration element. - - Container that is being configured. - Type that is being registered. - Type that is being mapped to. - Name this registration is under. - One or more objects that should be - applied to the container registration. - - - - Name of the property that will be set. - - - - - Each element must have a unique key, which is generated by the subclasses. - - - - - String that will be deserialized to provide the value. - - - - - A string describing where the value this element contains - is being used. For example, if setting a property Prop1, - this should return "property Prop1" (in english). - - - - - Element name to use to serialize this into XML. - - - - - A configuration element representing a single container type registration. - - - - - Apply the registrations from this element to the given container. - - Container to configure. - - - - Write the contents of this element to the given . - - The caller of this method has already written the start element tag before - calling this method, so deriving classes only need to write the element content, not - the start or end tags. - Writer to send XML content to. - - - - The type that is registered. - - - - - Name registered under. - - - - - Type that is mapped to. - - - - - Lifetime manager to register for this registration. - - - - - Any injection members (constructor, properties, etc.) that are specified for - this registration. - - - - - A collection of s. - - - - - Causes the configuration system to throw an exception. - - - true if the unrecognized element was deserialized successfully; otherwise, false. The default is false. - - The name of the unrecognized element. - An input stream that reads XML from the configuration file. - The element specified in is the <clear> element. - starts with the reserved prefix "config" or "lock". - - - - - Gets the element key for a specified configuration element when overridden in a derived class. - - - An that acts as the key for the specified . - - The to return the key for. - - - - - Base class for Unity configuration section extensions. - Derived classes are used to add custom elments and aliases - into the configuration section being loaded. - - - - - Add the extensions to the section via the context. - - Context object that can be used to add elements and aliases. - - - - An object that gives the ability to add - elements and aliases to a configuration section. - - - - - Add a new alias to the configuration section. This is useful - for those extensions that add commonly used types to configuration - so users don't have to alias them repeatedly. - - The alias to use. - Type the alias maps to. - - - - Add a new alias to the configuration section. This is useful - for those extensions that add commonly used types to configuration - so users don't have to alias them repeatedly. - - Type the alias maps to. - The alias to use - - - - Add a new element to the configuration section schema. - - Tag name in the XML. - Type the tag maps to. - - - - Add a new element to the configuration section schema. - - Type the tag maps to. - Tag name in the XML. - - - - A configuration element used to specify which extensions to - add to the configuration schema. - - - - - Reads XML from the configuration file. - - The that reads from the configuration file. - true to serialize only the collection key properties; otherwise, false. - The element to read is locked. - - or - - An attribute of the current node is not recognized. - - or - - The lock status of the current node cannot be determined. - - - - - Write the contents of this element to the given . - - The caller of this method has already written the start element tag before - calling this method, so deriving classes only need to write the element content, not - the start or end tags. - Writer to send XML content to. - - - - Type of the section extender object that will provide new elements to the schema. - - - - - Optional prefix that will be added to the element names added by this - section extender. If left out, no prefix will be added. - - - - - The extension object represented by this element. - - - - - A collection of s. - - - - - Gets the element key for a specified configuration element when overridden in a derived class. - - - An that acts as the key for the specified . - - The to return the key for. - - - - - Type that manage access to a set of type aliases and implements - the logic for converting aliases to their actual types. - - - - - Set the set of aliases to use for resolution. - - Configuration section containing the various - type aliases, namespaces and assemblies. - - - - Resolves a type alias or type fullname to a concrete type. - - Type alias or type fullname - Type object or null if resolve fails. - Thrown if alias lookup fails. - - - - Resolves a type alias or type fullname to a concrete type. - - Alias or name to resolve. - if true and the alias does not - resolve, throw an , otherwise - return null on failure. - The type object or null if resolve fails and - is false. - - - - Resolve a type alias or type full name to a concrete type. - If is null or empty, return the - given instead. - - Type alias or full name to resolve. - Value to return if typeName is null or empty. - The concrete . - Thrown if alias lookup fails. - - - - Resolve a type alias or type full name to a concrete type. - If is null or empty, return the - given instead. - - Type alias or full name to resolve. - Value to return if typeName is null or empty. - if true and the alias does not - resolve, throw an , otherwise - return null on failure. - The concrete . - Thrown if alias lookup fails and - is true. - - - - A helper class that implements the actual logic for resolving a shorthand - type name (alias or raw type name) into an actual type object. - - - - - Construct a new that uses the given - sequence of alias, typename pairs to resolve types. - - Type aliases from the configuration file. - Assembly names to search. - Namespaces to search. - - - - Resolves a type alias or type fullname to a concrete type. - - Alias or name to resolve. - if true and the alias does not - resolve, throw an , otherwise - return null on failure. - The type object or null if resolve fails and - is false. - - - - Resolve a type alias or type full name to a concrete type. - If is null or empty, return the - given instead. - - Type alias or full name to resolve. - Value to return if typeName is null or empty. - if true and the alias does not - resolve, throw an , otherwise - return null on failure. - - If is null or an empty string, - then return . - Otherwise, return the resolved type object. If the resolution fails - and is false, then return null. - - - - - A configuration section describing configuration for an . - - - - - The name of the section where unity configuration is expected to be found. - - - - - XML Namespace string used for IntelliSense in this section. - - - - - Apply the configuration in the default container element to the given container. - - Container to configure. - The passed in . - - - - Apply the configuration in the default container element to the given container. - - Container to configure. - Name of the container element to use to configure the container. - The passed in . - - - - Reads XML from the configuration file. - - The object, which reads from the configuration file. - found no elements in the configuration file. - - - - - Gets a value indicating whether an unknown element is encountered during deserialization. - - - true when an unknown element is encountered while deserializing; otherwise, false. - - The name of the unknown subelement. - The being used for deserialization. - The element identified by is locked. - - or - - One or more of the element's attributes is locked. - - or - - is unrecognized, or the element has an unrecognized attribute. - - or - - The element has a Boolean attribute with an invalid value. - - or - - An attempt was made to deserialize a property more than once. - - or - - An attempt was made to deserialize a property that is not a valid member of the element. - - or - - The element cannot contain a CDATA or text element. - - - - - Creates an XML string containing an unmerged view of the object as a single section to write to a file. - - - An XML string containing an unmerged view of the object. - - The instance to use as the parent when performing the un-merge. - The name of the section to create. - The instance to use when writing to a string. - - - - - The current that is being deserialized - or being configured from. - - - - - Storage for XML namespace. The namespace isn't used or validated by config, but - it is useful for Visual Studio XML IntelliSense to kick in. - - - - - The set of containers defined in this configuration section. - - - - - The set of type aliases defined in this configuration file. - - - - - Any schema extensions that are added. - - - - - Any namespaces added to the type search list. - - - - - Any assemblies added to the type search list. - - - - - Add a new alias to the configuration section. This is useful - for those extensions that add commonly used types to configuration - so users don't have to alias them repeatedly. - - The alias to use. - Type the alias maps to. - - - - Add a new element to the configuration section schema. - - Tag name in the XML. - Type the tag maps to. - - - - Collection element for s. - - - - - Plug point to get objects out of the collection. - - Index in the collection to retrieve the item from. - Item at that index or null if not present. - - - - Plug point to get objects out of the collection. - - Key to look up the object by. - Item with that key or null if not present. - - - - Gets the element key for a specified configuration element when overridden in a derived class. - - - An that acts as the key for the specified . - - The to return the key for. - - - - - Retrieve a stored by name. - - Name to look up. - The stored container or null if not in the collection. - - - - Return the default container in the collection. The default is the one without a name. - - - - - Extensions to to simplify - loading configuration into a container. - - - - - Apply configuration from the given section and named container - into the given container. - - Unity container to configure. - Configuration section with config information. - Named container. - . - - - - Apply configuration from the default section (named "unity" pulled out of - ConfigurationManager) and the named container. - - Unity container to configure. - Named container element in configuration. - . - - - - Apply configuration from the default section and unnamed container element. - - Container to configure. - . - - - - Apply configuration from the default container in the given section. - - Unity container to configure. - Configuration section. - . - - - - Element that describes a constant value that will be - injected into the container. - - - - - Construct a new object. - - - - - Construct a new object, - initializing properties from the contents of - . - - Name/value pairs which - contain the values to initialize properties to. - - - - Write the contents of this element to the given . - - The caller of this method has already written the start element tag before - calling this method, so deriving classes only need to write the element content, not - the start or end tags. - Writer to send XML content to. - - - - Write the contents of this element to the given . This - method always outputs an explicit <dependency> tag, instead of providing - attributes to the parent method. - - Writer to send XML content to. - - - - Generate an object - that will be used to configure the container for a type registration. - - Container that is being configured. Supplied in order - to let custom implementations retrieve services; do not configure the container - directly in this method. - Type of the parameter to get the value for. - The required object. - - - - Value for this element - - - - - - - - - diff --git a/Lib/Microsoft.Practices.Unity.Interception.Configuration.xml b/Lib/Microsoft.Practices.Unity.Interception.Configuration.xml deleted file mode 100644 index eda678d..0000000 --- a/Lib/Microsoft.Practices.Unity.Interception.Configuration.xml +++ /dev/null @@ -1,716 +0,0 @@ - - - - Microsoft.Practices.Unity.Interception.Configuration - - - - - Configuration element that lets you specify additional interfaces - to add when this type is intercepted. - - - - - Write the contents of this element to the given . - - The caller of this method has already written the start element tag before - calling this method, so deriving classes only need to write the element content, not - the start or end tags. - Writer to send XML content to. - - - - Return the set of s that are needed - to configure the container according to this configuration element. - - Container that is being configured. - Type that is being registered. - Type that is being mapped to. - Name this registration is under. - One or more objects that should be - applied to the container registration. - - - - Type of interface to add. - - - - - Each element must have a unique key, which is generated by the subclasses. - - - - - Configuration element representing a call handler. - - - - - Base class for the two children of the Policy element: - MatchingRuleElement and CallHandlerElement. - - - - These configuration elements have a required "name" attribute, an optional "type" attribute, and - optional child elements <lifetime> and <injection> - - - Elements without a value for the type attribute can only have a value for the name attribute, and - indicate that the represented handler or rule is configured elsewhere and that a reference to - the given name must be added to the policy to be resolved, while elements with a value for the type - attribute indicate how the represented handler or rule should be built and can optionally specify - lifetime management and injection configuration. - - - This element is similar to the , except that it does not provide - an extension point for arbitrary configuration. - - - - - - Reads XML from the configuration file. - - The that reads from the configuration file. - true to serialize only the collection key properties; otherwise, false. - The element to read is locked. - - or - - An attribute of the current node is not recognized. - - or - - The lock status of the current node cannot be determined. - - - - - Write the contents of this element to the given . - - The caller of this method has already written the start element tag before - calling this method, so deriving classes only need to write the element content, not - the start or end tags. - Writer to send XML content to. - - - - Name of this item - - - - - Type that implements this matching rule or call handler. - - - - - Injection members that control how this item is created. - - - - - Lifetime manager for this item. - - - - - A collection of s for configuration. - - - - - Gets the element key for a specified configuration element when overridden in a derived class. - - - An that acts as the key for the specified . - - The to return the key for. - - - - - Causes the configuration system to throw an exception. - - - true if the unrecognized element was deserialized successfully; otherwise, false. The default is false. - - The name of the unrecognized element. - An input stream that reads XML from the configuration file. - The element specified in is the <clear> element. - starts with the reserved prefix "config" or "lock". - - - - - Retrieve a call handler element from the collection by name. - - Name to look up. - The rule, or null if not in the collection. - - - - The <default> element that appears inside an <interceptor> element. - - - - - Base class for the default and key elements that can occur - inside the <interceptor> element. - - - - - Write the contents of this element to the given . - - The caller of this method has already written the start element tag before - calling this method, so deriving classes only need to write the element content, not - the start or end tags. - Writer to send XML content to. - - - - Actually register the interceptor against this type. - - Container to configure. - interceptor to register. - - - - Type name that this interceptor will be registered for. - - - - - Return the type object that is resolved from the property. - - The type object. - - - - Actually register the interceptor against this type. - - Container to configure. - interceptor to register. - - - - Configuration elmement for specifying - interception behaviors for a type. - - - - - Reads XML from the configuration file. - - The that reads from the configuration file. - true to serialize only the collection key properties; otherwise, false. - The element to read is locked. - - or - - An attribute of the current node is not recognized. - - or - - The lock status of the current node cannot be determined. - - - - - Write the contents of this element to the given . - - The caller of this method has already written the start element tag before - calling this method, so deriving classes only need to write the element content, not - the start or end tags. - Writer to send XML content to. - - - - Return the set of s that are needed - to configure the container according to this configuration element. - - Container that is being configured. - Type that is being registered. - Type that is being mapped to. - Name this registration is under. - One or more objects that should be - applied to the container registration. - - - - Type of behavior to add. - - - - - Name of behavior to resolve. - - - - - Should this behavior be configured as a default behavior for this type, or - specifically for this type/name pair only? - - - - - Each element must have a unique key, which is generated by the subclasses. - - - - - Section extension class used to add the elements needed to configure - Unity interception to the configuration schema. - - - - - Add the extensions to the section via the context. - - Context object that can be used to add elements and aliases. - - - - A configuration element that contains the top-level container configuration - information for interception - handler policies and global interceptor definitions. - - - - - Gets a value indicating whether an unknown element is encountered during deserialization. - - - true when an unknown element is encountered while deserializing; otherwise, false. - - The name of the unknown subelement. - The being used for deserialization. - The element identified by is locked. - - or - - One or more of the element's attributes is locked. - - or - - is unrecognized, or the element has an unrecognized attribute. - - or - - The element has a Boolean attribute with an invalid value. - - or - - An attempt was made to deserialize a property more than once. - - or - - An attempt was made to deserialize a property that is not a valid member of the element. - - or - - The element cannot contain a CDATA or text element. - - - - - Write the contents of this element to the given . - - The caller of this method has already written the start element tag before - calling this method, so deriving classes only need to write the element content, not - the start or end tags. - Writer to send XML content to. - - - - Apply this element's configuration to the given . - - Container to configure. - - - - Policies defined for this container. - - - - - Configuration element that lets you configure - what interceptor to use for a type. - - - - - Initialize a new . - - - - - Write the contents of this element to the given . - - The caller of this method has already written the start element tag before - calling this method, so deriving classes only need to write the element content, not - the start or end tags. - Writer to send XML content to. - - - - Return the set of s that are needed - to configure the container according to this configuration element. - - Container that is being configured. - Type that is being registered. - Type that is being mapped to. - Name this registration is under. - One or more objects that should be - applied to the container registration. - - - - Type name for the interceptor to apply. - - - - - Name to use when resolving interceptors from the container. - - - - - Should this interceptor be registered as the default for the contained - type, or only for this particular type/name pair? - - - - - Each element must have a unique key, which is generated by the subclasses. - - - - - A collection of objects as shown - in configuration. - - - - - When overridden in a derived class, creates a new . - - - A new . - - - - - Gets the element key for a specified configuration element when overridden in a derived class. - - - An that acts as the key for the specified . - - The to return the key for. - - - - - Configuration element that provides a top-level element for - configuration interceptors for types in a container. - - - - - Write the contents of this element to the given . - - The caller of this method has already written the start element tag before - calling this method, so deriving classes only need to write the element content, not - the start or end tags. - Writer to send XML content to. - - - - Apply this element's configuration to the given . - - Container to configure. - - - - The various child elements that are contained in this element. - - - - - Configuration element that represents the configuration for - a specific interceptor, as presented in the config file inside - the <interceptors> element. - - - - - Write the contents of this element to the given . - - The caller of this method has already written the start element tag before - calling this method, so deriving classes only need to write the element content, not - the start or end tags. - Writer to send XML content to. - - - - Gets a value indicating whether an unknown element is encountered during deserialization. - - - true when an unknown element is encountered while deserializing; otherwise, false. - - The name of the unknown subelement. - The being used for deserialization. - The element identified by is locked. - - or - - One or more of the element's attributes is locked. - - or - - is unrecognized, or the element has an unrecognized attribute. - - or - - The element has a Boolean attribute with an invalid value. - - or - - An attempt was made to deserialize a property more than once. - - or - - An attempt was made to deserialize a property that is not a valid member of the element. - - or - - The element cannot contain a CDATA or text element. - - - - - Type of interceptor to configure. - - - - - The types that this interceptor will be registered against. - - - - - Any value passed to the type converter. - - - - - Type converter to use to create the interceptor, if any. - - - - - A collection of objects - as stored in configuration. - - - - - Gets the element key for a specified configuration element when overridden in a derived class. - - - An that acts as the key for the specified . - - The to return the key for. - - - - - The <key> element that occurs inside an <interceptor> element - - - - - Write the contents of this element to the given . - - The caller of this method has already written the start element tag before - calling this method, so deriving classes only need to write the element content, not - the start or end tags. - Writer to send XML content to. - - - - Actually register the interceptor against this type. - - Container to configure. - interceptor to register. - - - - Name registration should be under. To register under the default, leave blank. - - - - - A configuration element representing a matching rule. - - - - - A collection of s for configuration. - - - - - Gets the element key for a specified configuration element when overridden in a derived class. - - - An that acts as the key for the specified . - - The to return the key for. - - - - - Causes the configuration system to throw an exception. - - - true if the unrecognized element was deserialized successfully; otherwise, false. The default is false. - - The name of the unrecognized element. - An input stream that reads XML from the configuration file. - The element specified in is the <clear> element. - starts with the reserved prefix "config" or "lock". - - - - - Retrieve a matching rule element from the collection by name. - - Name to look up. - The rule, or null if not in the collection. - - - - Configuration element for building up an interception policy. - - - - - Gets a value indicating whether an unknown element is encountered during deserialization. - - - true when an unknown element is encountered while deserializing; otherwise, false. - - The name of the unknown subelement. - The being used for deserialization. - The element identified by is locked. - - or - - One or more of the element's attributes is locked. - - or - - is unrecognized, or the element has an unrecognized attribute. - - or - - The element has a Boolean attribute with an invalid value. - - or - - An attempt was made to deserialize a property more than once. - - or - - An attempt was made to deserialize a property that is not a valid member of the element. - - or - - The element cannot contain a CDATA or text element. - - - - - Write the contents of this element to the given . - - The caller of this method has already written the start element tag before - calling this method, so deriving classes only need to write the element content, not - the start or end tags. - Writer to send XML content to. - - - - Name of this policy. - - - - - Matching rules for this policy. - - - - - Call handlers for this policy. - - - - - A collection of in the configuration. - - - - - Gets the element key for a specified configuration element when overridden in a derived class. - - - An that acts as the key for the specified . - - The to return the key for. - - - - - Indexer to retrieve policy element objects by name. - - Name of policy to get. - The element. - - - - A shortcut element to enable the policy injection behavior. - - - - - Return the set of s that are needed - to configure the container according to this configuration element. - - Container that is being configured. - Type that is being registered. - Type that is being mapped to. - Name this registration is under. - One or more objects that should be - applied to the container registration. - - - - Each element must have a unique key, which is generated by the subclasses. - - - - - A strongly-typed resource class, for looking up localized strings, etc. - - - - - Returns the cached ResourceManager instance used by this class. - - - - - Overrides the current thread's CurrentUICulture property for all - resource lookups using this strongly typed resource class. - - - - - Looks up a localized string similar to The abstract type InterceptorRegistrationElement cannot be created. Please create a concrete instance.. - - - - - Looks up a localized string similar to The <injection/> element is not allowed on element named '{0}' because it doesn't have a type attribute.. - - - - - Looks up a localized string similar to The <lifetime/> element is not allowed on element named '{0}' because it doesn't have a type attribute.. - - - - - Looks up a localized string similar to The type name or alias {0} could not be resolved. Please check your configuration file and verify this type name.. - - - - - Looks up a localized string similar to Cannot create instance of type {0} with a default constructor.. - - - - - Looks up a localized string similar to The type name {0} resolved to type {1} is not compatible with the required type {2}.. - - - - - Looks up a localized string similar to The type {0} could not be resolved to a valid type. Please double check your configuration.. - - - - - Looks up a localized string similar to The interception behavior element must have at least one of the 'name' or 'type' attributes.. - - - - diff --git a/Lib/Microsoft.Practices.Unity.Interception.xml b/Lib/Microsoft.Practices.Unity.Interception.xml deleted file mode 100644 index 31dc595..0000000 --- a/Lib/Microsoft.Practices.Unity.Interception.xml +++ /dev/null @@ -1,3460 +0,0 @@ - - - - Microsoft.Practices.Unity.Interception - - - - - Stores information about a single to be an additional interface for an intercepted object and - configures a container accordingly. - - - - - Stores information about a an intercepted object and configures a container accordingly. - - - - - Initializes a new instance of the with a - . - - A descriptor representing the interception behavior to use. - when is - . - when is not an interface. - - - - - Add policies to the to configure the container to use the represented - as an additional interface for the supplied parameters. - - Interface being registered. - Type to register. - Name used to resolve the type object. - Policy list to add policies to. - - - - Stores information about a single to be an additional interface for an intercepted object and - configures a container accordingly. - - The interface. - - - - Initializes a new instance of the . - - - - - An injection member that lets you specify behaviors that should - apply to all instances of a type in the container regardless - of what name it's resolved under. - - - - - Base class for injection members that allow you to add - interception behaviors. - - - - - Initializes a new instance of the with a - . - - The interception behavior to use. - - - - Initializes a new instance of the with a - given type/name pair. - - Type of behavior to - - - - - Initializes a new instance of the with a - given behavior type. - - Type of behavior to - - - - Add policies to the to configure the container to use the represented - for the supplied parameters. - - Interface being registered. - Type to register. - Name used to resolve the type object. - Policy list to add policies to. - - - - Get the list of behaviors for the current type so that it can be added to. - - Policy list. - Implementation type to set behaviors for. - Name type is registered under. - An instance of . - - - - Create a new that will - supply the given interception behavior to the container. - - Behavior to apply to this type. - - - - Create a new that will - resolve the given type/name pair to get the behavior. - - Type of behavior. - Name for behavior registration. - - - - Create a new that will - resolve the given type to get the behavior. - - Type of behavior. - - - - Get the list of behaviors for the current type so that it can be added to. - - Policy list. - Implementation type to set behaviors for. - Name type is registered under. - An instance of . - - - - A generic version of so you - can give the behavior type using generic syntax. - - Type of the behavior object to apply. - - - - Construct a new instance - that use the given type and name to resolve the behavior object. - - Name of the registration. - - - - Construct a new instance - that uses the given type to resolve the behavior object. - - - - - A that can be passed to the - method to specify - which interceptor to use. This member sets up the default - interceptor for a type - this will be used regardless of which - name is used to resolve the type. - - - - - Construt a new instance that, - when applied to a container, will register the given - interceptor as the default one. - - Interceptor to use. - - - - Construct a new that, when - applied to a container, will register the given type as - the default interceptor. - - Type of interceptor. - Name to use to resolve the interceptor. - - - - Construct a new that, when - applied to a container, will register the given type as - the default interceptor. - - Type of interceptor. - - - - Add policies to the to configure the - container to call this constructor with the appropriate parameter values. - - Type of interface being registered. If no interface, - this will be null. - Type of concrete type being registered. - Name used to resolve the type object. - Policy list to add policies to. - - - - A generic version of so that - you can specify the interceptor type using generics. - - - - - - Create a new instance of . - - Name to use when resolving interceptor. - - - - Create a new instance of . - - - - - An that accumulates a sequence of - instances representing the additional interfaces for an intercepted object. - - - - - An that returns a sequence of - instances representing the additional interfaces for an intercepted object. - - - - - Gets the instances accumulated by this policy. - - - - - Initializes a new instance of the class. - - - - - Gets the instances accumulated by this policy. - - - - - An implementation of that will - resolve the interceptor through the container. - - - - - An interface that determines when to intercept instances - and which interceptor to use. - - - - - Interceptor to use. - - Context for current build operation. - - - - Construct a new that - will resolve the interceptor using the given build key. - - build key to resolve. - - - - Interceptor to use. - - Context for current build operation. - - - - An implementation of that will - resolve the interceptor through the container. - - - - - Interface that controls when and how types get intercepted. - - - - - Interceptor to use to create type proxy - - Context for current build operation. - - - - Cache for proxied type. - - - - - construct a new that - will resolve the interceptor with the given . - - The build key to use to resolve. - - - - Interceptor to use to create type proxy - - Context for current build operation. - - - - Cache for proxied type. - - - - - High-level API for performing interception on existing and new objects. - - - - - Returns a for type which wraps - the supplied . - - The type to intercept. - The instance to intercept. - The to use when creating the proxy. - The interception behaviors for the new proxy. - Any additional interfaces the proxy must implement. - A proxy for compatible with . - when is . - when is . - when is . - when is . - when cannot intercept - . - - - - Returns a for type which wraps - the supplied . - - Type to intercept. - The instance to intercept. - The to use when creating the proxy. - The interception behaviors for the new proxy. - A proxy for compatible with . - when is . - when is . - when is . - when cannot intercept - . - - - - Returns a for type which wraps - the supplied . - - The type to intercept. - The instance to intercept. - The to use when creating the proxy. - The interception behaviors for the new proxy. - Any additional interfaces the proxy must implement. - A proxy for compatible with . - when is . - when is . - when is . - when is . - when is . - when cannot intercept - . - - - - Returns a for type which wraps - the supplied . - - The type to intercept. - The instance to intercept. - The to use when creating the proxy. - The interception behaviors for the new proxy. - A proxy for compatible with . - when is . - when is . - when is . - when is . - when cannot intercept - . - - - - Creates a new instance of type that is intercepted with the behaviors in - . - - The type of the object to create. - The to use when creating the proxy. - The interception behaviors for the new proxy. - Any additional interfaces the proxy must implement. - The arguments for the creation of the new instance. - An instance of a class compatible with that includes execution of the - given . - when is . - when is . - When is . - when cannot intercept - . - - - - Creates a new instance of type that is intercepted with the behaviors in - . - - The type of the object to create. - The to use when creating the proxy. - The interception behaviors for the new proxy. - The arguments for the creation of the new instance. - An instance of a class compatible with that includes execution of the - given . - when is . - when is . - when cannot intercept - . - - - - Creates a new instance of type that is intercepted with the behaviors in - . - - The type of the object to create. - The to use when creating the proxy. - The interception behaviors for the new proxy. - Any additional interfaces the instance must implement. - The arguments for the creation of the new instance. - An instance of a class compatible with that includes execution of the - given . - when is . - when is . - when is . - when is . - when cannot intercept - . - - - - Creates a new instance of type that is intercepted with the behaviors in - . - - The type of the object to create. - The to use when creating the proxy. - The interception behaviors for the new proxy. - The arguments for the creation of the new instance. - An instance of a class compatible with that includes execution of the - given . - when is . - when is . - when is . - when cannot intercept - . - - - - Computes the array with all the additional interfaces for the interception of an object. - - The interception behaviors for the new proxy. - Any additional interfaces the instance must implement. - An array with the required interfaces for - when the interfaces are not valid. - - - - Stores information about the to be used to intercept an object and - configures a container accordingly. - - - - - - Initializes a new instance of the class with an interceptor instance. - - The to use. - when is - . - - - - Initialize a new instance of the class with a given - name and type that will be resolved to provide interception. - - Type of the interceptor - name to use to resolve. - - - - Initialize a new instance of the class with - a given type that will be resolved to provide interception. - - Type of the interceptor. - - - - Add policies to the to configure the container to use the represented - for the supplied parameters. - - Interface being registered. - Type to register. - Name used to resolve the type object. - Policy list to add policies to. - - - - Generic version of that lets you specify an interceptor - type using generic syntax. - - Type of interceptor - - - - Initialize an instance of that will - resolve the given interceptor type. - - - - - Initialize an instance of that will - resolve the given interceptor type and name. - - Name that will be used to resolve the interceptor. - - - - A simple data holder class used to store information about the current - interception operation that's being set up. Useful for creating behaviors - that need to know this stuff (especially the PIAB behavior). - - - - - Create a new instance of that - stores the given , - , and . - - that will be used to - create the intercepting type or proxy. - Type that interception was requested on. - Type of the object that will actually be intercepted. - - - - that will be used to - create the intercepting type or proxy. - - - - - Type that interception was requested on. - - - - - Type of the object that will actually be intercepted. - - - - - This interface is implemented by all proxy objects, type or instance based. - It allows for adding interception behaviors. - - - - - Adds a to the proxy. - - The to add. - - - - Base interface for type and instance based interceptor classes. - - - - - Can this interceptor generate a proxy for the given type? - - Type to check. - True if interception is possible, false if not. - - - - Returns a sequence of methods on the given type that can be - intercepted. - - Type that was specified when this interceptor - was created (typically an interface). - The concrete type of the implementing object. - Sequence of objects. - - - - Interface for interceptors that generate separate proxy - objects to implement interception on instances. - - - - - Create a proxy object that provides interception for . - - Type to generate the proxy of. - Object to create the proxy for. - Additional interfaces the proxy must implement. - The proxy object. - - - - Implementation of that returns a - pre-created interceptor. - - - - - Create a new instance of . - - Interceptor to store. - - - - Interceptor to use. - - Context for current build operation. - - - - A that intercepts objects - in the build chain by creating a proxy object. - - - - - Called during the chain of responsibility for a build operation. The - PostBuildUp method is called when the chain has finished the PreBuildUp - phase and executes in reverse order from the PreBuildUp calls. - - Context of the build operation. - - - - An instance interceptor that works by generating a - proxy class on the fly for a single interface. - - - - - Can this interceptor generate a proxy for the given type? - - Type to check. - True if interception is possible, false if not. - - - - Returns a sequence of methods on the given type that can be - intercepted. - - Type that was specified when this interceptor - was created (typically an interface). - The concrete type of the implementing object. - Sequence of objects. - - - - Create a proxy object that provides interception for . - - Type to generate the proxy of. - Object to create the proxy for. - Additional interfaces the proxy must implement. - The proxy object. - - - - A class used to generate proxy classes for doing interception on - interfaces. - - - - - Create an instance of that - can construct an intercepting proxy for the given interface. - - Type of the interface to intercept. - Additional interfaces the proxy must implement. - - - - Create the type to proxy the requested interface - - - - - - Represents the implementation of an interface method. - - - - - Used to throw an for non-implemented methods on the - additional interfaces. - - - - - This class provides the remoting-based interception mechanism. It is - invoked by a call on the corresponding TransparentProxy - object. It routes calls through the handlers as appropriate. - - - - - Creates a new instance that applies - the given policies to the given target object. - - Target object to intercept calls to. - Type to return as the type being proxied. - Additional interfaces the proxy must implement. - - - - Adds a to the proxy. - - The to add. - - - - Checks whether the proxy that represents the specified object type can be cast to the type represented by the interface. - - - - true if cast will succeed; otherwise, false. - - - The type to cast to. - The object for which to check casting. - The immediate caller makes the call through a reference to the interface and does not have infrastructure permission. - - - - Executes a method call represented by the - parameter. The CLR will call this method when a method is called - on the TransparentProxy. This method runs the invocation through - the call handler pipeline and finally sends it down to the - target object, and then back through the pipeline. - - An object that contains the information - about the method call. - An object contains the - information about the target method's return value. - - - - Returns the target of this intercepted call. - - The target object. - - - - Gets or sets the fully qualified type name of the server object in a . - - - - The fully qualified type name of the server object in a . - - - The immediate caller makes the call through a reference to the interface and does not have infrastructure permission. - - - - An instance interceptor that uses remoting proxies to do the - interception. - - - - - Can this interceptor generate a proxy for the given type? - - Type to check. - True if interception is possible, false if not. - - - - Returns a sequence of methods on the given type that can be - intercepted. - - The intercepted type. - The concrete type of the implementing object. - Sequence of objects. - - - - Create a proxy object that provides interception for . - - Type to generate the proxy of. - Object to create the proxy for. - Additional interfaces the proxy must implement. - The proxy object. - - - - A dumb data holder that returns the methodinfo for both an - interface method and the method that implements that interface - method. - - - - - Construct a new which holds - the given objects. - - MethodInfo for the interface method (may be null if no interface). - MethodInfo for implementing method. - - - - Determines whether the specified is equal to the current . - - - true if the specified is equal to the current ; otherwise, false. - - - The to compare with the current . - - - The parameter is null. - 2 - - - - Serves as a hash function for a particular type. - - - A hash code for the current . - - 2 - - - - Standard equals operator - - - - - standard not equal operator. - - - - - Returns a that represents the current . - - - A that represents the current . - - 2 - - - - The interface method MethodInfo. - - - - - The implementing method MethodInfo. - - - - - Interface for interceptor objects that generate - proxy types. - - - - - Create a type to proxy for the given type . - - Type to proxy. - Additional interfaces the proxy must implement. - New type that can be instantiated instead of the - original type t, and supports interception. - - - - Implementation of that returns a precreated - interceptor object. - - - - - Create a new instance of that - uses the given . - - Interceptor to use. - - - - Interceptor to use to create type proxy - - Context for current build operation. - - - - Cache for proxied type. - - - - - A that hooks up type interception. It looks for - a for the current build key, or the current - build type. If present, it substitutes types so that that proxy class gets - built up instead. On the way back, it hooks up the appropriate handlers. - - - - - Called during the chain of responsibility for a build operation. The - PreBuildUp method is called when the chain is being executed in the - forward direction. - - In this class, PreBuildUp is responsible for figuring out if the - class is proxiable, and if so, replacing it with a proxy class. - Context of the build operation. - - - - Called during the chain of responsibility for a build operation. The - PostBuildUp method is called when the chain has finished the PreBuildUp - phase and executes in reverse order from the PreBuildUp calls. - - In this class, PostBuildUp checks to see if the object was proxyable, - and if it was, wires up the handlers. - Context of the build operation. - - - - This class provides the code needed to implement the - interface on a class. - - - - - This class handles parameter type mapping. When we generate - a generic method, we need to make sure our parameter type - objects line up with the generic parameters on the generated - method, not on the one we're overriding. - - - - - A utility class that takes a set of s - and pulls out shadowed methods, only returning the ones that - are actually accessible to be overriden. - - - - - Take the list of methods and put them together into lists index by method name. - - Methods to sort through. - - - - Given a list of overloads for a method, return only those methods - that are actually visible. In other words, if there's a "new SomeType" method - somewhere, return only the new one, not the one from the base class - that's now hidden. - - Sequence of methods to process. - Sequence of returned methods. - - - - Take a semi-randomly ordered set of methods on a type and - sort them into groups by name and by parameter list. - - The list of methods. - Sequence of lists of methods, grouped by method name. - - - - Given a set of hiding overloads, return only the currently visible one. - - The set of overloads. - The most visible one. - - - - Given a method, return a value indicating how deeply in the - inheritance hierarchy the method is declared. Current type = 0, - parent = 1, grandparent = 2, etc. - - Method to check. - Declaration depth - - - - A implementation that can compare two - based on their parameter lists. - - First to compare. - Second to compare. - < 0, 0, or > 0 based on which one is "greater" than the other. - - - - Compare two parameter lists. - - First parameter list. - Second parameter list. - < 0, 0, or > 0. - - - - Compare two objects by type. - - First - First - < 0, 0, or > 0 - - - - A type based interceptor that works by generated a new class - on the fly that derives from the target class. - - - - - Can this interceptor generate a proxy for the given type? - - Type to check. - True if interception is possible, false if not. - - - - Returns a sequence of methods on the given type that can be - intercepted. - - The intercepted type. - The concrete type of the implementing object. - Sequence of objects. - - - - Create a type to proxy for the given type . - - Type to proxy. - Additional interfaces the proxy must implement. - New type that can be instantiated instead of the - original type t, and supports interception. - - - - An that returns a sequence of - instances for an intercepted object. - - - - - Get the set of object to be used for the given type and - interceptor. - - - This method will return a sequence of s. These behaviors will - only be included if their properties are true. - - Context for the current build operation. - Interceptor that will be used to invoke the behavior. - Type that interception was requested on. - Type that implements the interception. - - - - - Get the set of that can be used to resolve the - behaviors. - - - - - Key for handler pipelines. - - - - - Creates a new for the supplied method. - - The method for the key. - The new key. - - - - Compare two instances. - - Object to compare to. - True if the two keys are equal, false if not. - - - - Calculate a hash code for this instance. - - A hash code. - - - - Compare two instances for equality. - - First of the two keys to compare. - Second of the two keys to compare. - True if the values of the keys are the same, else false. - - - - Compare two instances for inequality. - - First of the two keys to compare. - Second of the two keys to compare. - false if the values of the keys are the same, else true. - - - - Compare two instances. - - Object to compare to. - True if the two keys are equal, false if not. - - - - A collection of objects, indexed - by . Returns an empty pipeline if a - MethodBase is requested that isn't in the dictionary. - - - - - Retrieve the pipeline assocated with the requested . - - The method for which the pipeline is being requested. - The handler pipeline for the given method. If no pipeline has - been set, returns a new empty pipeline. - - - - Set a new pipeline for a method. - - The method on which the pipeline should be set. - The new pipeline. - - - - Get the pipeline for the given method, creating it if necessary. - - Method to retrieve the pipeline for. - Handlers to initialize the pipeline with - True if the pipeline has any handlers in it, false if not. - - - - Attribute used to indicate that no interception should be applied to - the attribute target. - - - - - A class that reads and constructs handlers - based on on the target. - - - - - Base class for Policies that specifies which handlers apply to which methods of an object. - - - This base class always enforces the - before - passing the checks onto derived classes. This way, derived classes do not need to - worry about implementing this check. - It also means that derived classes cannot override this rule. This is considered a feature. - - - - Creates a new empty Policy. - - - - - Creates a new empty policy with the given name. - - Name of the policy. - - - - Checks if the rules in this policy match the given member info. - - MemberInfo to check against. - true if ruleset matches, false if it does not. - - - - Returns ordered collection of handlers in order that apply to the given member. - - Member that may or may not be assigned handlers by this policy. - The to use when creating handlers, - if necessary. - Collection of handlers (possibly empty) that apply to this member. - - - - Given a method on an object, return the set of MethodBases for that method, - plus any inteface methods that the member implements. - - Member to get Method Set for. - The set of methods - - - - Derived classes implement this method to calculate if the policy - will provide any handler to the specified member. - - Member to check. - true if policy applies to this member, false if not. - - - - Derived classes implement this method to supply the list of handlers for - this specific member. - - Member to get handlers for. - The to use when creating handlers, - if necessary. - Enumerable collection of handlers for this method. - - - - Gets the name of this policy. - - The name of the policy. - - - - Constructs a new instance of the . - - - - - Derived classes implement this method to calculate if the policy - will provide any handler to the specified member. - - Member to check. - true if policy applies to this member, false if not. - - - - Derived classes implement this method to supply the list of handlers for - this specific member. - - Member to get handlers for. - The to use when creating handlers, - if necessary. - Enumerable collection of handlers for this method. - - - - Base class for handler attributes used in the attribute-driven - interception policy. - - - - - Derived classes implement this method. When called, it - creates a new call handler as specified in the attribute - configuration. - - The to use when creating handlers, - if necessary. - A new call handler object. - - - - Gets or sets the order in which the handler will be executed. - - - - - The HandlerPipeline class encapsulates a list of s - and manages calling them in the proper order with the right inputs. - - - - - Creates a new with an empty pipeline. - - - - - Creates a new with the given collection - of s. - - Collection of handlers to add to the pipeline. - - - - Execute the pipeline with the given input. - - Input to the method call. - The ultimate target of the call. - Return value from the pipeline. - - - - Get the number of handlers in this pipeline. - - - - - Handlers implement this interface and are called for each - invocation of the pipelines that they're included in. - - - - - Implement this method to execute your handler processing. - - Inputs to the current call to the target. - Delegate to execute to get the next delegate in the handler - chain. - Return value from the target. - - - - Order in which the handler will be executed - - - - - This delegate type is the type that points to the next - method to execute in the current pipeline. - - Inputs to the current method call. - Delegate to get the next handler in the chain. - Return from the next method in the chain. - - - - This delegate type is passed to each handler's Invoke method. - Call the delegate to get the next delegate to call to continue - the chain. - - Next delegate in the handler chain to call. - - - - This interface is implemented by the matching rule classes. - A Matching rule is used to see if a particular policy should - be applied to a class member. - - - - - Tests to see if this rule applies to the given member. - - Member to test. - true if the rule applies, false if it doesn't. - - - - This interface is used to represent the call to a method. - An implementation of IMethodInvocation is passed to the - call handlers so that they may manipulate the call - (typically by changing the parameters) before the final target - gets called. - - - - - Factory method that creates the correct implementation of - IMethodReturn. - - Return value to be placed in the IMethodReturn object. - All arguments passed or returned as out/byref to the method. - Note that this is the entire argument list, including in parameters. - New IMethodReturn object. - - - - Factory method that creates the correct implementation of - IMethodReturn in the presence of an exception. - - Exception to be set into the returned object. - New IMethodReturn object - - - - Gets the inputs for this call. - - - - - Collection of all parameters to the call: in, out and byref. - - - - - Retrieves a dictionary that can be used to store arbitrary additional - values. This allows the user to pass values between call handlers. - - - - - The object that the call is made on. - - - - - The method on Target that we're aiming at. - - - - - This interface is used to represent the return value from a method. - An implementation of IMethodReturn is returned by call handlers, and - each handler can manipulate the parameters, return value, or add an - exception on the way out. - - - - - The collection of output parameters. If the method has no output - parameters, this is a zero-length list (never null). - - - - - Returns value from the method call. - - This value is null if the method has no return value. - - - - If the method threw an exception, the exception object is here. - - - - - Retrieves a dictionary that can be used to store arbitrary additional - values. This allows the user to pass values between call handlers. - - This is guaranteed to be the same dictionary that was used - in the IMethodInvocation object, so handlers can set context - properties in the pre-call phase and retrieve them in the after-call phase. - - - - - A Unity container extension that allows you to configure - whether an object should be intercepted and which mechanism should - be used to do it, and also provides a convenient set of methods for - configuring injection for instances. - - - - - - - - - - Initial the container with this extension's functionality. - - - - - API to configure interception for a type. - - Type to intercept. - Name type is registered under. - Interceptor to use. - This extension object. - - - - API to configure interception for a type. - - Type to intercept. - Interceptor to use. - This extension object. - - - - API to configure interception for a type. - - Type to intercept - Name type is registered under. - Interceptor object to use. - This extension object. - - - - API to configure interception for a type. - - Type to intercept - Interceptor object to use. - This extension object. - - - - API to configure interception for a type. - - Type to intercept. - Name type is registered under. - Instance interceptor to use. - This extension object. - - - - Set the interceptor for a type, regardless of what name is used to resolve the instances. - - Type to intercept - Interceptor instance. - This extension object. - - - - Set the interceptor for a type, regardless of what name is used to resolve the instances. - - Type to intercept - Interceptor instance. - This extension object. - - - - API to configure interception for a type. - - Type to intercept. - Instance interceptor to use. - This extension object. - - - - API to configure interception for a type. - - Type to intercept. - Name type is registered under. - Instance interceptor to use. - This extension object. - - - - API to configure interception for a type. - - Type to intercept. - Instance interceptor to use. - This extension object. - - - - API to configure the default interception settings for a type. - - Type the interception is being configured for. - The interceptor to use by default. - This extension object. - - - - API to configure the default interception settings for a type. - - Type the interception is being configured for. - The interceptor to use by default. - This extension object. - - - - Starts the definition of a new . - - The policy name. - - This is a convenient way for defining a new policy and the - instances and instances that are required by a policy. - - This mechanism is just a shortcut for what can be natively expressed by wiring up together objects - with repeated calls to the method. - - - - - This interface represents a list of either input or output - parameters. It implements a fixed size list, plus a couple - of other utility methods. - - - - - Gets the name of a parameter based on index. - - Index of parameter to get the name for. - Name of the requested parameter. - - - - Gets the ParameterInfo for a particular parameter by index. - - Index for this parameter. - ParameterInfo object describing the parameter. - - - - Gets the ParameterInfo for a particular parameter by name. - - Name of the parameter. - ParameterInfo object for the named parameter. - - - - Fetches a parameter's value by name. - - parameter name. - value of the named parameter. - - - - A is a matching rule that - is a collection of other matching rules. All the contained - rules much match for the set to match. - - - - - Tests the given member against the ruleset. The member matches - if all contained rules in the ruleset match against it. - - If the ruleset is empty, then Matches passes since no rules failed. - MemberInfo to test. - true if all contained rules match, false if any fail. - - - - A implementation that fails to match - if the method in question has the ApplyNoPolicies attribute on it. - - - - - Check if the matches this rule. - - This rule returns true if the member does NOT have the - on it, or a containing type doesn't have the attribute. - Member to check. - True if the rule matches, false if it doesn't. - - - - An that matches the assembly name of the - given member. - - - - - Constructs a new with the given - assembly name (or partial name). - - Assembly name to match. - - - - Constructs a new that matches - against the given assembly. - - Assembly to match. - - - - Determines if the supplied matches the rule. - - - This rule matches if the assembly containing the given - matches the name given. The rule used for matches lets you include the parts - of the assembly name in order. You can specify assembly name only, assembly and version, - assembly, version and culture, or the fully qualified assembly name. - - Member to check. - true if is in a matching assembly, false if not. - - - - An implementation of that checks to see if the - member (or type containing that member) have any s. - - - - - Checks to see if matches the rule. - - Returns true if any s are present on the method - or the type containing that method. - Member to check. - true if member matches, false if not. - - - - An implementation of that checks to see if - the member tested has an arbitrary attribute applied. - - - - - Constructs a new . - - Attribute to match. - If true, checks the base class for attributes as well. - - - - Checks to see if the given matches the rule. - - Member to check. - true if it matches, false if not. - - - - Class used for storing information about a single name/ignoreCase - pair. This class is also used as a base class for other classes that - need this pair plus some other properties. - - - - - Constructs an empty object with empty - string and ignoreCase = false. - - - - - Constructs a object that matches the given - string. IgnoreCase is false. - - The name to match. - - - - Constructs a object that matches the - given string, setting the ignoreCase flag to the given value. - - The name to match. - true to do case insensitive comparison, false to do case sensitive. - - - - Gets or sets the name to match. - - The name to match. - - - - Gets or sets whether to do case sensitive comparisons of Match. - - If false, case sensitive comparison. If true, case insensitive comparisons. - - - - A matching rule that matches when the given member name is - the same as the one supplied in the constructor. - - - - - Create a new that matches the - given member name. Wildcards are allowed. - - Name to match against. Comparison is case sensitive. - - - - Create a new that matches the - given member name. Wildcards are allowed. - - Name to match against. - If false, name comparisons are case sensitive. If true, name comparisons are case insensitive. - - - - Create a new that matches the - given member names. Wildcards are allowed. - - collections of names to match. If any of these patterns match, the rule matches. Comparisons are case sensitive. - - - - Create a new that matches the - given member names. Wildcards are allowed. - - Collections of names to match. If any of these patterns match, the rule matches. - If false, name comparisons are case sensitive. If true, name comparisons are case insensitive. - - - - Create a new that matches - one of the given member names. Wildcards are allowed. - - List of objects containing - the pattern to match and case sensitivity flag. - - - - Check if the given matches one of this - object's matching patterns. - - Member to check. - True if matches, false if not. - - - - Match methods with the given names and method signature. - - - - - Creates a new that matches methods - with the given name, with parameter types matching the given list. - - Method name to match. Wildcards are allowed. - Parameter type names to match, in order. Wildcards are allowed. - If false, name comparisons are case sensitive. If true, name comparisons are case insensitive. - - - - Create a new that matches methods - with the given name, with parameter types matching the given list. - - Name comparisons are case sensitive. - Method name to match. Wildcards are allowed. - Parameter type names to match, in order. Wildcards are allowed. - - - - Create a new that matches any method - with parameter types matching the given list. - - Name comparisons are case sensitive. - Parameter type names to match, in order. Wildcards are allowed. - - - - Create a new that matches any method - with parameter types matching the given list. - - Parameter type names to match, in order. Wildcards are allowed. - If false, name comparisons are case sensitive. If true, name comparisons are case insensitive. - - - - Check to see if the given method matches the name and signature. - - Member to check. - True if match, false if not. - - - - An that matches members in a given namespace. You can - specify either a single namespace (e.g. System.Data) or a namespace root - (e.g. System.Data.* to match types in that namespace or below. - - - - - Create a new that matches the given - namespace. - - namespace name to match. Comparison is case sensitive. - - - - Create a new that matches the given - namespace. - - namespace name to match. - If false, comparison is case sensitive. If true, comparison is case insensitive. - - - - Create a new that matches any of - the given namespace names. - - Collection of namespace names to match. - - - - Check to see if the given is in a namespace - matched by any of our given namespace names. - - member to check. - True if member is contained in a matching namespace, false if not. - - - - A helper class that encapsulates the name to match, case sensitivity flag, - and the wildcard rules for matching namespaces. - - - - - Construct a new that matches the - given namespace name. - - Namespace name to match. - If false, comparison is case sensitive. If true, comparison is case insensitive. - - - - Check if the given type is in a matching namespace. - - Type to check. - True if type is in a matching namespace, false if not. - - - - An that matches methods that have any parameters - of the given types. - - - - - Creates a new that matches if any of - the method parameters match ones in the given collection. - - Collection of that - describes the types to match. - - - - Check the given member to see if it has any matching parameters. - - Member to match. - true if member matches, false if it doesn't. - - - - The list of describing the parameter types to match. - - The collection of matches. - - - - Describes the type of parameter to match. - - - - - Input parameter - - - - - Output parameter - - - - - Input or output parameter - - - - - Method return value - - - - - A class that stores information about a single type to match. - - - - - Creates a new uninitialized . - - - - - Creates a new matching the given kind of parameter. - - of parameter to match. - - - - Creates a new matching the given parameter - type and kind. - - Parameter name to match. - of parameter to match. - - - - Creates a new matching the given parameter - type and kind. - - Parameter name to match. - If false, compare type names using case-sensitive comparison. - If true, compare type names using case-insensitive comparison. - of parameter to match. - - - - What kind of parameter to match. - - indicating which kind of parameters to match. - - - - An implementation that matches properties - by name. You can match the getter, setter, or both. - - - - - Construct a new that matches the - getter or setter of the given property. - - Name of the property. Name comparison is case sensitive. Wildcards are allowed. - - - - Constructs a new that matches the - given method of the given property. - - Name of the property. Name comparison is case sensitive. Wildcards are allowed. - Match the getter, setter, or both. - - - - Constructs a new that matches the - given method of the given property. - - Name of the property to match. Wildcards are allowed. - Match the getter, setter, or both. - If false, name comparison is case sensitive. If true, name comparison is case insensitive. - - - - Constructs a new that matches any of the - given properties. - - Collection of defining which - properties to match. - - - - Checks if the given member matches the rule. - - Member to check. - True if it matches, false if it does not. - - - - Specifies which methods of a property should be matches by - the . - - - - - Match the property getter method. - - - - - Match the property setter method. - - - - - Match either the getter or setter method. - - - - - Information about a property match. - - - - - Construct a new that matches the get or set methods - of the given property name, and does a case-sensitive comparison. - - Property name to match. - - - - Constructs a new that matches the given methods of - the given property name, doing a case-sensitive comparison. - - Property name to match. - specifying which methods of the property to match. - - - - Construt a new that matches the given methods of - the given property name. - - Property name to match. - specifying which methods of the property to match. - If false, name comparison is case sensitive. If true, name comparison is case insensitive. - - - - The to use when doing name comparisons on this property. - - Specifies which methods of the property to match. - - - - An that checks to see if a member has a specified - type. - - - - - Construct a new that matches - members with the given return type. - - Type to look for. - - - - Construct a new that matches - the given return type by name. - - See the class for details on how - type name matches are done. - Type name to match. Name comparisons are case sensitive. - - - - Construct a new that matches - the given return type by name. - - See the class for details on how - type name matches are done. - Type name to match. - If false, name comparison is case sensitive. If true, comparison - is case insensitive. - - - - Check to see if the given member has a matching return type. - - Member to check. - true if return types match, false if they don't. - - - - A that checks a member for the presence - of the on the method, property, or class, and - that the given string matches. - - - - - Constructs a new , looking for - the given string. The comparison is case sensitive. - - tag string to match. - - - - Constructs a new , looking for - the given string. The comparison is case sensitive if is - false, case insensitive if is true. - - tag string to match. - if false, case-senstive comparison. If true, case-insensitive comparison. - - - - Check the given member for the presence of the and - match the strings. - - Member to check. - True if tag strings match, false if they don't. - - - - A matching rule that matches when the member is declared - in the given type. - - - - - Constructs a new that matches the - given type. - - The type to match. - - - - Constructs a new that matches types - with the given name. - - Comparisons are case sensitive. - Type name to match. - - - - Constructs a new that matches types - with the given name, using the given case sensitivity. - - Type name to match. - if false, do case-sensitive comparison. If true, do case-insensitive. - - - - Constructs a new that will match - any of the type names given in the collection of match information. - - The match information to match. - - - - Checks if the given member matches any of this object's matches. - - Member to match. - True if match, false if not. - - - - Checks if the given type matches any of this object's matches. - - Matches may be on the namespace-qualified type name or just the type name. - Type to check. - True if it matches, false if it doesn't. - - - - An implementation of that wraps a provided array - containing the argument values. - - - - - Construct a new that wraps the - given array of arguments. - - Complete collection of arguments. - Type information about about each parameter. - A that indicates - whether a particular parameter is part of the collection. Used to filter out only input - parameters, for example. - - - - Gets the ParameterInfo for a particular parameter by index. - - Index for this parameter. - ParameterInfo object describing the parameter. - - - - Gets the for the given named parameter. - - Name of parameter. - for the requested parameter. - - - - Gets the name of a parameter based on index. - - Index of parameter to get the name for. - Name of the requested parameter. - - - - Adds to the collection. This is a read only collection, so this method - always throws . - - Object to add. - Nothing, always throws. - Always throws this. - - - - Checks to see if the collection contains the given object. - - Tests for the object using object.Equals. - Object to find. - true if object is in collection, false if it is not. - - - - Remove all items in the collection. This collection is fixed-size, so this - method always throws . - - This is always thrown. - - - - Returns the index of the given object, or -1 if not found. - - Object to find. - zero-based index of found object, or -1 if not found. - - - - Inserts a new item. This is a fixed-size collection, so this method throws . - - Index to insert at. - Always throws. - Always throws this. - - - - Removes the given item. This is a fixed-size collection, so this method throws . - - Always throws. - Always throws this. - - - - Removes the given item. This is a fixed-size collection, so this method throws . - - Always throws. - Always throws this. - - - - Copies the contents of this collection to the given array. - - Destination array. - index to start copying from. - - - - Gets an enumerator object to support the foreach construct. - - Enumerator object. - - - - Fetches a parameter's value by name. - - parameter name. - value of the named parameter. - - - - Gets the value of a parameter based on index. - - Index of parameter to get the value for. - Value of the requested parameter. - - - - Is this collection read only? - - No, it is not read only, the contents can change. - - - - Is this collection fixed size? - - Yes, it is. - - - - Total number of items in the collection. - - The count. - - - - Gets a synchronized version of this collection. WARNING: Not implemented completely, - DO NOT USE THIS METHOD. - - - - - Is the object synchronized for thread safety? - - No, it isn't. - - - - An internal struct that maps the index in the arguments collection to the - corresponding about that argument. - - - - - Construct a new object linking the - given index and object. - - Index into arguments array (zero-based). - for the argument at . - - - - Transient class that supports convenience method for specifying interception policies. - - - - - Adds a reference to matching rule by name. - - The name for the matching rule. - - The than allows further configuration of the policy. - - - The details of how the rule should be created by the container must be specified using a - standard injection specification mechanism. - - - - - Makes a matching rule in the current policy. - - The new for the policy. - - The than allows further configuration of the policy. - - - - - Configures injection for a new and makes it available - as a matching rule in the current policy. - - The type for the new matching rule. - Objects containing the details on which members to inject and how. - - The than allows further configuration of the policy. - - - - - Configures injection for a new and makes it available - as a matching rule in the current policy, using the given . - - The type for the new matching rule. - The that controls the lifetime - of the configured matching rule. - Objects containing the details on which members to inject and how. - - The than allows further configuration of the policy. - - - - - Configures injection for a new using the specified name - and makes it available as a matching rule in the current policy. - - The type for the new matching rule. - The name for the injection configuration for the matching rule. - Objects containing the details on which members to inject and how. - - The than allows further configuration of the policy. - - - - - Configures injection for a new and makes it available - as a matching rule in the current policy, using the given . - - The type for the new matching rule. - The name for the injection configuration for the matching rule. - The that controls the lifetime - of the configured matching rule. - Objects containing the details on which members to inject and how. - - The than allows further configuration of the policy. - - - - - Configures injection for a new and makes it available - as a matching rule in the current policy. - - The type for the new matching rule. - Objects containing the details on which members to inject and how. - - The than allows further configuration of the policy. - - - - - Configures injection for a new and makes it available - as a matching rule in the current policy, using the given . - - The type for the new matching rule. - The that controls the lifetime - of the configured matching rule. - Objects containing the details on which members to inject and how. - - The than allows further configuration of the policy. - - - - - Configures injection for a new using the specified name - and makes it available as a matching rule in the current policy. - - The type for the new matching rule. - The name for the injection configuration for the matching rule. - Objects containing the details on which members to inject and how. - - The than allows further configuration of the policy. - - - - - Configures injection for a new using the specified name - and makes it available as a matching rule in the current policy, - using the given . - - The type for the new matching rule. - The name for the injection configuration for the matching rule. - The that controls the lifetime - of the configured matching rule. - Objects containing the details on which members to inject and how. - - The than allows further configuration of the policy. - - - - - Adds a reference to call handler by name. - - The name for the call handler. - - The than allows further configuration of the policy. - - - The details of how the handler should be created by the container must be specified using a - standard injection specification mechanism. - - - - - Makes a call handler in the current policy. - - The new for the policy. - - The than allows further configuration of the policy. - - - - - Configures injection for a new and makes it available - as a call handler in the current policy. - - The type for the new call handler. - Objects containing the details on which members to inject and how. - - The than allows further configuration of the policy. - - - - - Configures injection for a new and makes it available - as a call handler in the current policy, using the given . - - The type for the new call handler. - The that controls the lifetime - of the configured call handler. - Objects containing the details on which members to inject and how. - - The than allows further configuration of the policy. - - - - - Configures injection for a new using the specified name - and makes it available as a call handler in the current policy. - - The type for the new call handler. - The name for the injection configuration for the call handler. - Objects containing the details on which members to inject and how. - - The than allows further configuration of the policy. - - - - - Configures injection for a new using the specified name - and makes it available as a call handler in the current policy, - using the given . - - The type for the new call handler. - The name for the injection configuration for the call handler. - The that controls the lifetime - of the configured call handler. - Objects containing the details on which members to inject and how. - - The than allows further configuration of the policy. - - - - - Configures injection for a new and makes it available - as a call handler in the current policy. - - The type for the new call handler. - Objects containing the details on which members to inject and how. - - The than allows further configuration of the policy. - - - - - Configures injection for a new and makes it available - as a call handler in the current policy, using the given . - - The type for the new call handler. - The that controls the lifetime - of the configured call handler. - Objects containing the details on which members to inject and how. - - The than allows further configuration of the policy. - - - - - Configures injection for a new using the specified name - and makes it available as a call handler in the current policy. - - The type for the new call handler. - The name for the injection configuration for the call handler . - Objects containing the details on which members to inject and how. - - The than allows further configuration of the policy. - - - - - Configures injection for a new using the specified name - and makes it available as a call handler in the current policy, - using the given . - - The type for the new call handler. - The name for the injection configuration for the call handler . - The that controls the lifetime - of the configured call handler. - Objects containing the details on which members to inject and how. - - The than allows further configuration of the policy. - - - - - The that is currently being - configured. - - - - - The extension to which the policy was added. - - - Use this property to start adding a new policy. - - - - - A collection of Policy objects. The policies within a PolicySet combine using - an "or" operation. - - - - - Creates a new containing the given policies. - - Policies to put into the policy set. - - - - Gets the policies that apply to the given member. - - Member to get policies for. - Collection of policies that apply to this member. - - - - Gets the policies in the that do not - apply to the given member. - - Member to check. - Collection of policies that do not apply to . - - - - Gets the handlers that apply to the given member based on all policies in the . - - Member to get handlers for. - The to use when creating handlers, - if necessary. - Collection of call handlers for . - - - - Interceptor that performs policy injection. - - - - - Interception behaviors implement this interface and are called for each - invocation of the pipelines that they're included in. - - - - - Implement this method to execute your behavior processing. - - Inputs to the current call to the target. - Delegate to execute to get the next delegate in the behavior chain. - Return value from the target. - - - - Returns the interfaces required by the behavior for the objects it intercepts. - - The required interfaces. - - - - Returns a flag indicating if this behavior will actually do anything when invoked. - - This is used to optimize interception. If the behaviors won't actually - do anything (for example, PIAB where no policies match) then the interception - mechanism can be skipped completely. - - - - Initializes a new instance of the with a pipeline manager. - - The for the new instance. - - - - Initializes a new instance of the with the given information - about what's being intercepted and the current set of injection policies. - - Information about what will be injected. - Current injection policies. - Unity container that can be used to resolve call handlers. - - - - Applies the policy injection handlers configured for the invoked method. - - Inputs to the current call to the target. - Delegate to execute to get the next delegate in the handler - chain. - Return value from the target. - - - - Returns the interfaces required by the behavior for the objects it intercepts. - - An empty array of interfaces. - - - - Returns a flag indicating if this behavior will actually do anything when invoked. - - This is used to optimize interception. If the behaviors won't actually - do anything (for example, PIAB where no policies match) then the interception - mechanism can be skipped completely. - - - - A strongly-typed resource class, for looking up localized strings, etc. - - - - - Returns the cached ResourceManager instance used by this class. - - - - - Overrides the current thread's CurrentUICulture property for all - resource lookups using this strongly typed resource class. - - - - - Looks up a localized string similar to Intercepted abstract method was invoked.. - - - - - Looks up a localized string similar to Additional interfaces do not have an implementation.. - - - - - Looks up a localized string similar to The additional interfaces supplied are invalid: {0}. - - - - - Looks up a localized string similar to Type must be a subclass of System.Attribute.. - - - - - Looks up a localized string similar to Could not create instance of type {0} with no constructor arguments.. - - - - - Looks up a localized string similar to Collection contains a null element.. - - - - - Looks up a localized string similar to The collection of interfaces is null.. - - - - - Looks up a localized string similar to The required interfaces for behavior {1} are invalid: {0}. - - - - - Looks up a localized string similar to The type {0} is not an interface.. - - - - - Looks up a localized string similar to Null type.. - - - - - Looks up a localized string similar to The type {0} is an open generic.. - - - - - Looks up a localized string similar to The type {0} is not interceptable.. - - - - - Looks up a localized string similar to Could not find the implementation of interface method {0}.{1} in type {2}. - - - - - Looks up a localized string similar to Null is not permitted as an interception behavior.. - - - - - A class that wraps the inputs of a into the - interface. - - - - - Constructs a new that wraps the - given method call and arguments. - - The call message. - The arguments. - - - - An implementation of that wraps the - remoting-based in the PIAB call - interface. - - - - - Creates a new implementation that wraps - the given , with the given ultimate - target object. - - Remoting call message object. - Ultimate target of the method call. - - - - Factory method that creates the correct implementation of - IMethodReturn. - - In this implementation we create an instance of . - Return value to be placed in the IMethodReturn object. - All arguments passed or returned as out/byref to the method. - Note that this is the entire argument list, including in parameters. - New IMethodReturn object. - - - - Factory method that creates the correct implementation of - IMethodReturn in the presence of an exception. - - Exception to be set into the returned object. - New IMethodReturn object - - - - Gets the inputs for this call. - - The input collection. - - - - Collection of all parameters to the call: in, out and byref. - - The arguments collection. - - - - Retrieves a dictionary that can be used to store arbitrary additional - values. This allows the user to pass values between call handlers. - - The invocation context dictionary. - - - - The object that the call is made on. - - The target object. - - - - The method on Target that we're aiming at. - - The target method base. - - - - Gets the collection of arguments being passed to the target. - - This method exists becuase the underlying remoting call message - does not let handlers change the arguments. - Array containing the arguments to the target. - - - - An implementation of that wraps the - remoting call and return messages. - - - - - Creates a new object that contains a - return value. - - The original call message that invoked the method. - Return value from the method. - Collections of arguments passed to the method (including the new - values of any out params). - Invocation context dictionary passed into the call. - - - - Creates a new object that contains an - exception thrown by the target. - - Exception that was thrown. - The original call message that invoked the method. - Invocation context dictionary passed into the call. - - - - Constructs a for the remoting - infrastructure based on the contents of this object. - - The instance. - - - - The collection of output parameters. If the method has no output - parameters, this is a zero-length list (never null). - - The output parameter collection. - - - - Return value from the method call. - - This value is null if the method has no return value. - The return value. - - - - If the method threw an exception, the exception object is here. - - The exception, or null if no exception was thrown. - - - - Retrieves a dictionary that can be used to store arbitrary additional - values. This allows the user to pass values between call handlers. - - This is guaranteed to be the same dictionary that was used - in the IMethodInvocation object, so handlers can set context - properties in the pre-call phase and retrieve them in the after-call phase. - - The invocation context dictionary. - - - - A class that wraps the outputs of a into the - interface. - - - - - Constructs a new that wraps the - given method call and arguments. - - The call message. - The arguments. - - - - A policy is a combination of a matching rule set and a set of handlers. - If the policy applies to a member, then the handlers will be enabled for - that member. - - - - - Creates a new object with a set of matching rules - and the names to use when resolving handlers. - - - - - Creates a new object with a name, a set of matching rules - and the names to use when resolving handlers. - - - - - Checks if the rules in this policy match the given member info. - - MemberInfo to check against. - true if ruleset matches, false if it does not. - - - - Return ordered collection of handlers in order that apply to the given member. - - Member that may or may not be assigned handlers by this policy. - The to use when creating handlers, - if necessary. - Collection of handlers (possibly empty) that apply to this member. - - - - A simple attribute used to "tag" classes, methods, or properties with a - string that can later be matched via the . - - - - - Creates a new with the given string. - - The tag string. - - - - The string tag for this attribute. - - the tag. - - - - Stores information about a single to be used on an intercepted object and - configures a container accordingly. - - - - - - Initializes a new instance of the with a - . - - The interception behavior to use. - - - - Initializes a new instance of the with a - given type/name pair. - - Type of behavior to - - - - - Initializes a new instance of the with a - given behavior type. - - Type of behavior to - - - - Get the list of behaviors for the current type so that it can be added to. - - Policy list. - Implementation type to set behaviors for. - Name type is registered under. - An instance of . - - - - A generic version of that lets you - specify behavior types using generic syntax. - - Type of behavior to register. - - - - Initializes a new instance of the with a - given behavior type. - - - - - Initializes a new instance of the with a - given type/name pair. - - Name to use to resolve the behavior. - - - - An that accumulates a sequence of - instances for an intercepted object. - - - - - Get the set of object to be used for the given type and - interceptor. - - - This method will return a sequence of s. These behaviors will - only be included if their properties are true. - - Context for the current build operation. - Interceptor that will be used to invoke the behavior. - Type that interception was requested on. - Type that implements the interception. - - - - - Get the set of that can be used to resolve the - behaviors. - - - - - The InterceptionBehaviorPipeline class encapsulates a list of s - and manages calling them in the proper order with the right inputs. - - - - - Creates a new with an empty pipeline. - - - - - Creates a new with the given collection - of s. - - Collection of interception behaviors to add to the pipeline. - - - - Execute the pipeline with the given input. - - Input to the method call. - The ultimate target of the call. - Return value from the pipeline. - - - - Adds a to the pipeline. - - The interception behavior to add. - - - - Get the number of interceptors in this pipeline. - - - - - This delegate type is the type that points to the next - method to execute in the current pipeline. - - Inputs to the current method call. - Delegate to get the next interceptor in the chain. - Return from the next method in the chain. - - - - This delegate type is passed to each interceptor's Invoke method. - Call the delegate to get the next delegate to call to continue - the chain. - - Next delegate in the interceptor chain to call. - - - - A "glob" is a string matching pattern. It is similar to the - matches available in the file system (*.cs, for example). The Glob - class implements this string matching. - - Glob supports the following metacharacters: - * - match zero or more characters - ? - match any one character - [abc] - match one character if it's in the characters inside the brackets. - All other characters in the glob are literals. - - - - - Constructs a new instance that matches the given pattern. - - - The pattern match is case sensitive by default. - - Pattern to use. See summary for - details of the pattern. - - - - Constructs a new instance that matches the given pattern. - - The pattern to use. See summary for - details of the patterns supported. - If true, perform a case sensitive match. - If false, perform a case insensitive comparison. - - - - Checks to see if the given string matches the pattern. - - String to check. - True if it matches, false if it doesn't. - - - - A collection of utility functions to encapsulate details of - reflection and finding attributes. - - - - - Given a MethodBase for a property's get or set method, - return the corresponding property info. - - MethodBase for the property's get or set method. - PropertyInfo for the property, or null if method is not part of a property. - - - - Given a MethodInfo for a property's get or set method, - return the corresponding property info. - - MethodBase for the property's get or set method. - PropertyInfo for the property, or null if method is not part of a property. - - - - Given a particular MemberInfo, return the custom attributes of the - given type on that member. - - Type of attribute to retrieve. - The member to look at. - True to include attributes inherited from base classes. - Array of found attributes. - - - - Given a particular MemberInfo, find all the attributes that apply to this - member. Specifically, it returns the attributes on the type, then (if it's a - property accessor) on the property, then on the member itself. - - Type of attribute to retrieve. - The member to look at. - true to include attributes inherited from base classes. - Array of found attributes. - - - - A small implementation of that returns the - given object. - - - - - Create a new instance. - - Information about which constructor to select. - - - - Choose the constructor to call for the given type. - - Current build context - The to add any - generated resolver objects into. - The chosen constructor. - - - - MethodInfo objects for the methods we need to generate - calls to on IMethodInvocation. - - - - - Class that handles generating the dynamic types used for interception. - - - - - Create a new that will generate a - wrapper class for the requested . - - Type to generate the wrapper for. - Additional interfaces the proxy must implement. - - - - Create the wrapper class for the given type. - - Wrapper type. - - - - Represents the implementation of a method override. - - - - - Used to throw an for overrides on abstract methods. - - - - - Implementation of used - by the virtual method interceptor. - - - - - Construct a new instance for the - given target object and method, passing the - to the target method. - - Object that is target of this invocation. - Method on to call. - Values for the parameters. - - - - Factory method that creates the correct implementation of - IMethodReturn. - - Return value to be placed in the IMethodReturn object. - All arguments passed or returned as out/byref to the method. - Note that this is the entire argument list, including in parameters. - New IMethodReturn object. - - - - Factory method that creates the correct implementation of - IMethodReturn in the presence of an exception. - - Exception to be set into the returned object. - New IMethodReturn object - - - - Gets the inputs for this call. - - - - - Collection of all parameters to the call: in, out and byref. - - - - - Retrieves a dictionary that can be used to store arbitrary additional - values. This allows the user to pass values between call handlers. - - - - - The object that the call is made on. - - - - - The method on Target that we're aiming at. - - - - - An implementation of used by - the virtual method interception mechanism. - - - - - Construct a instance that returns - a value. - - The method invocation. - Return value (should be null if method returns void). - All arguments (including current values) passed to the method. - - - - Construct a instance for when the target method throws an exception. - - The method invocation. - Exception that was thrown. - - - - The collection of output parameters. If the method has no output - parameters, this is a zero-length list (never null). - - - - - Returns value from the method call. - - This value is null if the method has no return value. - - - - If the method threw an exception, the exception object is here. - - - - - Retrieves a dictionary that can be used to store arbitrary additional - values. This allows the user to pass values between call handlers. - - This is guaranteed to be the same dictionary that was used - in the IMethodInvocation object, so handlers can set context - properties in the pre-call phase and retrieve them in the after-call phase. - - - - diff --git a/Lib/Microsoft.Practices.Unity.xml b/Lib/Microsoft.Practices.Unity.xml deleted file mode 100644 index 2e0af9b..0000000 --- a/Lib/Microsoft.Practices.Unity.xml +++ /dev/null @@ -1,5910 +0,0 @@ - - - - Microsoft.Practices.Unity - - - - - Base class for attributes that can be placed on parameters - or properties to specify how to resolve the value for - that parameter or property. - - - - - Create an instance of that - will be used to get the value for the member this attribute is - applied to. - - Type of parameter or property that - this attribute is decoration. - The resolver object. - - - - This attribute is used to indicate which constructor to choose when - the container attempts to build a type. - - - - - This attribute is used to mark methods that should be called when - the container is building an object. - - - - - This attribute is used to mark properties and parameters as targets for injection. - - - For properties, this attribute is necessary for injection to happen. For parameters, - it's not needed unless you want to specify additional information to control how - the parameter is resolved. - - - - - Create an instance of with no name. - - - - - Create an instance of with the given name. - - Name to use when resolving this dependency. - - - - Create an instance of that - will be used to get the value for the member this attribute is - applied to. - - Type of parameter or property that - this attribute is decoration. - The resolver object. - - - - The name specified in the constructor. - - - - - An used to mark a dependency - as optional - the container will try to resolve it, and return null - if the resolution fails rather than throw. - - - - - Construct a new object. - - - - - Construct a new object that - specifies a named dependency. - - Name of the dependency. - - - - Create an instance of that - will be used to get the value for the member this attribute is - applied to. - - Type of parameter or property that - this attribute is decoration. - The resolver object. - - - - Name of the dependency. - - - - - A that composites other - ResolverOverride objects. The GetResolver operation then - returns the resolver from the first child override that - matches the current context and request. - - - - - Base class for all override objects passed in the - method. - - - - - Return a that can be used to give a value - for the given desired dependency. - - Current build context. - Type of dependency desired. - a object if this override applies, null if not. - - - - Wrap this resolver in one that verifies the type of the object being built. - This allows you to narrow any override down to a specific type easily. - - Type to constrain the override to. - The new override. - - - - Wrap this resolver in one that verifies the type of the object being built. - This allows you to narrow any override down to a specific type easily. - - Type to constrain the override to. - The new override. - - - - Add a new to the collection - that is checked. - - item to add. - - - - Add a setof s to the collection. - - items to add. - - - - Returns an enumerator that iterates through a collection. - - - An object that can be used to iterate through the collection. - - 2 - - - - Returns an enumerator that iterates through the collection. - - - A that can be used to iterate through the collection. - - 1 - - - - Return a that can be used to give a value - for the given desired dependency. - - Current build context. - Type of dependency desired. - a object if this override applies, null if not. - - - - Class that returns information about the types registered in a container. - - - - - The type that was passed to the method - as the "from" type, or the only type if type mapping wasn't done. - - - - - The type that this registration is mapped to. If no type mapping was done, the - property and this one will have the same value. - - - - - Name the type was registered under. Null for default registration. - - - - - The registered lifetime manager instance. - - - - - The lifetime manager for this registration. - - - This property will be null if this registration is for an open generic. - - - - A class that overrides - the value injected whenever there is a dependency of the - given type, regardless of where it appears in the object graph. - - - - - Create an instance of to override - the given type with the given value. - - Type of the dependency. - Value to use. - - - - Return a that can be used to give a value - for the given desired dependency. - - Current build context. - Type of dependency desired. - a object if this override applies, null if not. - - - - A convenience version of that lets you - specify the dependency type using generic syntax. - - Type of the dependency to override. - - - - Construct a new object that will - override the given dependency, and pass the given value. - - - - - A convenience form of that lets you - specify multiple parameter overrides in one shot rather than having - to construct multiple objects. - - - This class isn't really a collection, it just implements IEnumerable - so that we get use of the nice C# collection initializer syntax. - - - - - Base helper class for creating collections of objects - for use in passing a bunch of them to the resolve call. This base class provides - the mechanics needed to allow you to use the C# collection initializer syntax. - - Concrete type of the this class collects. - Key used to create the underlying override object. - Value that the override returns. - - - - Add a new override to the collection with the given key and value. - - Key - for example, a parameter or property name. - Value - the value to be returned by the override. - - - - Return a that can be used to give a value - for the given desired dependency. - - Current build context. - Type of dependency desired. - a object if this override applies, null if not. - - - - Returns an enumerator that iterates through a collection. - - - An object that can be used to iterate through the collection. - - 2 - - - - Returns an enumerator that iterates through the collection. - - - A that can be used to iterate through the collection. - - 1 - - - - When implemented in derived classes, this method is called from the - method to create the actual objects. - - Key value to create the resolver. - Value to store in the resolver. - The created . - - - - When implemented in derived classes, this method is called from the - method to create the actual objects. - - Key value to create the resolver. - Value to store in the resolver. - The created . - - - - Event argument class for the event. - - - - - Construct a new object with the - given child container object. - - An for the newly created child - container. - - - - The newly created child container. - - - - - An extension context for the created child container. - - - - - Base class for subclasses that let you specify that - an instance of a generic type parameter should be resolved. - - - - - Base type for objects that are used to configure parameters for - constructor or method injection, or for getting the value to - be injected into a property. - - - - - Test to see if this parameter value has a matching type for the given type. - - Type to check. - True if this parameter value is compatible with type , - false if not. - - - - Return a instance that will - return this types value for the parameter. - - Type that contains the member that needs this parameter. Used - to resolve open generic parameters. - The . - - - - Convert the given set of arbitrary values to a sequence of InjectionParameterValue - objects. The rules are: If it's already an InjectionParameterValue, return it. If - it's a Type, return a ResolvedParameter object for that type. Otherwise return - an InjectionParameter object for that value. - - The values to build the sequence from. - The resulting converted sequence. - - - - Convert an arbitrary value to an InjectionParameterValue object. The rules are: - If it's already an InjectionParameterValue, return it. If it's a Type, return a - ResolvedParameter object for that type. Otherwise return an InjectionParameter - object for that value. - - The value to convert. - The resulting . - - - - Name for the type represented by this . - This may be an actual type name or a generic argument name. - - - - - Create a new instance that specifies - that the given named generic parameter should be resolved. - - The generic parameter name to resolve. - - - - Create a new instance that specifies - that the given named generic parameter should be resolved. - - The generic parameter name to resolve. - name to use when looking up in the container. - - - - Test to see if this parameter value has a matching type for the given type. - - Type to check. - True if this parameter value is compatible with type , - false if not. - - - - Return a instance that will - return this types value for the parameter. - - Type that contains the member that needs this parameter. Used - to resolve open generic parameters. - The . - - - - Return a instance that will - return this types value for the parameter. - - The actual type to resolve. - The resolution key. - The . - - - - Name for the type represented by this . - This may be an actual type name or a generic argument name. - - - - - A that lets you specify that - an instance of a generic type parameter should be resolved, providing the - value if resolving fails. - - - - - Create a new instance that specifies - that the given named generic parameter should be resolved. - - The generic parameter name to resolve. - - - - Create a new instance that specifies - that the given named generic parameter should be resolved. - - The generic parameter name to resolve. - name to use when looking up in the container. - - - - Return a instance that will - return this types value for the parameter. - - The actual type to resolve. - The resolution key. - The . - - - - A class that lets you specify a factory method the container - will use to create the object. - - This is a significantly easier way to do the same - thing the old static factory extension was used for. - - - - Base class for objects that can be used to configure what - class members get injected by the container. - - - - - Add policies to the to configure the - container to call this constructor with the appropriate parameter values. - - Type to register. - Policy list to add policies to. - - - - Add policies to the to configure the - container to call this constructor with the appropriate parameter values. - - Type of interface being registered. If no interface, - this will be null. - Type of concrete type being registered. - Name used to resolve the type object. - Policy list to add policies to. - - - - Create a new instance of with - the given factory function. - - Factory function. - - - - Create a new instance of with - the given factory function. - - Factory function. - - - - Add policies to the to configure the - container to call this constructor with the appropriate parameter values. - - Type of interface being registered. If no interface, - this will be null. This parameter is ignored in this implementation. - Type of concrete type being registered. - Name used to resolve the type object. - Policy list to add policies to. - - - - A that can be passed to - to configure a - parameter or property as an optional dependency. - - - - - A base class for implementing classes - that deal in explicit types. - - - - - Create a new that exposes - information about the given . - - Type of the parameter. - - - - Test to see if this parameter value has a matching type for the given type. - - Type to check. - True if this parameter value is compatible with type , - false if not. - - - - The type of parameter this object represents. - - - - - Name for the type represented by this . - This may be an actual type name or a generic argument name. - - - - - Construct a new object that - specifies the given . - - Type of the dependency. - - - - Construct a new object that - specifies the given and . - - Type of the dependency. - Name for the dependency. - - - - Return a instance that will - return this types value for the parameter. - - Type that contains the member that needs this parameter. Used - to resolve open generic parameters. - The . - - - - A generic version of that lets you - specify the type of the dependency using generics syntax. - - Type of the dependency. - - - - Construct a new . - - - - - Construct a new with the given - . - - Name of the dependency. - - - - A special lifetime manager which works like , - except that in the presence of child containers, each child gets it's own instance - of the object, instead of sharing one in the common parent. - - - - - A that holds onto the instance given to it. - When the is disposed, - the instance is disposed with it. - - - - - Base class for Lifetime managers which need to synchronize calls to - . - - - - The purpose of this class is to provide a basic implementation of the lifetime manager synchronization pattern. - - - Calls to the method of a - instance acquire a lock, and if the instance has not been initialized with a value yet the lock will only be released - when such an initialization takes place by calling the method or if - the build request which resulted in the call to the GetValue method fails. - - - - - - - Base class for Lifetime managers - classes that control how - and when instances are created by the Unity container. - - - - - A that controls how instances are - persisted and recovered from an external store. Used to implement - things like singletons and per-http-request lifetime. - - - - - Represents a builder policy interface. Since there are no fixed requirements - for policies, it acts as a marker interface from which to derive all other - policy interfaces. - - - - - Retrieve a value from the backing store associated with this Lifetime policy. - - the object desired, or null if no such object is currently stored. - - - - Stores the given value into backing store for retrieval later. - - The object to store. - - - - Remove the value this lifetime policy is managing from backing store. - - - - - Retrieve a value from the backing store associated with this Lifetime policy. - - the object desired, or null if no such object is currently stored. - - - - Stores the given value into backing store for retrieval later. - - The object being stored. - - - - Remove the given object from backing store. - - - - - This interface provides a hook for the builder context to - implement error recovery when a builder strategy throws - an exception. Since we can't get try/finally blocks onto - the call stack for later stages in the chain, we instead - add these objects to the context. If there's an exception, - all the current IRequiresRecovery instances will have - their Recover methods called. - - - - - A method that does whatever is needed to clean up - as part of cleaning up after an exception. - - - Don't do anything that could throw in this method, - it will cause later recover operations to get skipped - and play real havoc with the stack trace. - - - - - Retrieve a value from the backing store associated with this Lifetime policy. - - the object desired, or null if no such object is currently stored. - Calls to this method acquire a lock which is released only if a non-null value - has been set for the lifetime manager. - - - - Performs the actual retrieval of a value from the backing store associated - with this Lifetime policy. - - the object desired, or null if no such object is currently stored. - This method is invoked by - after it has acquired its lock. - - - - Stores the given value into backing store for retrieval later. - - The object being stored. - Setting a value will attempt to release the lock acquired by - . - - - - Performs the actual storage of the given value into backing store for retrieval later. - - The object being stored. - This method is invoked by - before releasing its lock. - - - - Remove the given object from backing store. - - - - - A method that does whatever is needed to clean up - as part of cleaning up after an exception. - - - Don't do anything that could throw in this method, - it will cause later recover operations to get skipped - and play real havoc with the stack trace. - - - - - Retrieve a value from the backing store associated with this Lifetime policy. - - the object desired, or null if no such object is currently stored. - - - - Stores the given value into backing store for retrieval later. - - The object being stored. - - - - Remove the given object from backing store. - - - - - Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. - - 2 - - - - Standard Dispose pattern implementation. Not needed, but it keeps FxCop happy. - - Always true, since we don't have a finalizer. - - - - This is a custom lifetime manager that acts like , - but also provides a signal to the default build plan, marking the type so that - instances are reused across the build up object graph. - - - - - Construct a new object that does not - itself manage an instance. - - - - - Construct a new object that stores the - give value. This value will be returned by - but is not stored in the lifetime manager, nor is the value disposed. - This Lifetime manager is intended only for internal use, which is why the - normal method is not used here. - - Value to store. - - - - Retrieve a value from the backing store associated with this Lifetime policy. - - the object desired, or null if no such object is currently stored. - - - - Stores the given value into backing store for retrieval later. In this class, - this is a noop, since it has special hooks down in the guts. - - The object being stored. - - - - Remove the given object from backing store. Noop in this class. - - - - - A strategy that handles Hierarchical lifetimes across a set of parent/child - containers. - - - - - Represents a strategy in the chain of responsibility. - Strategies are required to support both BuildUp and TearDown. - - - - - Represents a strategy in the chain of responsibility. - Strategies are required to support both BuildUp and TearDown. Although you - can implement this interface directly, you may also choose to use - as the base class for your strategies, as - this class provides useful helper methods and makes support BuildUp and TearDown - optional. - - - - - Called during the chain of responsibility for a build operation. The - PreBuildUp method is called when the chain is being executed in the - forward direction. - - Context of the build operation. - - - - Called during the chain of responsibility for a build operation. The - PostBuildUp method is called when the chain has finished the PreBuildUp - phase and executes in reverse order from the PreBuildUp calls. - - Context of the build operation. - - - - Called during the chain of responsibility for a teardown operation. The - PreTearDown method is called when the chain is being executed in the - forward direction. - - Context of the teardown operation. - - - - Called during the chain of responsibility for a teardown operation. The - PostTearDown method is called when the chain has finished the PreTearDown - phase and executes in reverse order from the PreTearDown calls. - - Context of the teardown operation. - - - - Called during the chain of responsibility for a build operation. The - PreBuildUp method is called when the chain is being executed in the - forward direction. - - Context of the build operation. - - - - Called during the chain of responsibility for a build operation. The - PostBuildUp method is called when the chain has finished the PreBuildUp - phase and executes in reverse order from the PreBuildUp calls. - - Context of the build operation. - - - - Called during the chain of responsibility for a teardown operation. The - PreTearDown method is called when the chain is being executed in the - forward direction. - - Context of the teardown operation. - - - - Called during the chain of responsibility for a teardown operation. The - PostTearDown method is called when the chain has finished the PreTearDown - phase and executes in reverse order from the PreTearDown calls. - - Context of the teardown operation. - - - - Called during the chain of responsibility for a build operation. The - PreBuildUp method is called when the chain is being executed in the - forward direction. - - Context of the build operation. - - - - A that will attempt to - resolve a value, and return null if it cannot rather than throwing. - - - - - A that is used at build plan execution time - to resolve a dependent value. - - - - - Get the value for a dependency. - - Current build context. - The value for the dependency. - - - - Construct a new object - that will attempt to resolve the given name and type from the container. - - Type to resolve. Must be a reference type. - Name to resolve with. - - - - Construct a new object - that will attempt to resolve the given type from the container. - - Type to resolve. Must be a reference type. - - - - Get the value for a dependency. - - Current build context. - The value for the dependency. - - - - Type this resolver will resolve. - - - - - Name this resolver will resolve. - - - - - Extension methods on to provide convenience - overloads (generic versions, mostly). - - - - - Removes an individual policy type for a build key. - - The type the policy was registered as. - to remove the policy from. - The key the policy applies. - - - - Removes a default policy. - - The type the policy was registered as. - to remove the policy from. - - - - Gets an individual policy. - - The interface the policy is registered under. - to search. - The key the policy applies. - The policy in the list, if present; returns null otherwise. - - - - Gets an individual policy. - - The interface the policy is registered under. - to search. - The key the policy applies. - The policy list that actually contains the returned policy. - The policy in the list, if present; returns null otherwise. - - - - Gets an individual policy. - - to search. - The interface the policy is registered under. - The key the policy applies. - The policy in the list, if present; returns null otherwise. - - - - Gets an individual policy. - - to search. - The interface the policy is registered under. - The key the policy applies. - The policy list that actually contains the returned policy. - The policy in the list, if present; returns null otherwise. - - - - Gets an individual policy. - - The interface the policy is registered under. - to search. - The key the policy applies. - true if the policy searches local only; otherwise false to seach up the parent chain. - The policy in the list, if present; returns null otherwise. - - - - Gets an individual policy. - - The interface the policy is registered under. - to search. - The key the policy applies. - true if the policy searches local only; otherwise false to seach up the parent chain. - The policy list that actually contains the returned policy. - The policy in the list, if present; returns null otherwise. - - - - Gets an individual policy. - - to search. - The interface the policy is registered under. - The key the policy applies. - true if the policy searches local only; otherwise false to seach up the parent chain. - The policy in the list, if present; returns null otherwise. - - - - Get the non default policy. - - The interface the policy is registered under. - to search. - The key the policy applies. - true if the policy searches local only; otherwise false to seach up the parent chain. - The policy in the list, if present; returns null otherwise. - - - - Get the non default policy. - - The interface the policy is registered under. - to search. - The key the policy applies. - true if the policy searches local only; otherwise false to seach up the parent chain. - The policy list that actually contains the returned policy. - The policy in the list, if present; returns null otherwise. - - - - Get the non default policy. - - to search. - The interface the policy is registered under. - The key the policy applies. - true if the policy searches local only; otherwise false to seach up the parent chain. - The policy in the list, if present; returns null otherwise. - - - - Sets an individual policy. - - The interface the policy is registered under. - to add the policy to. - The policy to be registered. - The key the policy applies. - - - - Sets a default policy. When checking for a policy, if no specific individual policy - is available, the default will be used. - - The interface to register the policy under. - to add the policy to. - The default policy to be registered. - - - - Base class for the current operation stored in the build context. - - - - - Create a new . - - Type currently being built. - - - - The type that's currently being built. - - - - - Build plan for that will - return a func that will resolve the requested type - through this container later. - - - - - A build plan is an object that, when invoked, will create a new object - or fill in a given existing one. It encapsulates all the information - gathered by the strategies to construct a particular object. - - - - - Creates an instance of this build plan's type, or fills - in the existing type if passed in. - - Context used to build up the object. - - - - Creates an instance of this build plan's type, or fills - in the existing type if passed in. - - Context used to build up the object. - - - - The almost inevitable collection of extra helper methods on - to augment the rich set of what - Linq already gives us. - - - - - Execute the provided on every item in . - - Type of the items stored in - Sequence of items to process. - Code to run over each item. - - - - Create a single string from a sequenc of items, separated by the provided , - and with the conversion to string done by the given . - - This method does basically the same thing as , - but will work on any sequence of items, not just arrays. - Type of items in the sequence. - Sequence of items to convert. - Separator to place between the items in the string. - The conversion function to change TItem -> string. - The resulting string. - - - - Create a single string from a sequenc of items, separated by the provided , - and with the conversion to string done by the item's method. - - This method does basically the same thing as , - but will work on any sequence of items, not just arrays. - Type of items in the sequence. - Sequence of items to convert. - Separator to place between the items in the string. - The resulting string. - - - - A class that lets you - override a named parameter passed to a constructor. - - - - - Construct a new object that will - override the given named constructor parameter, and pass the given - value. - - Name of the constructor parameter. - Value to pass for the constructor. - - - - Return a that can be used to give a value - for the given desired dependency. - - Current build context. - Type of dependency desired. - a object if this override applies, null if not. - - - - A convenience form of that lets you - specify multiple parameter overrides in one shot rather than having - to construct multiple objects. - - - - - When implemented in derived classes, this method is called from the - method to create the actual objects. - - Key value to create the resolver. - Value to store in the resolver. - The created . - - - - A that lets you override - the value for a specified property. - - - - - Create an instance of . - - The property name. - Value to use for the property. - - - - Return a that can be used to give a value - for the given desired dependency. - - Current build context. - Type of dependency desired. - a object if this override applies, null if not. - - - - A convenience form of that lets you - specify multiple property overrides in one shot rather than having - to construct multiple objects. - - - - - When implemented in derived classes, this method is called from the - method to create the actual objects. - - Key value to create the resolver. - Value to store in the resolver. - The created . - - - - Interface defining the configuration interface exposed by the - Static Factory extension. - - - - - Base interface for all extension configuration interfaces. - - - - - Retrieve the container instance that we are currently configuring. - - - - - Register the given factory delegate to be called when the container is - asked to resolve . - - Type that will be requested from the container. - Delegate to invoke to create the instance. - The container extension object this method was invoked on. - - - - Register the given factory delegate to be called when the container is - asked to resolve and . - - Type that will be requested from the container. - The name that will be used when requesting to resolve this type. - Delegate to invoke to create the instance. - The container extension object this method was invoked on. - - - - Represents the context in which a build-up or tear-down operation runs. - - - - - Represents the context in which a build-up or tear-down operation runs. - - - - - Add a new set of resolver override objects to the current build operation. - - objects to add. - - - - Get a object for the given - or null if that dependency hasn't been overridden. - - Type of the dependency. - Resolver to use, or null if no override matches for the current operation. - - - - A convenience method to do a new buildup operation on an existing context. - - Key to use to build up. - Created object. - - - - A convenience method to do a new buildup operation on an existing context. This - overload allows you to specify extra policies which will be in effect for the duration - of the build. - - Key defining what to build up. - A delegate that takes a . This - is invoked with the new child context before the build up process starts. This gives callers - the opportunity to customize the context for the build process. - Created object. - - - - Gets the head of the strategy chain. - - - The strategy that's first in the chain; returns null if there are no - strategies in the chain. - - - - - Gets the associated with the build. - - - The associated with the build. - - - - - Gets the original build key for the build operation. - - - The original build key for the build operation. - - - - - Get the current build key for the current build operation. - - - - - The set of policies that were passed into this context. - - This returns the policies passed into the context. - Policies added here will remain after buildup completes. - The persistent policies for the current context. - - - - Gets the policies for the current context. - - Any policies added to this object are transient - and will be erased at the end of the buildup. - - The policies for the current context. - - - - - Gets the collection of objects - that need to execute in event of an exception. - - - - - The current object being built up or torn down. - - - The current object being manipulated by the build operation. May - be null if the object hasn't been created yet. - - - - Flag indicating if the build operation should continue. - - true means that building should not call any more - strategies, false means continue to the next strategy. - - - - An object representing what is currently being done in the - build chain. Used to report back errors if there's a failure. - - - - - The build context used to resolve a dependency during the build operation represented by this context. - - - - - Initialize a new instance of the class. - - - - - Initialize a new instance of the class with a , - , and the - build key used to start this build operation. - - The to use for this context. - The to use for this context. - The to use for this context. - Build key to start building. - The existing object to build up. - - - - Create a new using the explicitly provided - values. - - The to use for this context. - The to use for this context. - The set of persistent policies to use for this context. - The set of transient policies to use for this context. It is - the caller's responsibility to ensure that the transient and persistent policies are properly - combined. - Build key for this context. - Existing object to build up. - - - - Add a new set of resolver override objects to the current build operation. - - objects to add. - - - - Get a object for the given - or null if that dependency hasn't been overridden. - - Type of the dependency. - Resolver to use, or null if no override matches for the current operation. - - - - A convenience method to do a new buildup operation on an existing context. - - Key to use to build up. - Created object. - - - - A convenience method to do a new buildup operation on an existing context. This - overload allows you to specify extra policies which will be in effect for the duration - of the build. - - Key defining what to build up. - A delegate that takes a . This - is invoked with the new child context before the build up process starts. This gives callers - the opportunity to customize the context for the build process. - Created object. - - - - Gets the head of the strategy chain. - - - The strategy that's first in the chain; returns null if there are no - strategies in the chain. - - - - - Get the current build key for the current build operation. - - - - - The current object being built up or torn down. - - - The current object being manipulated by the build operation. May - be null if the object hasn't been created yet. - - - - Gets the associated with the build. - - - The associated with the build. - - - - - Gets the original build key for the build operation. - - - The original build key for the build operation. - - - - - The set of policies that were passed into this context. - - This returns the policies passed into the context. - Policies added here will remain after buildup completes. - The persistent policies for the current context. - - - - Gets the policies for the current context. - - - Any modifications will be transient (meaning, they will be forgotten when - the outer BuildUp for this context is finished executing). - - - The policies for the current context. - - - - - Gets the collection of objects - that need to execute in event of an exception. - - - - - Flag indicating if the build operation should continue. - - true means that building should not call any more - strategies, false means continue to the next strategy. - - - - An object representing what is currently being done in the - build chain. Used to report back errors if there's a failure. - - - - - The build context used to resolve a dependency during the build operation represented by this context. - - - - - Represents that a dependency could not be resolved. - - - Represents that a dependency could not be resolved. - - - - - Initializes a new instance of the class with no extra information. - - - - - Initializes a new instance of the class with the given message. - - Some random message. - - - - Initialize a new instance of the class with the given - message and inner exception. - - Some random message - Inner exception. - - - - Initializes a new instance of the class with the build key of the object begin built. - - The build key of the object begin built. - - - - Initializes a new instance of the class with serialized data. - - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - - - - The exception thrown when injection is attempted on a method - that is an open generic or has out or ref params. - - - The exception thrown when injection is attempted on a method - that is an open generic or has out or ref params. - - - - - Construct a new with no - message. - - - - - Construct a with the given message - - Message to return. - - - - Construct a with the given message - and inner exception. - - Message to return. - Inner exception - - - - Used for serialization. - - Serialization info. - Serialization context. - - - - Extension methods to provide convenience overloads over the - interface. - - - - - Start a recursive build up operation to retrieve the default - value for the given type. - - Type of object to build. - Parent context. - Resulting object. - - - - Start a recursive build up operation to retrieve the named - implementation for the given type. - - Type to resolve. - Parent context. - Name to resolve with. - The resulting object. - - - - Add a set of s to the context, specified as a - variable argument list. - - Context to add overrides to. - The overrides. - - - - Data structure that stores the set of - objects and executes them when requested. - - - - - Add a new object to this - list. - - Object to add. - - - - Execute the method - of everything in the recovery list. Recoveries will execute - in the opposite order of add - it's a stack. - - - - - Return the number of recovery objects currently in the stack. - - - - - Represents a lifetime container. - - - A lifetime container tracks the lifetime of an object, and implements - IDisposable. When the container is disposed, any objects in the - container which implement IDisposable are also disposed. - - - - - Adds an object to the lifetime container. - - The item to be added to the lifetime container. - - - - Determine if a given object is in the lifetime container. - - - The item to locate in the lifetime container. - - - Returns true if the object is contained in the lifetime - container; returns false otherwise. - - - - - Removes an item from the lifetime container. The item is - not disposed. - - The item to be removed. - - - - Gets the number of references in the lifetime container - - - The number of references in the lifetime container - - - - - Represents a lifetime container. - - - A lifetime container tracks the lifetime of an object, and implements - IDisposable. When the container is disposed, any objects in the - container which implement IDisposable are also disposed. - - - - - Adds an object to the lifetime container. - - The item to be added to the lifetime container. - - - - Determine if a given object is in the lifetime container. - - - The item to locate in the lifetime container. - - - Returns true if the object is contained in the lifetime - container; returns false otherwise. - - - - - Releases the resources used by the . - - - - - Releases the managed resources used by the DbDataReader and optionally releases the unmanaged resources. - - - true to release managed and unmanaged resources; false to release only unmanaged resources. - - - - - Returns an enumerator that iterates through the lifetime container. - - - An object that can be used to iterate through the life time container. - - - - - Returns an enumerator that iterates through the lifetime container. - - - An object that can be used to iterate through the life time container. - - - - - Removes an item from the lifetime container. The item is - not disposed. - - The item to be removed. - - - - Gets the number of references in the lifetime container - - - The number of references in the lifetime container - - - - - A custom collection over objects. - - - - - Removes an individual policy type for a build key. - - The type of policy to remove. - The key the policy applies. - - - - Removes all policies from the list. - - - - - Removes a default policy. - - The type the policy was registered as. - - - - Gets an individual policy. - - The interface the policy is registered under. - The key the policy applies. - true if the policy searches local only; otherwise false to seach up the parent chain. - The policy list in the chain that the searched for policy was found in, null if the policy was - not found. - The policy in the list, if present; returns null otherwise. - - - - Get the non default policy. - - The interface the policy is registered under. - The key the policy applies to. - True if the search should be in the local policy list only; otherwise false to search up the parent chain. - The policy list in the chain that the searched for policy was found in, null if the policy was - not found. - The policy in the list if present; returns null otherwise. - - - - Sets an individual policy. - - The of the policy. - The policy to be registered. - The key the policy applies. - - - - Sets a default policy. When checking for a policy, if no specific individual policy - is available, the default will be used. - - The interface to register the policy under. - The default policy to be registered. - - - - A custom collection wrapper over objects. - - - - - Initialize a new instance of a class. - - - - - Initialize a new instance of a class with another policy list. - - An inner policy list to search. - - - - Removes an individual policy type for a build key. - - The type of policy to remove. - The key the policy applies. - - - - Removes all policies from the list. - - - - - Removes a default policy. - - The type the policy was registered as. - - - - Gets an individual policy. - - The interface the policy is registered under. - The key the policy applies. - true if the policy searches local only; otherwise false to seach up the parent chain. - The policy list in the chain that the searched for policy was found in, null if the policy was - not found. - The policy in the list, if present; returns null otherwise. - - - - Get the non default policy. - - The interface the policy is registered under. - The key the policy applies to. - True if the search should be in the local policy list only; otherwise false to search up the parent chain. - The policy list in the chain that the searched for policy was found in, null if the policy was - not found. - The policy in the list if present; returns null otherwise. - - - - Sets an individual policy. - - The of the policy. - The policy to be registered. - The key the policy applies. - - - - Sets a default policy. When checking for a policy, if no specific individual policy - is available, the default will be used. - - The interface to register the policy under. - The default policy to be registered. - - - - Gets the number of items in the locator. - - - The number of items in the locator. - - - - - An implementation of . - - - - - Add a new object to this - list. - - Object to add. - - - - Execute the method - of everything in the recovery list. Recoveries will execute - in the opposite order of add - it's a stack. - - - - - Return the number of recovery objects currently in the stack. - - - - - Implementation of which will notify an object about - the completion of a BuildUp operation, or start of a TearDown operation. - - - This strategy checks the object that is passing through the builder chain to see if it - implements IBuilderAware and if it does, it will call - and . This strategy is meant to be used from the - stage. - - - - - Called during the chain of responsibility for a build operation. The - PreBuildUp method is called when the chain is being executed in the - forward direction. - - Context of the build operation. - - - - Called during the chain of responsibility for a teardown operation. The - PreTearDown method is called when the chain is being executed in the - forward direction. - - Context of the teardown operation. - - - - Implemented on a class when it wants to receive notifications - about the build process. - - - - - Called by the when the object is being built up. - - The key of the object that was just built up. - - - - Called by the when the object is being torn down. - - - - - Enumeration to represent the object builder stages. - - - The order of the values in the enumeration is the order in which the stages are run. - - - - - Strategies in this stage run before creation. Typical work done in this stage might - include strategies that use reflection to set policies into the context that other - strategies would later use. - - - - - Strategies in this stage create objects. Typically you will only have a single policy-driven - creation strategy in this stage. - - - - - Strategies in this stage work on created objects. Typical work done in this stage might - include setter injection and method calls. - - - - - Strategies in this stage work on objects that are already initialized. Typical work done in - this stage might include looking to see if the object implements some notification interface - to discover when its initialization stage has been completed. - - - - - Represents a builder policy for mapping build keys. - - - - - Represents a builder policy for mapping build keys. - - - - - Maps the build key. - - The build key to map. - Current build context. Used for contextual information - if writing a more sophisticated mapping. This parameter can be null - (called when getting container registrations). - The new build key. - - - - Initialize a new instance of the with the new build key. - - The new build key. - - - - Maps the build key. - - The build key to map. - Current build context. Used for contextual information - if writing a more sophisticated mapping, unused in this implementation. - The new build key. - - - - Represents a strategy for mapping build keys in the build up operation. - - - - - Called during the chain of responsibility for a build operation. Looks for the - and if found maps the build key for the current operation. - - The context for the operation. - - - - An implementation of that can map - generic types. - - - - - Create a new instance - that will map generic types. - - Build key to map to. This must be or contain an open generic type. - - - - Maps the build key. - - The build key to map. - Current build context. Used for contextual information - if writing a more sophisticated mapping. - The new build key. - - - - A that will look for a build plan - in the current context. If it exists, it invokes it, otherwise - it creates one and stores it for later, and invokes it. - - - - - Called during the chain of responsibility for a build operation. - - The context for the operation. - - - - An implementation of that chooses - constructors based on these criteria: first, pick a constructor marked with the - attribute. If there - isn't one, then choose the constructor with the longest parameter list. If that is ambiguous, - then throw. - - Thrown when the constructor to choose is ambiguous. - Attribute used to mark the constructor to call. - - - - Base class that provides an implementation of - which lets you override how the parameter resolvers are created. - - - - - A that, when implemented, - will determine which constructor to call from the build plan. - - - - - Choose the constructor to call for the given type. - - Current build context - The to add any - generated resolver objects into. - The chosen constructor. - - - - Choose the constructor to call for the given type. - - Current build context - The to add any - generated resolver objects into. - The chosen constructor. - - - - Create a instance for the given - . - - Parameter to create the resolver for. - The resolver object. - - - - Compares two objects and returns a value indicating whether one is less than, equal to, or greater than the other. - - - - Value Condition Less than zerox is less than y.Zerox equals y.Greater than zerox is greater than y. - - - The second object to compare. - The first object to compare. - - - - Create a instance for the given - . - - Parameter to create the resolver for. - The resolver object. - - - - Objects of this type are the return value from . - It encapsulates the desired with the string keys - needed to look up the for each - parameter. - - - - - Base class for return values from selector policies that - return a memberinfo of some sort plus a list of parameter - keys to look up the parameter resolvers. - - - - - Base class for return of selector policies that need - to keep track of a set of parameter keys. - - - - - Add a new parameter key to this object. Keys are assumed - to be in the order of the parameters to the constructor. - - Key for the next parameter to look up. - - - - The set of keys for the constructor parameters. - - - - - Construct a new , storing - the given member info. - - Member info to store. - - - - The member info stored. - - - - - Create a new instance which - contains the given constructor. - - The constructor to wrap. - - - - The constructor this object wraps. - - - - - This class records the information about which constructor argument is currently - being resolved, and is responsible for generating the error string required when - an error has occurred. - - - - - Initializes a new instance of the class. - - The type that is being constructed. - A string representing the constructor being called. - Parameter being resolved. - - - - Generate the string describing what parameter was being resolved. - - The description string. - - - - String describing the constructor being set up. - - - - - Parameter that's being resolved. - - - - - A that emits IL to call constructors - as part of creating a build plan. - - - - - Called during the chain of responsibility for a build operation. - - Existing object is an instance of . - The context for the operation. - - - - A helper method used by the generated IL to throw an exception if - a dependency cannot be resolved. - - The currently being - used for the build of this object. - - - - A helper method used by the generated IL to throw an exception if - a dependency cannot be resolved because of an invalid constructor. - - The currently being - used for the build of this object. - The signature of the invalid constructor. - - - - A helper method used by the generated IL to throw an exception if - no existing object is present, but the user is attempting to build - an interface (usually due to the lack of a type mapping). - - The currently being - used for the build of this object. - - - - A helper method used by the generated IL to store the current operation in the build context. - - - - - A helper method used by the generated IL to store the current operation in the build context. - - - - - A helper method used by the generated IL to set up a PerResolveLifetimeManager lifetime manager - if the current object is such. - - Current build context. - - - - A class that records that a constructor is about to be call, and is - responsible for generating the error string required when - an error has occurred. - - - - - Initializes a new instance of the class. - - - - - Generate the description string. - - The string. - - - - Constructor we're trying to call. - - - - - An implementation of that will - check for full trust and if we're building a class or an interface. If in full - trust, attach to the class or module of the interface respectively. If in partial - trust, attach to the OB2 module instead. - - - - - This interface defines a policy that manages creation of the dynamic methods - used by the ObjectBuilder code generation. This way, we can replace the details - of how the dynamic method is created to handle differences in CLR (like Silverlight - vs desktop) or security policies. - - - - - Create a builder method for the given type, using the given name. - - Type that will be built by the generated method. - Name to give to the method. - A object with the proper signature to use - as part of a build plan. - - - - Create a builder method for the given type, using the given name. - - Type that will be built by the generated method. - Name to give to the method. - A object with the proper signature to use - as part of a build plan. - - - - This object tracks the current state of the build plan generation, - accumulates the IL, provides the preamble & postamble for the dynamic - method, and tracks things like local variables in the generated IL - so that they can be reused across IL generation strategies. - - - - - Create a that is initialized - to handle creation of a dynamic method to build the given type. - - Type that we're trying to create a build plan for. - An object that actually - creates our object. - - - - Completes generation of the dynamic method and returns the - generated dynamic method delegate. - - The created - - - - Emit the IL to put the build context on top of the IL stack. - - - - - Emit the IL to put the current build key on top of the IL stack. - - - - - Emit the IL to put the current "existing" object on the top of the IL stack. - - - - - Emit the IL to make the top of the IL stack our current "existing" object. - - - - - Emit the IL to load the given object onto the top of the IL stack. - - Type to load on the stack. - - - - Emit the IL needed to look up an and - call it to get a value. - - Type of the dependency to resolve. - Key to look up the policy by. - - - - Emit the IL needed to clear the . - - - - - Emit the IL needed to either cast the top of the stack to the target type - or unbox it, if it's a value type. - - Type to convert the top of the stack to. - - - - A helper method used by the generated IL to clear the current operation in the build context. - - - - - Helper method used by generated IL to look up a dependency resolver based on the given key. - - Current build context. - Type of the dependency being resolved. - Key the resolver was stored under. - The found dependency resolver. - - - - A reflection helper method to make it easier to grab a property getter - for the given property. - - Type that implements the property we want. - Type of the property. - Name of the property. - The property getter's . - - - - A reflection helper method that makes it easier to grab a - for a method. - - Type that implements the method we want. - Name of the method. - Types of arguments to the method. - The method's . - - - - The underlying that can be used to - emit IL into the generated dynamic method. - - - - - The type we're currently creating the method to build. - - - - - A delegate type that defines the signature of the - dynamic method created by the build plans. - - used to build up the object. - - - - An implementation of that runs the - given delegate to execute the plan. - - - - - An implementation - that constructs a build plan via dynamic IL emission. - - - - - A that can create and return an - for the given build key. - - - - - Create a build plan using the given context and build key. - - Current build context. - Current build key. - The build plan. - - - - Construct a that - uses the given strategy chain to construct the build plan. - - The strategy chain. - - - - Construct a build plan. - - The current build context. - The current build key. - The created build plan. - - - - A class that records that a constructor is about to be call, and is - responsible for generating the error string required when - an error has occurred. - - - - - Initializes a new instance of the class. - - - - - Generate the description string. - - The string. - - - - Method we're trying to call. - - - - - This class records the information about which constructor argument is currently - being resolved, and is responsible for generating the error string required when - an error has occurred. - - - - - Initializes a new instance of the class. - - The type that is being constructed. - A string representing the method being called. - Parameter being resolved. - - - - Generate the string describing what parameter was being resolved. - - The description string. - - - - String describing the method being set up. - - - - - Parameter that's being resolved. - - - - - A that generates IL to call - chosen methods (as specified by the current ) - as part of object build up. - - - - - Called during the chain of responsibility for a build operation. The - PreBuildUp method is called when the chain is being executed in the - forward direction. - - Context of the build operation. - - - - A helper method used by the generated IL to store the current operation in the build context. - - - - - A helper method used by the generated IL to store the current operation in the build context. - - - - - A base class that holds the information shared by all operations - performed by the container while setting properties. - - - - - Initializes a new instance of the class. - - - - - Generate the description of this operation. - - The string. - - - - Get a format string used to create the description. Called by - the base method. - - The format string. - - - - The property value currently being resolved. - - - - - This class records the information about which property value is currently - being resolved, and is responsible for generating the error string required when - an error has occurred. - - - - - Initializes a new instance of the class. - - - - - Get a format string used to create the description. Called by - the base method. - - The format string. - - - - A that generates IL to resolve properties - on an object being built. - - - - - Called during the chain of responsibility for a build operation. - - The context for the operation. - - - - A helper method used by the generated IL to store the current operation in the build context. - - - - - A helper method used by the generated IL to store the current operation in the build context. - - - - - This class records the information about which property value is currently - being set, and is responsible for generating the error string required when - an error has occurred. - - - - - Initializes a new instance of the class. - - Type property is on. - Name of property being set. - - - - Get a format string used to create the description. Called by - the base method. - - The format string. - - - - Creates an instance of this build plan's type, or fills - in the existing type if passed in. - - Context used to build up the object. - - - - An that will examine the given - types and return a sequence of objects - that should be called as part of building the object. - - - - - Return the sequence of methods to call while building the target object. - - Current build context. - The to add any - generated resolver objects into. - Sequence of methods to call. - - - - An implementation of that selects - methods by looking for the given - attribute on those methods. - - Type of attribute used to mark methods - to inject. - - - - Base class that provides an implementation of - which lets you override how the parameter resolvers are created. - - Attribute that marks methods that should - be called. - - - - Return the sequence of methods to call while building the target object. - - Current build context. - The to add any - generated resolver objects into. - Sequence of methods to call. - - - - Create a instance for the given - . - - Parameter to create the resolver for. - The resolver object. - - - - Create a instance for the given - . - - Parameter to create the resolver for. - The resolver object. - - - - Objects of this type are the return value from . - It encapsulates the desired with the string keys - needed to look up the for each - parameter. - - - - - Create a new instance which - contains the given method. - - The method - - - - The constructor this object wraps. - - - - - An that returns a sequence - of properties that should be injected for the given type. - - - - - Returns sequence of properties on the given type that - should be set as part of building that object. - - Current build context. - The to add any - generated resolver objects into. - Sequence of objects - that contain the properties to set. - - - - Base class that provides an implementation of - which lets you override how the parameter resolvers are created. - - - - - Returns sequence of properties on the given type that - should be set as part of building that object. - - Current build context. - The to add any - generated resolver objects into. - Sequence of objects - that contain the properties to set. - - - - Create a for the given - property. - - Property to create resolver for. - The resolver object. - - - - An implementation of that looks - for properties marked with the - attribute that are also settable and not indexers. - - - - - - Create a for the given - property. - - Property to create resolver for. - The resolver object. - - - - Objects of this type are returned from - . - This class combines the about - the property with the string key used to look up the resolver - for this property's value. - - - - - Create an instance of - with the given and key. - - The property. - Key to use to look up the resolver. - - - - PropertyInfo for this property. - - - - - Key to look up this property's resolver. - - - - - Implementation of . - - - - - A builder policy that lets you keep track of the current - resolvers and will remove them from the given policy set. - - - - - Add a new resolver to track by key. - - Key that was used to add the resolver to the policy set. - - - - Remove the currently tracked resolvers from the given policy list. - - Policy list to remove the resolvers from. - - - - Add a new resolver to track by key. - - Key that was used to add the resolver to the policy set. - - - - Remove the currently tracked resolvers from the given policy list. - - Policy list to remove the resolvers from. - - - - Get an instance that implements , - either the current one in the policy set or creating a new one if it doesn't - exist. - - Policy list to look up from. - Build key to track. - The resolver tracker. - - - - Add a key to be tracked to the current tracker. - - Policy list containing the resolvers and trackers. - Build key for the resolvers being tracked. - Key for the resolver. - - - - Remove the resolvers for the given build key. - - Policy list containing the build key. - Build key. - - - - An implementation of that - calls back into the build chain to build up the dependency, passing - a type given at compile time as its build key. - - - - - Create a new instance storing the given type. - - Type to resolve. - - - - Get the value for a dependency. - - Current build context. - The value for the dependency. - - - - This interface defines a standard method to convert any - regardless - of the stage enum into a regular, flat strategy chain. - - - - - Convert this into - a flat . - - The flattened . - - - - Represents a chain of responsibility for builder strategies. - - - - - Reverse the order of the strategy chain. - - The reversed strategy chain. - - - - Execute this strategy chain against the given context, - calling the Buildup methods on the strategies. - - Context for the build process. - The build up object - - - - Execute this strategy chain against the given context, - calling the TearDown methods on the strategies. - - Context for the teardown process. - - - - A builder policy used to create lifetime policy instances. - Used by the LifetimeStrategy when instantiating open - generic types. - - - - - Create a new instance of . - - The new instance. - - - - The type of Lifetime manager that will be created by this factory. - - - - - An implementation that uses - a to figure out if an object - has already been created and to update or remove that - object from some backing store. - - - - - Called during the chain of responsibility for a build operation. The - PreBuildUp method is called when the chain is being executed in the - forward direction. - - Context of the build operation. - - - - Called during the chain of responsibility for a build operation. The - PostBuildUp method is called when the chain has finished the PreBuildUp - phase and executes in reverse order from the PreBuildUp calls. - - Context of the build operation. - - - - Represents a chain of responsibility for builder strategies partitioned by stages. - - The stage enumeration to partition the strategies. - - - - Initialize a new instance of the class. - - - - - Initialize a new instance of the class with an inner strategy chain to use when building. - - The inner strategy chain to use first when finding strategies in the build operation. - - - - Adds a strategy to the chain at a particular stage. - - The strategy to add to the chain. - The stage to add the strategy. - - - - Add a new strategy for the . - - The of - The stage to add the strategy. - - - - Clear the current strategy chain list. - - - This will not clear the inner strategy chain if this instane was created with one. - - - - - Makes a strategy chain based on this instance. - - A new . - - - - Represents a chain of responsibility for builder strategies. - - - - - Initialzie a new instance of the class. - - - - - Initialzie a new instance of the class with a colleciton of strategies. - - A collection of strategies to initialize the chain. - - - - Adds a strategy to the chain. - - The strategy to add to the chain. - - - - Adds strategies to the chain. - - The strategies to add to the chain. - - - - Reverse the order of the strategy chain. - - The reversed strategy chain. - - - - Execute this strategy chain against the given context to build up. - - Context for the build processes. - The build up object - - - - Execute this strategy chain against the given context, - calling the TearDown methods on the strategies. - - Context for the teardown process. - - - - Returns an enumerator that iterates through the collection. - - - - A that can be used to iterate through the collection. - - 1 - - - - Returns an enumerator that iterates through a collection. - - - - An object that can be used to iterate through the collection. - - 2 - - - - Build key used to combine a type object with a string name. Used by - ObjectBuilder to indicate exactly what is being built. - - - - - Create a new instance with the given - type and name. - - to build. - Key to use to look up type mappings and singletons. - - - - Create a new instance for the default - buildup of the given type. - - to build. - - - - This helper method creates a new instance. It is - initialized for the default key for the given type. - - Type to build. - A new instance. - - - - This helper method creates a new instance for - the given type and key. - - Type to build - Key to use to look up type mappings and singletons. - A new instance initialized with the given type and name. - - - - Compare two instances. - - Two instances compare equal - if they contain the same name and the same type. Also, comparing - against a different type will also return false. - Object to compare to. - True if the two keys are equal, false if not. - - - - Calculate a hash code for this instance. - - A hash code. - - - - Compare two instances for equality. - - Two instances compare equal - if they contain the same name and the same type. - First of the two keys to compare. - Second of the two keys to compare. - True if the values of the keys are the same, else false. - - - - Compare two instances for inequality. - - Two instances compare equal - if they contain the same name and the same type. If either field differs - the keys are not equal. - First of the two keys to compare. - Second of the two keys to compare. - false if the values of the keys are the same, else true. - - - - Formats the build key as a string (primarily for debugging). - - A readable string representation of the build key. - - - - Return the stored in this build key. - - The type to build. - - - - Returns the name stored in this build key. - - The name to use when building. - - - - A generic version of so that - you can new up a key using generic syntax. - - Type for the key. - - - - Construct a new that - specifies the given type. - - - - - Construct a new that - specifies the given type and name. - - Name for the key. - - - - A series of helper methods to deal with sequences - - objects that implement . - - - - - A function that turns an arbitrary parameter list into an - . - - Type of arguments. - The items to put into the collection. - An array that contains the values of the . - - - - Given two sequences, return a new sequence containing the corresponding values - from each one. - - Type of first sequence. - Type of second sequence. - First sequence of items. - Second sequence of items. - New sequence of pairs. This sequence ends when the shorter of sequence1 and sequence2 does. - - - - The exception thrown by the Unity container when - an attempt to resolve a dependency fails. - - - The exception thrown by the Unity container when - an attempt to resolve a dependency fails. - - - - - Constructor to create a from serialized state. - - Serialization info - Serialization context - - - - Serialize this object into the given context. - - Serialization info - Streaming context - - - - Create a new that records - the exception for the given type and name. - - Type requested from the container. - Name requested from the container. - The actual exception that caused the failure of the build. - The build context representing the failed operation. - - - - The type that was being requested from the container at the time of failure. - - - - - The name that was being requested from the container at the time of failure. - - - - - A that lets you register a - delegate with the container to create an object, rather than calling - the object's constructor. - - - - - Base class for all extension objects. - - - - - The container calls this method when the extension is added. - - A instance that gives the - extension access to the internals of the container. - - - - Initial the container with this extension's functionality. - - - When overridden in a derived class, this method will modify the given - by adding strategies, policies, etc. to - install it's functions into the container. - - - - Removes the extension's functions from the container. - - - - This method is called when extensions are being removed from the container. It can be - used to do things like disconnect event handlers or clean up member state. You do not - need to remove strategies or policies here; the container will do that automatically. - - - The default implementation of this method does nothing. - - - - - The container this extension has been added to. - - The that this extension has been added to. - - - - The object used to manipulate - the inner state of the container. - - - - - Initialize this extension. This particular extension requires no - initialization work. - - - - - Register the given factory delegate to be called when the container is - asked to resolve and . - - Type that will be requested from the container. - The name that will be used when requesting to resolve this type. - Delegate to invoke to create the instance. - The container extension object this method was invoked on. - - - - Register the given factory delegate to be called when the container is - asked to resolve . - - Type that will be requested from the container. - Delegate to invoke to create the instance. - The container extension object this method was invoked on. - - - - An implementation of that - acts as a decorator over another . - This checks to see if the current type being built is the - right one before checking the inner . - - - - - Create an instance of - - Type to check for. - Inner override to check after type matches. - - - - Return a that can be used to give a value - for the given desired dependency. - - Current build context. - Type of dependency desired. - a object if this override applies, null if not. - - - - A convenience version of that lets you - specify the type to construct via generics syntax. - - Type to check for. - - - - Create an instance of . - - Inner override to check after type matches. - - - - Extension class that adds a set of convenience overloads to the - interface. - - - - - Register a type with specific members to be injected. - - Type this registration is for. - Container to configure. - Injection configuration objects. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register a type mapping with the container. - - - - This method is used to tell the container that when asked for type , - actually return an instance of type . This is very useful for - getting instances of interfaces. - - - This overload registers a default mapping and transient lifetime. - - - that will be requested. - that will actually be returned. - Container to configure. - Injection configuration objects. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register a type mapping with the container, where the created instances will use - the given . - - that will be requested. - that will actually be returned. - Container to configure. - The that controls the lifetime - of the returned instance. - Injection configuration objects. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register a type mapping with the container. - - - This method is used to tell the container that when asked for type , - actually return an instance of type . This is very useful for - getting instances of interfaces. - - that will be requested. - that will actually be returned. - Container to configure. - Name of this mapping. - Injection configuration objects. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register a type mapping with the container, where the created instances will use - the given . - - that will be requested. - that will actually be returned. - Container to configure. - Name to use for registration, null if a default registration. - The that controls the lifetime - of the returned instance. - Injection configuration objects. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register a for the given type with the container. - No type mapping is performed for this type. - - The type to apply the to. - Container to configure. - The that controls the lifetime - of the returned instance. - Injection configuration objects. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register a for the given type with the container. - No type mapping is performed for this type. - - The type to configure injection on. - Container to configure. - Name that will be used to request the type. - Injection configuration objects. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register a for the given type and name with the container. - No type mapping is performed for this type. - - The type to apply the to. - Container to configure. - Name that will be used to request the type. - The that controls the lifetime - of the returned instance. - Injection configuration objects. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register a type with specific members to be injected. - - Container to configure. - Type this registration is for. - Injection configuration objects. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register a type mapping with the container. - - - - This method is used to tell the container that when asked for type , - actually return an instance of type . This is very useful for - getting instances of interfaces. - - - This overload registers a default mapping. - - - Container to configure. - that will be requested. - that will actually be returned. - Injection configuration objects. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register a type mapping with the container. - - - This method is used to tell the container that when asked for type , - actually return an instance of type . This is very useful for - getting instances of interfaces. - - Container to configure. - that will be requested. - that will actually be returned. - Name to use for registration, null if a default registration. - Injection configuration objects. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register a type mapping with the container, where the created instances will use - the given . - - Container to configure. - that will be requested. - that will actually be returned. - The that controls the lifetime - of the returned instance. - Injection configuration objects. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register a for the given type and name with the container. - No type mapping is performed for this type. - - Container to configure. - The to apply the to. - The that controls the lifetime - of the returned instance. - Injection configuration objects. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register a for the given type and name with the container. - No type mapping is performed for this type. - - Container to configure. - The to configure in the container. - Name to use for registration, null if a default registration. - Injection configuration objects. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register a for the given type and name with the container. - No type mapping is performed for this type. - - Container to configure. - The to apply the to. - Name to use for registration, null if a default registration. - The that controls the lifetime - of the returned instance. - Injection configuration objects. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register an instance with the container. - - - - Instance registration is much like setting a type as a singleton, except that instead - of the container creating the instance the first time it is requested, the user - creates the instance ahead of type and adds that instance to the container. - - - This overload does a default registration and has the container take over the lifetime of the instance. - - Type of instance to register (may be an implemented interface instead of the full type). - Container to configure. - Object to returned. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register an instance with the container. - - - - Instance registration is much like setting a type as a singleton, except that instead - of the container creating the instance the first time it is requested, the user - creates the instance ahead of type and adds that instance to the container. - - - This overload does a default registration (name = null). - - - Type of instance to register (may be an implemented interface instead of the full type). - Container to configure. - Object to returned. - - object that controls how this instance will be managed by the container. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register an instance with the container. - - - - Instance registration is much like setting a type as a singleton, except that instead - of the container creating the instance the first time it is requested, the user - creates the instance ahead of type and adds that instance to the container. - - - This overload automatically has the container take ownership of the . - - Type of instance to register (may be an implemented interface instead of the full type). - Object to returned. - Container to configure. - Name for registration. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register an instance with the container. - - - - Instance registration is much like setting a type as a singleton, except that instead - of the container creating the instance the first time it is requested, the user - creates the instance ahead of type and adds that instance to the container. - - - Type of instance to register (may be an implemented interface instead of the full type). - Object to returned. - Container to configure. - Name for registration. - - object that controls how this instance will be managed by the container. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register an instance with the container. - - - - Instance registration is much like setting a type as a singleton, except that instead - of the container creating the instance the first time it is requested, the user - creates the instance ahead of type and adds that instance to the container. - - - This overload does a default registration and has the container take over the lifetime of the instance. - - Container to configure. - Type of instance to register (may be an implemented interface instead of the full type). - Object to returned. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register an instance with the container. - - - - Instance registration is much like setting a type as a singleton, except that instead - of the container creating the instance the first time it is requested, the user - creates the instance ahead of type and adds that instance to the container. - - - This overload does a default registration (name = null). - - - Container to configure. - Type of instance to register (may be an implemented interface instead of the full type). - Object to returned. - - object that controls how this instance will be managed by the container. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register an instance with the container. - - - - Instance registration is much like setting a type as a singleton, except that instead - of the container creating the instance the first time it is requested, the user - creates the instance ahead of type and adds that instance to the container. - - - This overload automatically has the container take ownership of the . - - Container to configure. - Type of instance to register (may be an implemented interface instead of the full type). - Object to returned. - Name for registration. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Resolve an instance of the default requested type from the container. - - of object to get from the container. - Container to resolve from. - Any overrides for the resolve call. - The retrieved object. - - - - Resolve an instance of the requested type with the given name from the container. - - of object to get from the container. - Container to resolve from. - Name of the object to retrieve. - Any overrides for the resolve call. - The retrieved object. - - - - Resolve an instance of the default requested type from the container. - - Container to resolve from. - of object to get from the container. - Any overrides for the resolve call. - The retrieved object. - - - - Return instances of all registered types requested. - - - - This method is useful if you've registered multiple types with the same - but different names. - - - Be aware that this method does NOT return an instance for the default (unnamed) registration. - - - The type requested. - Container to resolve from. - Any overrides for the resolve calls. - Set of objects of type . - - - - Run an existing object through the container and perform injection on it. - - - - This method is useful when you don't control the construction of an - instance (ASP.NET pages or objects created via XAML, for instance) - but you still want properties and other injection performed. - - - This overload uses the default registrations. - - - of object to perform injection on. - Container to resolve through. - Instance to build up. - Any overrides for the buildup. - The resulting object. By default, this will be , but - container extensions may add things like automatic proxy creation which would - cause this to return a different object (but still type compatible with ). - - - - Run an existing object through the container and perform injection on it. - - - - This method is useful when you don't control the construction of an - instance (ASP.NET pages or objects created via XAML, for instance) - but you still want properties and other injection performed. - - of object to perform injection on. - Conatiner to resolve through. - Instance to build up. - name to use when looking up the typemappings and other configurations. - Any overrides for the Buildup. - The resulting object. By default, this will be , but - container extensions may add things like automatic proxy creation which would - cause this to return a different object (but still type compatible with ). - - - - Run an existing object through the container and perform injection on it. - - - - This method is useful when you don't control the construction of an - instance (ASP.NET pages or objects created via XAML, for instance) - but you still want properties and other injection performed. - - - This overload uses the default registrations. - - - Container to resolve through. - of object to perform injection on. - Instance to build up. - Any overrides for the Buildup. - The resulting object. By default, this will be , but - container extensions may add things like automatic proxy creation which would - cause this to return a different object (but still type compatible with ). - - - - Creates a new extension object and adds it to the container. - - Type of to add. The extension type - will be resolved from within the supplied . - Container to add the extension to. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Resolve access to a configuration interface exposed by an extension. - - Extensions can expose configuration interfaces as well as adding - strategies and policies to the container. This method walks the list of - added extensions and returns the first one that implements the requested type. - - The configuration interface required. - Container to configure. - The requested extension's configuration interface, or null if not found. - - - - Check if a particular type has been registered with the container with - the default name. - - Container to inspect. - Type to check registration for. - True if this type has been registered, false if not. - - - - Check if a particular type/name pair has been registered with the container. - - Container to inspect. - Type to check registration for. - Name to check registration for. - True if this type/name pair has been registered, false if not. - - - - Check if a particular type has been registered with the container with the default name. - - Type to check registration for. - Container to inspect. - True if this type has been registered, false if not. - - - - Check if a particular type/name pair has been registered with the container. - - Type to check registration for. - Container to inspect. - Name to check registration for. - True if this type/name pair has been registered, false if not. - - - - This extension installs the default strategies and policies into the container - to implement the standard behavior of the Unity container. - - - This extension installs the default strategies and policies into the container - to implement the standard behavior of the Unity container. - - - - - Add the correct to the policy - set. This version adds the appropriate policy for running on the desktop CLR. - - - - - Add the default ObjectBuilder strategies & policies to the container. - - - - - The class provides the means for extension objects - to manipulate the internal state of the . - - - - - Store a type/name pair for later resolution. - - - - When users register type mappings (or other things) with a named key, this method - allows you to register that name with the container so that when the - method is called, that name is included in the list that is returned. - - to register. - Name assocated with that type. - - - - The container that this context is associated with. - - The object. - - - - The strategies this container uses. - - The that the container uses to build objects. - - - - The strategies this container uses to construct build plans. - - The that this container uses when creating - build plans. - - - - The policies this container uses. - - The the that container uses to build objects. - - - - The that this container uses. - - The is used to manage objects that the container is managing. - - - - This event is raised when the method, - or one of its overloads, is called. - - - - - This event is raised when the method, - or one of its overloads, is called. - - - - - This event is raised when the method is called, providing - the newly created child container to extensions to act on as they see fit. - - - - - An EventArgs class that holds a string Name. - - - - - Create a new with a null name. - - - - - Create a new with the given name. - - Name to store. - - - - The name. - - Name used for this event arg object. - - - - Event argument class for the event. - - - - - Create a new instance of . - - Type to map from. - Type to map to. - Name for the registration. - to manage instances. - - - - Type to map from. - - - - - Type to map to. - - - - - to manage instances. - - - - - Event argument class for the event. - - - - - Create a default instance. - - - - - Create a instance initialized with the given arguments. - - Type of instance being registered. - The instance object itself. - Name to register under, null if default registration. - object that handles how - the instance will be owned. - - - - Type of instance being registered. - - - Type of instance being registered. - - - - - Instance object being registered. - - Instance object being registered - - - - that controls ownership of - this instance. - - - - - A that lets you specify that - an instance of a generic type parameter should be resolved. - - - - - Create a new instance that specifies - that the given named generic parameter should be resolved. - - The generic parameter name to resolve. - - - - Create a new instance that specifies - that the given named generic parameter should be resolved. - - The generic parameter name to resolve. - name to use when looking up in the container. - - - - Return a instance that will - return this types value for the parameter. - - The actual type to resolve. - The resolution key. - The . - - - - A that lets you specify that - an array containing the registered instances of a generic type parameter - should be resolved. - - - - - Create a new instance that specifies - that the given named generic parameter should be resolved. - - The generic parameter name to resolve. - The values for the elements, that will - be converted to objects. - - - - Test to see if this parameter value has a matching type for the given type. - - Type to check. - True if this parameter value is compatible with type , - false if not. - A type is considered compatible if it is an array type of rank one - and its element type is a generic type parameter with a name matching this generic - parameter name configured for the receiver. - - - - Return a instance that will - return this types value for the parameter. - - Type that contains the member that needs this parameter. Used - to resolve open generic parameters. - The . - - - - Name for the type represented by this . - This may be an actual type name or a generic argument name. - - - - - A Unity container extension that allows you to configure - which constructors, properties, and methods get injected - via an API rather than through attributes. - - - - - Initial the container with this extension's functionality. - - - When overridden in a derived class, this method will modify the given - by adding strategies, policies, etc. to - install it's functions into the container. - - - - API to configure the injection settings for a particular type. - - Type the injection is being configured for. - Objects containing the details on which members to inject and how. - This extension object. - - - - API to configure the injection settings for a particular type/name pair. - - Type the injection is being configured for. - Name of registration - Objects containing the details on which members to inject and how. - This extension object. - - - - API to configure the injection settings for a particular type. - - Type to configure. - Objects containing the details on which members to inject and how. - This extension object. - - - - API to configure the injection settings for a particular type/name pair. - - Type to configure. - Name of registration. - Objects containing the details on which members to inject and how. - This extension object. - - - - API to configure the injection settings for a particular type/name pair. - - Type of interface/base class being registered (may be null). - Type of actual implementation class being registered. - Name of registration. - Objects containing the details on which members to inject and how. - This extension object. - - - - A class that holds the collection of information - for a constructor, so that the container can - be configured to call this constructor. - - - - - Create a new instance of that looks - for a constructor with the given set of parameters. - - The values for the parameters, that will - be converted to objects. - - - - Add policies to the to configure the - container to call this constructor with the appropriate parameter values. - - Interface registered, ignored in this implementation. - Type to register. - Name used to resolve the type object. - Policy list to add policies to. - - - - An that configures the - container to call a method as part of buildup. - - - - - Create a new instance which will configure - the container to call the given methods with the given parameters. - - Name of the method to call. - Parameter values for the method. - - - - Add policies to the to configure the - container to call this constructor with the appropriate parameter values. - - Type of interface registered, ignored in this implementation. - Type to register. - Name used to resolve the type object. - Policy list to add policies to. - - - - A small function to handle name matching. You can override this - to do things like case insensitive comparisons. - - MethodInfo for the method you're checking. - Name of the method you're looking for. - True if a match, false if not. - - - - A class that holds on to the given value and provides - the required - when the container is configured. - - - - - Create an instance of that stores - the given value, using the runtime type of that value as the - type of the parameter. - - Value to be injected for this parameter. - - - - Create an instance of that stores - the given value, associated with the given type. - - Type of the parameter. - Value of the parameter - - - - Return a instance that will - return this types value for the parameter. - - Type that contains the member that needs this parameter. Used - to resolve open generic parameters. - The . - - - - A generic version of that makes it a - little easier to specify the type of the parameter. - - Type of parameter. - - - - Create a new . - - Value for the parameter. - - - - This class stores information about which properties to inject, - and will configure the container accordingly. - - - - - Configure the container to inject the given property name, - resolving the value via the container. - - Name of the property to inject. - - - - Configure the container to inject the given property name, - using the value supplied. This value is converted to an - object using the - rules defined by the - method. - - Name of property to inject. - Value for property. - - - - Add policies to the to configure the - container to call this constructor with the appropriate parameter values. - - Interface being registered, ignored in this implemenation. - Type to register. - Name used to resolve the type object. - Policy list to add policies to. - - - - A class that stores a type, and generates a - resolver object that resolves all the named instances or the - type registered in a container. - - - - - Construct a new that - resolves to the given element type and collection of element values. - - The type of elements to resolve. - The values for the elements, that will - be converted to objects. - - - - Construct a new that - resolves to the given array and element types and collection of element values. - - The type for the array of elements to resolve. - The type of elements to resolve. - The values for the elements, that will - be converted to objects. - - - - Return a instance that will - return this types value for the parameter. - - Type that contains the member that needs this parameter. Used - to resolve open generic parameters. - The . - - - - A generic version of for convenience - when creating them by hand. - - Type of the elements for the array of the parameter. - - - - Construct a new that - resolves to the given element generic type with the given element values. - - The values for the elements, that will - be converted to objects. - - - - Interface defining the behavior of the Unity dependency injection container. - - - - - Register a type mapping with the container, where the created instances will use - the given . - - that will be requested. - that will actually be returned. - Name to use for registration, null if a default registration. - The that controls the lifetime - of the returned instance. - Injection configuration objects. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register an instance with the container. - - - - Instance registration is much like setting a type as a singleton, except that instead - of the container creating the instance the first time it is requested, the user - creates the instance ahead of type and adds that instance to the container. - - - Type of instance to register (may be an implemented interface instead of the full type). - Object to returned. - Name for registration. - - object that controls how this instance will be managed by the container. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Resolve an instance of the requested type with the given name from the container. - - of object to get from the container. - Name of the object to retrieve. - Any overrides for the resolve call. - The retrieved object. - - - - Return instances of all registered types requested. - - - - This method is useful if you've registered multiple types with the same - but different names. - - - Be aware that this method does NOT return an instance for the default (unnamed) registration. - - - The type requested. - Any overrides for the resolve calls. - Set of objects of type . - - - - Run an existing object through the container and perform injection on it. - - - - This method is useful when you don't control the construction of an - instance (ASP.NET pages or objects created via XAML, for instance) - but you still want properties and other injection performed. - - of object to perform injection on. - Instance to build up. - name to use when looking up the typemappings and other configurations. - Any overrides for the resolve calls. - The resulting object. By default, this will be , but - container extensions may add things like automatic proxy creation which would - cause this to return a different object (but still type compatible with ). - - - - Run an existing object through the container, and clean it up. - - The object to tear down. - - - - Add an extension object to the container. - - to add. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Resolve access to a configuration interface exposed by an extension. - - Extensions can expose configuration interfaces as well as adding - strategies and policies to the container. This method walks the list of - added extensions and returns the first one that implements the requested type. - - of configuration interface required. - The requested extension's configuration interface, or null if not found. - - - - Remove all installed extensions from this container. - - - - This method removes all extensions from the container, including the default ones - that implement the out-of-the-box behavior. After this method, if you want to use - the container again you will need to either readd the default extensions or replace - them with your own. - - - The registered instances and singletons that have already been set up in this container - do not get removed. - - - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Create a child container. - - - A child container shares the parent's configuration, but can be configured with different - settings or lifetime. - The new child container. - - - - The parent of this container. - - The parent container, or null if this container doesn't have one. - - - - Get a sequence of that describe the current state - of the container. - - - - - A that holds a weak reference to - it's managed instance. - - - - - Retrieve a value from the backing store associated with this Lifetime policy. - - the object desired, or null if no such object is currently stored. - - - - Stores the given value into backing store for retrieval later. - - The object being stored. - - - - Remove the given object from backing store. - - - - - An implementation of that - creates instances of the type of the given Lifetime Manager - by resolving them through the container. - - - - - Create a new that will - return instances of the given type, creating them by - resolving through the container. - - Container to resolve with. - Type of LifetimeManager to create. - - - - Create a new instance of . - - The new instance. - - - - The type of Lifetime manager that will be created by this factory. - - - - - A that holds the instances given to it, - keeping one instance per thread. - - - - This LifetimeManager does not dispose the instances it holds. - - - - - - Initializes a new instance of the class. - - - - - Retrieve a value from the backing store associated with this Lifetime policy for the - current thread. - - the object desired, or if no such object is currently - stored for the current thread. - - - - Stores the given value into backing store for retrieval later when requested - in the current thread. - - The object being stored. - - - - Remove the given object from backing store. - - Not implemented for this lifetime manager. - - - - An implementation that does nothing, - thus ensuring that instances are created new every time. - - - - - Retrieve a value from the backing store associated with this Lifetime policy. - - the object desired, or null if no such object is currently stored. - - - - Stores the given value into backing store for retrieval later. - - The object being stored. - - - - Remove the given object from backing store. - - - - - This strategy implements the logic that will call container.ResolveAll - when an array parameter is detected. - - - - - Do the PreBuildUp stage of construction. This is where the actual work is performed. - - Current build context. - - - - An implementation of that is - aware of the build keys used by the Unity container. - - - - - Create a instance for the given - . - - - This implementation looks for the Unity on the - parameter and uses it to create an instance of - for this parameter. - Parameter to create the resolver for. - The resolver object. - - - - An implementation of that is aware - of the build keys used by the Unity container. - - - - - Create a instance for the given - . - - Parameter to create the resolver for. - The resolver object. - - - - An implementation of that is aware of - the build keys used by the unity container. - - - - - Create a for the given - property. - - Property to create resolver for. - The resolver object. - - - - A implementation that returns - the value set in the constructor. - - - - - Create a new instance of - which will return the given value when resolved. - - The value to return. - - - - Get the value for a dependency. - - Current build context. - The value for the dependency. - - - - An implementation of that stores a - type and name, and at resolution time puts them together into a - . - - - - - Create an instance of - with the given type and name. - - The type. - The name (may be null). - - - - Resolve the value for a dependency. - - Current build context. - The value for the dependency. - - - - The type that this resolver resolves. - - - - - The name that this resolver resolves. - - - - - An implementation of that resolves to - to an array populated with the values that result from resolving other instances - of . - - - - - Create an instance of - with the given type and a collection of - instances to use when populating the result. - - The type. - The resolver policies to use when populating an array. - - - - Resolve the value for a dependency. - - Current build context. - An array pupulated with the results of resolving the resolver policies. - - - - An implementation of that selects - the given constructor and creates the appropriate resolvers to call it with - the specified parameters. - - - - - Create an instance of that - will return the given constructor, being passed the given injection values - as parameters. - - The constructor to call. - Set of objects - that describes how to obtain the values for the constructor parameters. - - - - Choose the constructor to call for the given type. - - Current build context - The to add any - generated resolver objects into. - The chosen constructor. - - - - Helper class for implementing selector policies that need to - set up dependency resolver policies. - - - - - Add dependency resolvers to the parameter set. - - Type that's currently being built (used to resolve open generics). - PolicyList to add the resolvers to. - Objects supplying the dependency resolvers. - Result object to store the keys in. - - - - A implementation that calls the specific - methods with the given parameters. - - - - - Add the given method and parameter collection to the list of methods - that will be returned when the selector's - method is called. - - Method to call. - sequence of objects - that describe how to create the method parameter values. - - - - Return the sequence of methods to call while building the target object. - - Current build context. - The to add any - generated resolver objects into. - Sequence of methods to call. - - - - An implemnetation of which returns - the set of specific properties that the selector was configured with. - - - - - Add a property that will be par of the set returned when the - is called. - - The property to set. - object describing - how to create the value to inject. - - - - Returns sequence of properties on the given type that - should be set as part of building that object. - - Current build context. - The to add any - generated resolver objects into. - Sequence of objects - that contain the properties to set. - - - - A class that stores a name and type, and generates a - resolver object that resolves the parameter via the - container. - - - - - Construct a new that - resolves to the given type. - - Type of this parameter. - - - - Construct a new that - resolves the given type and name. - - Type of this parameter. - Name to use when resolving parameter. - - - - Return a instance that will - return this types value for the parameter. - - Type that contains the member that needs this parameter. Used - to resolve open generic parameters. - The . - - - - A generic version of for convenience - when creating them by hand. - - Type of the parameter - - - - Create a new for the given - generic type and the default name. - - - - - Create a new for the given - generic type and name. - - Name to use to resolve this parameter. - - - - An implementation of that wraps a Unity container. - - - - - Initializes a new instance of the class for a container. - - The to wrap with the - interface implementation. - - - - Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. - - 2 - - - - When implemented by inheriting classes, this method will do the actual work of resolving - the requested service instance. - - Type of instance requested.Name of registered service you want. May be null. - - The requested service instance. - - - - - When implemented by inheriting classes, this method will do the actual work of - resolving all the requested service instances. - - Type of service requested. - - Sequence of service instance objects. - - - - - A static helper class that includes various parameter checking routines. - - - - - Throws if the given argument is null. - - if tested value if null. - Argument value to test. - Name of the argument being tested. - - - - Throws an exception if the tested string argument is null or the empty string. - - Thrown if string value is null. - Thrown if the string is empty - Argument value to check. - Name of argument being checked. - - - - Verifies that an argument type is assignable from the provided type (meaning - interfaces are implemented, or classes exist in the base class hierarchy). - - The argument type that will be assigned to. - The type of the value being assigned. - Argument name. - - - - Verifies that an argument instance is assignable from the provided type (meaning - interfaces are implemented, or classes exist in the base class hierarchy, or instance can be - assigned through a runtime wrapper, as is the case for COM Objects). - - The argument type that will be assigned to. - The instance that will be assigned. - Argument name. - - - - The build stages we use in the Unity container - strategy pipeline. - - - - - First stage. By default, nothing happens here. - - - - - Second stage. Type mapping occurs here. - - - - - Third stage. lifetime managers are checked here, - and if they're available the rest of the pipeline is skipped. - - - - - Fourth stage. Reflection over constructors, properties, etc. is - performed here. - - - - - Fifth stage. Instance creation happens here. - - - - - Sixth stage. Property sets and method injection happens here. - - - - - Seventh and final stage. By default, nothing happens here. - - - - - A strongly-typed resource class, for looking up localized strings, etc. - - - - - Returns the cached ResourceManager instance used by this class. - - - - - Overrides the current thread's CurrentUICulture property for all - resource lookups using this strongly typed resource class. - - - - - Looks up a localized string similar to The type {0} has multiple constructors of length {1}. Unable to disambiguate.. - - - - - Looks up a localized string similar to The provided string argument must not be empty.. - - - - - Looks up a localized string similar to The current build operation (build key {2}) failed: {3} (Strategy type {0}, index {1}). - - - - - Looks up a localized string similar to The current type, {0}, is an interface and cannot be constructed. Are you missing a type mapping?. - - - - - Looks up a localized string similar to Cannot extract type from build key {0}.. - - - - - Looks up a localized string similar to The method {0}.{1}({2}) is an open generic method. Open generic methods cannot be injected.. - - - - - Looks up a localized string similar to The property {0} on type {1} is an indexer. Indexed properties cannot be injected.. - - - - - Looks up a localized string similar to The method {1} on type {0} has an out parameter. Injection cannot be performed.. - - - - - Looks up a localized string similar to The method {0}.{1}({2}) has at least one out parameter. Methods with out parameters cannot be injected.. - - - - - Looks up a localized string similar to The method {0}.{1}({2}) has at least one ref parameter.Methods with ref parameters cannot be injected.. - - - - - Looks up a localized string similar to The method {1} on type {0} is marked for injection, but it is an open generic method. Injection cannot be performed.. - - - - - Looks up a localized string similar to The method {0}.{1}({2}) is static. Static methods cannot be injected.. - - - - - Looks up a localized string similar to The type {0} is an open generic type. An open generic type cannot be resolved.. - - - - - Looks up a localized string similar to Resolving parameter "{0}" of constructor {1}. - - - - - Looks up a localized string similar to The parameter {0} could not be resolved when attempting to call constructor {1}.. - - - - - Looks up a localized string similar to Parameter type inference does not work for null values. Indicate the parameter type explicitly using a properly configured instance of the InjectionParameter or InjectionParameter<T> classes.. - - - - - Looks up a localized string similar to Calling constructor {0}. - - - - - Looks up a localized string similar to Calling method {0}.{1}. - - - - - Looks up a localized string similar to An item with the given key is already present in the dictionary.. - - - - - Looks up a localized string similar to The lifetime manager is already registered. Lifetime managers cannot be reused, please create a new one.. - - - - - Looks up a localized string similar to The override marker build plan policy has been invoked. This should never happen, looks like a bug in the container.. - - - - - Looks up a localized string similar to Resolving parameter "{0}" of method {1}.{2}. - - - - - Looks up a localized string similar to The value for parameter "{1}" of method {0} could not be resolved. . - - - - - Looks up a localized string similar to Could not resolve dependency for build key {0}.. - - - - - Looks up a localized string similar to The type {0} has multiple constructors marked with the InjectionConstructor attribute. Unable to disambiguate.. - - - - - Looks up a localized string similar to The supplied type {0} must be an open generic type.. - - - - - Looks up a localized string similar to The supplied type {0} does not have the same number of generic arguments as the target type {1}.. - - - - - Looks up a localized string similar to The type {0} does not have an accessible constructor.. - - - - - Looks up a localized string similar to The type {0} does not have a generic argument named "{1}". - - - - - Looks up a localized string similar to while resolving. - - - - - Looks up a localized string similar to The type {0} does not have a constructor that takes the parameters ({1}).. - - - - - Looks up a localized string similar to The type {0} does not have a public method named {1} that takes the parameters ({2}).. - - - - - Looks up a localized string similar to The type {0} does not contain an instance property named {1}.. - - - - - Looks up a localized string similar to The type {0} is not a generic type, and you are attempting to inject a generic parameter named "{1}".. - - - - - Looks up a localized string similar to The type {0} is not an array type with rank 1, and you are attempting to use a [DependencyArray] attribute on a parameter or property with this type.. - - - - - Looks up a localized string similar to Optional dependencies must be reference types. The type {0} is a value type.. - - - - - Looks up a localized string similar to The property {0} on type {1} is not settable.. - - - - - Looks up a localized string similar to The property {0} on type {1} is of type {2}, and cannot be injected with a value of type {3}.. - - - - - Looks up a localized string similar to The value for the property "{0}" could not be resolved.. - - - - - Looks up a localized string similar to The provided string argument must not be empty.. - - - - - Looks up a localized string similar to Resolution of the dependency failed, type = "{0}", name = "{1}". - Exception occurred while: {2}. - Exception is: {3} - {4} - ----------------------------------------------- - At the time of the exception, the container was: - . - - - - - Looks up a localized string similar to Resolving {0},{1}. - - - - - Looks up a localized string similar to Resolving {0},{1} (mapped from {2}, {3}). - - - - - Looks up a localized string similar to Resolving value for property {0}.{1}. - - - - - Looks up a localized string similar to The constructor {1} selected for type {0} has ref or out parameters. Such parameters are not supported for constructor injection.. - - - - - Looks up a localized string similar to Setting value for property {0}.{1}. - - - - - Looks up a localized string similar to The type {0} cannot be constructed. You must configure the container to supply this value.. - - - - - Looks up a localized string similar to The type {1} cannot be assigned to variables of type {0}.. - - - - - Looks up a localized string similar to <unknown>. - - - - - A simple, extensible dependency injection container. - - - - - Create a default . - - - - - Create a with the given parent container. - - The parent . The current object - will apply its own settings first, and then check the parent for additional ones. - - - - RegisterType a type mapping with the container, where the created instances will use - the given . - - that will be requested. - that will actually be returned. - Name to use for registration, null if a default registration. - The that controls the lifetime - of the returned instance. - Injection configuration objects. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - RegisterType an instance with the container. - - - - Instance registration is much like setting a type as a singleton, except that instead - of the container creating the instance the first time it is requested, the user - creates the instance ahead of type and adds that instance to the container. - - - Type of instance to register (may be an implemented interface instead of the full type). - Object to returned. - Name for registration. - - If true, the container will take over the lifetime of the instance, - calling Dispose on it (if it's ) when the container is Disposed. - - If false, container will not maintain a strong reference to . User is reponsible - for disposing instance, and for keeping the instance from being garbage collected. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Get an instance of the requested type with the given name from the container. - - of object to get from the container. - Name of the object to retrieve. - Any overrides for the resolve call. - The retrieved object. - - - - Return instances of all registered types requested. - - - - This method is useful if you've registered multiple types with the same - but different names. - - - Be aware that this method does NOT return an instance for the default (unnamed) registration. - - - The type requested. - Any overrides for the resolve calls. - Set of objects of type . - - - - Run an existing object through the container and perform injection on it. - - - - This method is useful when you don't control the construction of an - instance (ASP.NET pages or objects created via XAML, for instance) - but you still want properties and other injection performed. - - of object to perform injection on. - Instance to build up. - name to use when looking up the typemappings and other configurations. - Any overrides for the buildup. - The resulting object. By default, this will be , but - container extensions may add things like automatic proxy creation which would - cause this to return a different object (but still type compatible with ). - - - - Run an existing object through the container, and clean it up. - - The object to tear down. - - - - Add an extension object to the container. - - to add. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Get access to a configuration interface exposed by an extension. - - Extensions can expose configuration interfaces as well as adding - strategies and policies to the container. This method walks the list of - added extensions and returns the first one that implements the requested type. - - of configuration interface required. - The requested extension's configuration interface, or null if not found. - - - - Remove all installed extensions from this container. - - - - This method removes all extensions from the container, including the default ones - that implement the out-of-the-box behavior. After this method, if you want to use - the container again you will need to either readd the default extensions or replace - them with your own. - - - The registered instances and singletons that have already been set up in this container - do not get removed. - - - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Create a child container. - - - A child container shares the parent's configuration, but can be configured with different - settings or lifetime. - The new child container. - - - - Dispose this container instance. - - - Disposing the container also disposes any child containers, - and disposes any instances whose lifetimes are managed - by the container. - - - - - Dispose this container instance. - - - This class doesn't have a finalizer, so will always be true. - True if being called from the IDisposable.Dispose - method, false if being called from a finalizer. - - - - Remove policies associated with building this type. This removes the - compiled build plan so that it can be rebuilt with the new settings - the next time this type is resolved. - - Type of object to clear the plan for. - Name the object is being registered with. - - - - The parent of this container. - - The parent container, or null if this container doesn't have one. - - - - Get a sequence of that describe the current state - of the container. - - - - - Implementation of the ExtensionContext that is actually used - by the UnityContainer implementation. - - - This is a nested class so that it can access state in the - container that would otherwise be inaccessible. - - - - - This event is raised when the method, - or one of its overloads, is called. - - - - - This extension supplies the default behavior of the UnityContainer API - by handling the context events and setting policies. - - - - - Install the default container behavior into the container. - - - - - Remove the default behavior from the container. - - - - - Helper class to wrap common reflection stuff dealing with - methods. - - - - - Create a new instance that - lets us do more reflection stuff on that method. - - The method to reflect on. - - - - Given our set of generic type arguments, - - The generic type arguments. - An array with closed parameter types. - - - - Returns true if any of the parameters of this method - are open generics. - - - - - Return the of each parameter for this - method. - - Sequence of objects, one for - each parameter in order. - - - - A helper class that encapsulates two different - data items together into a a single item. - - - - - Create a new containing - the two values give. - - First value - Second value - - - - The first value of the pair. - - - - - The second value of the pair. - - - - - Container for a Pair helper method. - - - - - A helper factory method that lets users take advantage of type inference. - - Type of first value. - Type of second value. - First value. - Second value. - A new instance. - - - - A utility class that handles the logic of matching parameter - lists, so we can find the right constructor and method overloads. - - - - - Create a new that will attempt to - match the given parameter types. - - Target parameters to match against. - - - - Tests to see if the given set of types matches the ones - we're looking for. - - parameter list to look for. - true if they match, false if they don't. - - - - Tests to see if the given set of types matches the ones we're looking for. - - Candidate method signature to look for. - True if they match, false if they don't. - - - - Another reflection helper class that has extra methods - for dealing with ParameterInfos. - - - - - A small helper class to encapsulate details of the - reflection API, particularly around generics. - - - - - Create a new instance that - lets you look at information about the given type. - - Type to do reflection on. - - - - Test the given object, looking at - the parameters. Determine if any of the parameters are - open generic types that need type attributes filled in. - - The method to check. - True if any of the parameters are open generics. False if not. - - - - If this type is an open generic, use the - given array to - determine what the required closed type is and return that. - - If the parameter is not an open type, just - return this parameter's type. - Type arguments to substitute in for - the open type parameters. - Corresponding closed type of this parameter. - - - - Given a generic argument name, return the corresponding type for this - closed type. For example, if the current type is SomeType<User>, and the - corresponding definition was SomeType<TSomething>, calling this method - and passing "TSomething" will return typeof(User). - - Name of the generic parameter. - Type of the corresponding generic parameter, or null if there - is no matching name. - - - - The object we're reflecting over. - - - - - Is this type generic? - - - - - Is this type an open generic (no type parameter specified) - - - - - Is this type an array type? - - - - - Is this type an array of generic elements? - - - - - The type of the elements in this type (if it's an array). - - - - - Create a new instance of that - lets you query information about the given ParameterInfo object. - - Parameter to query. - - - - A set of helper methods to pick through lambdas and pull out - from them. - - - - - Pull out a object from an expression of the form - () => SomeClass.SomeMethod() - - Expression describing the method to call. - Corresponding . - - - - Pull out a object from an expression of the form - x => x.SomeMethod() - - The type where the method is defined. - Expression describing the method to call. - Corresponding . - - - - Pull out a object for the get method from an expression of the form - x => x.SomeProperty - - The type where the method is defined. - The type for the property. - Expression describing the property for which the get method is to be extracted. - Corresponding . - - - - Pull out a object for the set method from an expression of the form - x => x.SomeProperty - - The type where the method is defined. - The type for the property. - Expression describing the property for which the set method is to be extracted. - Corresponding . - - - - Pull out a object from an expression of the form () => new SomeType() - - The type where the constructor is defined. - Expression invoking the desired constructor. - Corresponding . - - - diff --git a/Lib/NHibernate.ByteCode.LinFu.xml b/Lib/NHibernate.ByteCode.LinFu.xml deleted file mode 100644 index 8d77e26..0000000 --- a/Lib/NHibernate.ByteCode.LinFu.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - NHibernate.ByteCode.LinFu - - - - diff --git a/Lib/NHibernate.xml b/Lib/NHibernate.xml deleted file mode 100644 index 29aaff5..0000000 --- a/Lib/NHibernate.xml +++ /dev/null @@ -1,42365 +0,0 @@ - - - - NHibernate - - - - - Implementation of BulkOperationCleanupAction. - - - - - An operation which may be scheduled for later execution. - Usually, the operation is a database insert/update/delete, - together with required second-level cache management. - - - - Called before executing any actions - - - Execute this action - - - - What spaces (tables) are affected by this action? - - - - - Get the before-transaction-completion process, if any, for this action. - - - - - Get the after-transaction-completion process, if any, for this action. - - - - - Create an action that will evict collection and entity regions based on queryspaces (table names). - - - - - Any action relating to insert/update/delete of a collection - - - - - Initializes a new instance of . - - The that is responsible for the persisting the Collection. - The Persistent collection. - The identifier of the Collection. - The that the Action is occurring in. - - - Called before executing any actions - - - Execute this action - - - - Compares the current object with another object of the same type. - - - A 32-bit signed integer that indicates the relative order of the objects being compared. The return value has the following meanings: Value Meaning Less than zero This object is less than the other parameter.Zero This object is equal to other. Greater than zero This object is greater than other. - - An object to compare with this object. - - - - What spaces (tables) are affected by this action? - - - - Execute this action - - This method is called when a new non-null collection is persisted - or when an existing (non-null) collection is moved to a new owner - - - - - Removes a persistent collection from its loaded owner. - - The collection to to remove; must be non-null - The collection's persister - The collection key - Indicates if the snapshot is empty - The session - Use this constructor when the collection is non-null. - - - - Removes a persistent collection from a specified owner. - - The collection's owner; must be non-null - The collection's persister - The collection key - Indicates if the snapshot is empty - The session - Use this constructor when the collection to be removed has not been loaded. - - - - Acts as a stand-in for an entity identifier which is supposed to be - generated on insert (like an IDENTITY column) where the insert needed to - be delayed because we were outside a transaction when the persist - occurred (save currently still performs the insert). - - The stand-in is only used within the see cref="NHibernate.Engine.PersistenceContext" - in order to distinguish one instance from another; it is never injected into - the entity instance or returned to the client... - - - - - Base class for actions relating to insert/update/delete of an entity - instance. - - - - - Instantiate an action. - - The session from which this action is coming. - The id of the entity - The entity instance - The entity persister - - - - Entity name accessor - - - - - Entity Id accessor - - - - - Entity Instance - - - - - Session from which this action originated - - - - - The entity persister. - - - - - Delegate representing some process that needs to occur before transaction completion. - - - NH specific: C# does not support dynamic interface proxies so a delegate is used in - place of the Hibernate interface (see Action/BeforeTransactionCompletionProcess). The - delegate omits the parameter as it is not used. - - - - - Delegate representing some process that needs to occur after transaction completion. - - Did the transaction complete successfully? True means it did. - - NH specific: C# does not support dynamic interface proxies so a delegate is used in - place of the Hibernate interface (see Action/AfterTransactionCompletionProcess). The - delegate omits the parameter as it is not used. - - - - Format an SQL statement using simple rules: - a) Insert newline after each comma; - b) Indent three spaces after each inserted newline; - If the statement contains single/double quotes return unchanged, - it is too complex and could be broken by simple formatting. - - - - Represents the the understood types or styles of formatting. - - - Centralize logging handling for SQL statements. - - - Constructs a new SqlStatementLogger instance. - - - Constructs a new SqlStatementLogger instance. - Should we log to STDOUT in addition to our internal logger. - Should we format SQL ('prettify') prior to logging. - - - Log a IDbCommand. - Title - The SQL statement. - The requested formatting style. - - - Log a IDbCommand. - The SQL statement. - The requested formatting style. - - - - Manages prepared statements and batching. Class exists to enforce separation of concerns - - - - - Manages s and s - for an . - - -

- Abstracts ADO.NET batching to maintain the illusion that a single logical batch - exists for the whole session, even when batching is disabled. - Provides transparent IDbCommand caching. -

-

- This will be useful once ADO.NET gets support for batching. Until that point - no code exists that will do batching, but this will provide a good point to do - error checking and making sure the correct number of rows were affected. -

-
-
- - - Get an for using in loading / querying. - - The to convert to an . - The of the command. - The SqlTypes of parameters - in . - - An that is ready to be executed. - - - - If not explicitly released by , it will be - released when the session is closed or disconnected. - - - This does NOT add anything to the batch - it only creates the IDbCommand and - does NOT cause the batch to execute... - - - - - - Get a non-batchable an to use for inserting / deleting / updating. - Must be explicitly released by CloseCommand() - - The to convert to an . - The of the command. - The SqlTypes of parameters - in . - - An that is ready to have the parameter values set - and then executed. - - - - - Close a opened using PrepareCommand() - - The to ensure is closed. - The to ensure is closed. - - - - Close a opened using - - The to ensure is closed. - - - - Get a batchable to use for inserting / deleting / updating - (might be called many times before a single call to ExecuteBatch() - - - After setting parameters, call AddToBatch() - do not execute the statement - explicitly. - - The to convert to an . - The of the command. - The SqlTypes of parameters - in . - - - - - Add an insert / delete / update to the current batch (might be called multiple times - for a single PrepareBatchStatement()) - - Determines whether the number of rows affected by query is correct. - - - - Execute the batch - - - - - Close any query statements that were left lying around - - - Use this method instead of Dispose if the - can be used again. - - - - - Gets an by calling ExecuteReader on the . - - The to execute to get the . - The from the . - - The Batcher is responsible for ensuring that all of the Drivers rules for how many open - s it can have are followed. - - - - - Executes the . - - The to execute. - The number of rows affected. - - The Batcher is responsible for ensuring that all of the Drivers rules for how many open - s it can have are followed. - - - - - Expand the parameters of the cmd to have a single parameter for each parameter in the - sql string - - - This is for databases that do not support named parameters. So, instead of a single parameter - for 'select ... from MyTable t where t.Col1 = @p0 and t.Col2 = @p0' we can issue - 'select ... from MyTable t where t.Col1 = ? and t.Col2 = ?' - - - - - Must be called when an exception occurs. - - - - - - Cancel the current query statement - - - - - Gets the value indicating whether there are any open resources - managed by this batcher (IDbCommands or IDataReaders). - - - - - Gets or sets the size of the batch, this can change dynamically by - calling the session's SetBatchSize. - - The size of the batch. - - - - Initializes a new instance of the class. - - The owning this batcher. - - - - - Prepares the for execution in the database. - - - This takes care of hooking the up to an - and if one exists. It will call Prepare if the Driver - supports preparing commands. - - - - - Ensures that the Driver's rules for Multiple Open DataReaders are being followed. - - - - - - - - - - - - - - Adds the expected row count into the batch. - - The number of rows expected to be affected by the query. - - If Batching is not supported, then this is when the Command should be executed. If Batching - is supported then it should hold of on executing the batch until explicitly told to. - - - - - A flag to indicate if Dispose() has been called. - - - - - Finalizer that ensures the object is correctly disposed of. - - - - - Takes care of freeing the managed and unmanaged resources that - this class is responsible for. - - - - - Takes care of freeing the managed and unmanaged resources that - this class is responsible for. - - Indicates if this BatcherImpl is being Disposed of or Finalized. - - If this BatcherImpl is being Finalized (isDisposing==false) then make sure not - to call any methods that could potentially bring this BatcherImpl back to life. - - - - - Gets the current that is contained for this Batch - - The current . - - - - Gets or sets the size of the batch, this can change dynamically by - calling the session's SetBatchSize. - - The size of the batch. - - - - Gets the the Batcher was - created in. - - - The the Batcher was - created in. - - - - - Gets the for this batcher. - - - - Implementation of ColumnNameCache. - - - - Manages the database connection and transaction for an . - - - This class corresponds to ConnectionManager and JDBCContext in Hibernate, - combined. - - - - The batcher managed by this ConnectionManager. - - - - Expected row count. Valid only for batchable expectations. - - - - Factory for instances. - - - - Provide the class of according to the configuration - and the capabilities of the driver. - - - By default, .Net doesn't have any batching capabilities, drivers that does have - batching support. - The BatcherFactory trough session-factory configuration section. - This interface was added in NHibernate for backdraw compatibility to have the ability - to specify a default for a specific . - - - - - An implementation of the - interface that does no batching. - - - - - Initializes a new instance of the class. - - The for this batcher. - - - - - Executes the current and compares the row Count - to the expectedRowCount. - - - The expected number of rows affected by the query. A value of less than 0 - indicates that the number of rows to expect is unknown or should not be a factor. - - - Thrown when there is an expected number of rows to be affected and the - actual number of rows is different. - - - - - This Batcher implementation does not support batching so this is a no-op call. The - actual execution of the is run in the AddToBatch - method. - - - - - - A BatcherFactory implementation which constructs Batcher instances - that do not perform batch operations. - - - - - Summary description for OracleDataClientBatchingBatcher. - By Tomer Avissar - - - - - A ResultSet delegate, responsible for locally caching the columnName-to-columnIndex - resolution that has been found to be inefficient in a few vendor's drivers (i.e., Oracle - and Postgres). - - - - - - Summary description for SqlClientBatchingBatcher. - - - - - Expose the batch functionality in ADO.Net 2.0 - Microsoft in its wisdom decided to make my life hard and mark it internal. - Through the use of Reflection and some delegates magic, I opened up the functionality. - - Observable performance benefits are 50%+ when used, so it is really worth it. - - - - - Append a command to the batch - - - - - - This is required because SqlClient.SqlCommandSet will throw if - the command has no parameters. - - - - - - Executes the batch - - - This seems to be returning the total number of affected rows in all queries - - - - - Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. - - 2 - - - - Return the batch command to be executed - - - - - The number of commands batched in this instance - - - - - Any exception that occurs in the O-R persistence layer. - - - Exceptions that occur in the database layer are left as native exceptions. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The message that describes the error. - - - - Initializes a new instance of the class. - - - The exception that is the cause of the current exception. If the innerException parameter - is not a null reference, the current exception is raised in a catch block that handles - the inner exception. - - - - - Initializes a new instance of the class. - - The message that describes the error. - - The exception that is the cause of the current exception. If the innerException parameter - is not a null reference, the current exception is raised in a catch block that handles - the inner exception. - - - - - Initializes a new instance of the class - with serialized data. - - - The that holds the serialized object - data about the exception being thrown. - - - The that contains contextual information about the source or destination. - - - - - CodeDOM-based bytecode provider. - - - - - Retrieve the delegate for this provider - capable of generating reflection optimization components. - - The class to be reflected upon. - All property getters to be accessed via reflection. - All property setters to be accessed via reflection. - The reflection optimization delegate. - - - - The specific factory for this provider capable of - generating run-time proxies for lazy-loading purposes. - - - - - NHibernate's object instaciator. - - - For entities and its implementations. - - - - - Instanciator of NHibernate's collections default types. - - - - - ctor - - The target class - Array of setters - Array of getters - - - - Set up the compiler options - - - - - Add an assembly to the list of ReferencedAssemblies - required to build the class - - - - - - Build the generated code - - Generated code - An instance of the generated class - - - - Check if the property is public - - - If IsPublic==true I can directly set the property - If IsPublic==false I need to use the setter/getter - - - - - - - Generate the required code - - C# code - - - - Represents optimized entity property access. - - - - - Factory that generate object based on IReflectionOptimizer needed to replace the use - of reflection. - - - Used in and - - - - - - Generate the IReflectionOptimizer object - - The target class - Array of setters - Array of getters - if the generation fails - - - - Represents reflection optimization for a particular class. - - - - - Represents optimized entity instantiation. - - - - - Perform instantiation of an instance of the underlying class. - - The new instance. - - - - Class constructor. - - - - - Generates a dynamic method which creates a new instance of - when invoked. - - - - - Generates a dynamic method on the given type. - - - - - Generates a dynamic method on the given type. - - - - - - Interface for instanciate all NHibernate objects. - - - - - Creates an instance of the specified type. - - The type of object to create. - A reference to the created object. - - - - Creates an instance of the specified type. - - The type of object to create. - true if a public or nonpublic default constructor can match; false if only a public default constructor can match. - A reference to the created object. - - - - Creates an instance of the specified type using the constructor - that best matches the specified parameters. - - The type of object to create. - An array of constructor arguments. - A reference to the created object. - - - - Emits an ldc.i4 opcode using the fastest available opcode choice. - - - - - Emits IL to unbox a value type and if null, create a new instance of the value type. - - - This does not work if the value type doesn't have a default constructor - we delegate - that to the ISetter. - - - - - Defines a new delegate type. - - - - - Type factory for collections types. - - - - - Creates a new for an . - - The role the collection is in. - The name of the property in the - owner object containing the collection ID, or if it is - the primary key. - The to use to create the array. - Is embedded in XML (not supported yet) - - An for the specified role. - - - - - Creates a new for an - with bag semantics. - - The role the collection is in. - The name of the property in the - owner object containing the collection ID, or if it is - the primary key. - Is embedded in XML (not supported yet) - - A for the specified role. - - - - - Creates a new for an - with bag semantics. - - The type of elements in the list. - The role the collection is in. - - The name of the property in the owner object containing the collection ID, - or if it is the primary key. - - Is embedded in XML (not supported yet) - - A for the specified role. - - - - - Creates a new for an . - - The role the collection is in. - The name of the property in the - owner object containing the collection ID, or if it is - the primary key. - Is embedded in XML (not supported yet) - - A for the specified role. - - - - - Creates a new for an - with list - semantics. - - The type of elements in the list. - The role the collection is in. - - The name of the property in the - owner object containing the collection ID, or if it is - the primary key. - - Is embedded in XML (not supported yet) - - A for the specified role. - - - - - Creates a new for an - with id-bag semantics. - - The role the collection is in. - The name of the property in the - owner object containing the collection ID, or if it is - the primary key. - Is embedded in XML (not supported yet) - - A for the specified role. - - - - - Creates a new for an - with identifier - bag semantics. - - The type of elements in the list. - The role the collection is in. - The name of the property in the - owner object containing the collection ID, or if it is - the primary key. - - Is embedded in XML (not supported yet) - - A for the specified role. - - - - - Creates a new for an . - - The role the collection is in. - The name of the property in the - owner object containing the collection ID, or if it is - the primary key. - Is embedded in XML (not supported yet) - - A for the specified role. - - - - - Creates a new for an - that is sorted by an . - - The role the collection is in. - The name of the property in the - owner object containing the collection ID, or if it is - the primary key. - The that does the sorting. - Is embedded in XML (not supported yet) - - A for the specified role. - - - - - Creates a new for an . - - The type of elements in the collection. - The role the collection is in. - The name of the property in the - owner object containing the collection ID, or if it is - the primary key. - Is embedded in XML (not supported yet) - A for the specified role. - - - - Creates a new for a sorted . - - The type of elements in the collection. - The role the collection is in. - The name of the property in the - owner object containing the collection ID, or if it is - the primary key. - Is embedded in XML (not supported yet) - The to use for the set. - A for the specified role. - - - - Creates a new for an ordered . - - The type of elements in the collection. - The role the collection is in. - - The name of the property in the owner object containing the collection ID, - or if it is the primary key. - - Is embedded in XML (not supported yet) - A for the specified role. - - - - Creates a new for an . - - The role the collection is in. - - The name of the property in the - owner object containing the collection ID, or if it is - the primary key. - Is embedded in XML (not supported yet) - - A for the specified role. - - - - - Creates a new for an - that maintains insertion order of elements. - - The role the collection is in. - The name of the property in the - owner object containing the collection ID, or if it is - the primary key. - Is embedded in XML (not supported yet) - - A for the specified role. - - - - - Creates a new for an - that is sorted by an . - - The role the collection is in. - The name of the property in the - owner object containing the collection ID, or if it is - the primary key. - The that does the sorting. - Is embedded in XML (not supported yet) - - A for the specified role. - - - - - Creates a new for an - . - - The type of keys in the dictionary. - The type of values in the dictionary. - The role the collection is in. - The name of the property in the - owner object containing the collection ID, or if it is - the primary key. - - Is embedded in XML (not supported yet) - - A for the specified role. - - - - - An interface for factories of proxy factory instances. - - - Used to abstract from the tupizer. - - - - - Build a proxy factory specifically for handling runtime - lazy loading. - - The lazy-load proxy factory. - - - - A implementation that returns - , disabling reflection optimization. - - - - - Marker interface, denoting a client-visible "soft lock" on a cached item. - - - - - A cached instance of a persistent class - - - - - An item of cached data, timestamped with the time it was cached, when it was locked, - when it was unlocked - - - - - Caches data that is sometimes updated while maintaining the semantics of - "read committed" isolation level. If the database is set to "repeatable - read", this concurrency strategy almost maintains the semantics. - Repeatable read isolation is compromised in the case of concurrent writes. - This is an "asynchronous" concurrency strategy. - - - If this strategy is used in a cluster, the underlying cache implementation - must support distributed hard locks (which are held only momentarily). This - strategy also assumes that the underlying cache implementation does not do - asynchronous replication and that state has been fully replicated as soon - as the lock is released. - for a faster algorithm - - - - - - Implementors manage transactional access to cached data. - - - - Transactions pass in a timestamp indicating transaction start time. - - - When used to cache entities and collections the key is the identifier of the - entity/collection and the value should be set to the - for an entity and the results of - for a collection. - - - - - - Attempt to retrieve an object from the Cache - - The key (id) of the object to get out of the Cache. - A timestamp prior to the transaction start time - The cached object or - - - - - Attempt to cache an object, after loading from the database - - The key (id) of the object to put in the Cache. - The value - A timestamp prior to the transaction start time - the version number of the object we are putting - a Comparer to be used to compare version numbers - indicates that the cache should avoid a put if the item is already cached - if the object was successfully cached - - - - - We are going to attempt to update/delete the keyed object - - The key - - - This method is used by "asynchronous" concurrency strategies. - - - - Called after an item has become stale (before the transaction completes). - - - - This method is used by "synchronous" concurrency strategies. - - - - Called after an item has been updated (before the transaction completes), - instead of calling Evict(). - - - - - - This method is used by "synchronous" concurrency strategies. - - - - Called after an item has been inserted (before the transaction completes), instead of calling Evict(). - - - - - This method is used by "synchronous" concurrency strategies. - - - - Called when we have finished the attempted update/delete (which may or - may not have been successful), after transaction completion. - - The key - The soft lock - - This method is used by "asynchronous" concurrency strategies. - - - - Called after an item has been updated (after the transaction completes), - instead of calling Release(). - - - - - - This method is used by "asynchronous" concurrency strategies. - - - - Called after an item has been inserted (after the transaction completes), instead of calling release(). - - - - - This method is used by "asynchronous" concurrency strategies. - - - - Evict an item from the cache immediately (without regard for transaction isolation). - - - - - - - Evict all items from the cache immediately. - - - - - - Clean up all resources. - - - - - - Gets the cache region name. - - - - - Gets or sets the for this strategy to use. - - The for this strategy to use. - - - - Generate an id for a new lock. Uniqueness per cache instance is very - desirable but not absolutely critical. Must be called from one of the - synchronized methods of this class. - - - - - - Do not return an item whose timestamp is later than the current - transaction timestamp. (Otherwise we might compromise repeatable - read unnecessarily.) Do not return an item which is soft-locked. - Always go straight to the database instead. - - - Note that since reading an item from that cache does not actually - go to the database, it is possible to see a kind of phantom read - due to the underlying row being updated after we have read it - from the cache. This would not be possible in a lock-based - implementation of repeatable read isolation. It is also possible - to overwrite changes made and committed by another transaction - after the current transaction read the item from the cache. This - problem would be caught by the update-time version-checking, if - the data is versioned or timestamped. - - - - - Stop any other transactions reading or writing this item to/from - the cache. Send them straight to the database instead. (The lock - does time out eventually.) This implementation tracks concurrent - locks by transactions which simultaneously attempt to write to an - item. - - - - - Do not add an item to the cache unless the current transaction - timestamp is later than the timestamp at which the item was - invalidated. (Otherwise, a stale item might be re-added if the - database is operating in repeatable read isolation mode.) - - Whether the item was actually put into the cache - - - - decrement a lock and put it back in the cache - - - - - Re-cache the updated state, if and only if there there are - no other concurrent soft locks. Release our lock. - - - - - Is the client's lock commensurate with the item in the cache? - If it is not, we know that the cache expired the original - lock. - - - - - Gets the cache region name. - - - - - Lock the item - - - - - Is this item visible to the timestamped transaction? - - - - - - - Don't overwrite already cached items - - - - - - - - - The timestamp on the cached data - - - - - The actual cached data - - - - - Not a lock! - - - - - Represents any exception from an . - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The message that describes the error. - - - - Initializes a new instance of the class. - - - The exception that is the cause of the current exception. If the innerException parameter - is not a null reference, the current exception is raised in a catch block that handles - the inner exception. - - - - - Initializes a new instance of the class. - - The message that describes the error. - - The exception that is the cause of the current exception. If the innerException parameter - is not a null reference, the current exception is raised in a catch block that handles - the inner exception. - - - - - Initializes a new instance of the class - with serialized data. - - - The that holds the serialized object - data about the exception being thrown. - - - The that contains contextual information about the source or destination. - - - - - Factory class for creating an . - - - - - No providers implement transactional caching currently, - it was ported from Hibernate just for the sake of completeness. - - - - - Creates an from the parameters. - - The name of the strategy that should use for the class. - The name of the class the strategy is being created for. - if the object being stored in the cache is mutable. - Used to retrieve the global cache region prefix. - Properties the cache provider can use to configure the cache. - An to use for this object in the . - - - - Allows multiple entity classes / collection roles to be - stored in the same cache region. Also allows for composite - keys which do not properly implement equals()/hashCode(). - - - - - Construct a new key for a collection or entity instance. - Note that an entity name should always be the root entity - name, not a subclass entity name. - - The identifier associated with the cached data - The Hibernate type mapping - The entity or collection-role name. - The entiyt mode of the originating session - The session factory for which we are caching - - - - A soft lock which supports concurrent locking, - timestamped with the time it was released - - - This class was named Lock in H2.1 - - - - - Increment the lock, setting the - new lock timeout - - - - - Decrement the lock, setting the unlock - timestamp if now unlocked - - - - - - Can the timestamped transaction re-cache this - locked item now? - - - - - locks are not returned to the client! - - - - - Was this lock held concurrently by multiple - transactions? - - - - - Yes, this is a lock - - - - - Used by - - - - - Implementors define a caching algorithm. - - - - - All implementations must be threadsafe. - - - The key is the identifier of the object that is being cached and the - value is a . - - - - - - Get the object from the Cache - - - - - - - - - - - - - - Remove an item from the Cache. - - The Key of the Item in the Cache to remove. - - - - - Clear the Cache - - - - - - Clean up. - - - - - - If this is a clustered cache, lock the item - - The Key of the Item in the Cache to lock. - - - - - If this is a clustered cache, unlock the item - - The Key of the Item in the Cache to unlock. - - - - - Generate a timestamp - - - - - - Get a reasonable "lock timeout" - - - - - Gets the name of the cache region - - - - - A simple -based cache - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Cache Provider plugin for NHibernate that is configured by using - cache.provider_class="NHibernate.Cache.HashtableCacheProvider" - - - - - Support for pluggable caches - - - - - Configure the cache - - the name of the cache region - configuration settings - - - - - generate a timestamp - - - - - - Callback to perform any necessary initialization of the underlying cache implementation - during ISessionFactory construction. - - current configuration settings - - - - Callback to perform any necessary cleanup of the underlying cache implementation - during . - - - - - Contract for sources of optimistically lockable data sent to the second level cache. - - - Note currently EntityPersisters are - the only viable source. - - - - - Does this source represent versioned (i.e., and thus optimistically lockable) data? - - True if this source represents versioned data; false otherwise. - - - Get the comparator used to compare two different version values together. - An appropriate comparator. - - - - Defines the contract for caches capable of storing query results. These - caches should only concern themselves with storing the matching result ids. - The transactional semantics are necessarily less strict than the semantics - of an item cache. - - - - - Defines a factory for query cache instances. These factories are responsible for - creating individual QueryCache instances. - - - - - A cache provider placeholder used when caching is disabled. - - - - - Configure the cache - - the name of the cache region - configuration settings - - - - - Generate a timestamp - - - - - Callback to perform any necessary initialization of the underlying cache implementation during SessionFactory - construction. - - current configuration settings. - - - - Callback to perform any necessary cleanup of the underlying cache implementation during SessionFactory.close(). - - - - - Caches data that is sometimes updated without ever locking the cache. - If concurrent access to an item is possible, this concurrency strategy - makes no guarantee that the item returned from the cache is the latest - version available in the database. Configure your cache timeout accordingly! - This is an "asynchronous" concurrency strategy. - for a much stricter algorithm - - - - - Get the most recent version, if available. - - - - - Add an item to the cache - - - - - Do nothing - - - - - Invalidate the item - - - - - Invalidate the item - - - - - Do nothing - - - - - Invalidate the item (again, for safety). - - - - - Invalidate the item (again, for safety). - - - - - Do nothing - - - - - Gets the cache region name. - - - - - Initializes a new instance of the class. - - the session factory for this query key, required to get the identifiers of entities that are used as values. - The query string. - The query parameters. - The filters. - - - - Caches data that is never updated - - - - - Unsupported! - - - - - Unsupported! - - - - - Unsupported! - - - - - Do nothing. - - - - - Do nothing. - - - - - Do nothing. - - - - - Unsupported! - - - - - Gets the cache region name. - - - - - The standard implementation of the Hibernate - interface. This implementation is very good at recognizing stale query - results and re-running queries when it detects this condition, recaching - the new results. - - - - - Standard Hibernate implementation of the IQueryCacheFactory interface. Returns - instances of . - - - - - Generates increasing identifiers (in a single application domain only). - - - Not valid across multiple application domains. Identifiers are not necessarily - strictly increasing, but usually are. - - - - - - - - - - - - - - Tracks the timestamps of the most recent updates to particular tables. It is - important that the cache timeout of the underlying cache implementation be set - to a higher value than the timeouts of any of the query caches. In fact, we - recommend that the the underlying cache not be configured for expiry at all. - Note, in particular, that an LRU cache expiry policy is never appropriate. - - - - - - - - Helper to parse hibernate-configuration XmlNode. - - - - - The XML node name for hibernate configuration section in the App.config/Web.config and - for the hibernate.cfg.xml . - - - - The XML Namespace for the nhibernate-configuration - - - XPath expression for bytecode-provider property. - - - XPath expression for reflection-optimizer property. - - - XPath expression for session-factory whole node. - - - XPath expression for session-factory.property nodes - - - XPath expression for session-factory.mapping nodes - - - XPath expression for session-factory.class-cache nodes - - - XPath expression for session-factory.collection-cache nodes - - - XPath expression for session-factory.event nodes - - - XPath expression for session-factory.listener nodes - - - - Convert a string to . - - The string that represent . - - The converted to . - - If the values is invalid. - - See for allowed values. - - - - - Convert a string to . - - The string that represent . - - The converted to . - - If the values is invalid. - - See for allowed values. - - - - - Values for class-cache include. - - Not implemented in Cache. - - - Xml value: all - - - Xml value: non-lazy - - - - Configuration parsed values for a class-cache XML node. - - - - - Initializes a new instance of the class. - - The class full name. - Cache strategy. - When is null or empty. - - - - Initializes a new instance of the class. - - The class full name. - Cache strategy. - Values for class-cache include. - When is null or empty. - - - - Initializes a new instance of the class. - - The class full name. - Cache strategy. - The cache region. - When is null or empty. - - - - Initializes a new instance of the class. - - The class full name. - Cache strategy. - Values for class-cache include. - The cache region. - When is null or empty. - - - - The class full name. - - - - - The cache region. - - If null or empty the is used during configuration. - - - - Cache strategy. - - - - - class-cache include. - - - Not implemented in Cache. - Default value . - - - - - Configuration parsed values for a collection-cache XML node. - - - - - Initializes a new instance of the class. - - The cache role. - Cache strategy. - When is null or empty. - - - - Initializes a new instance of the class. - - The cache role. - Cache strategy. - The cache region. - When is null or empty. - - - - The role. - - - - - The cache region. - - If null or empty the is used during configuration. - - - - Cache strategy. - - - - - Configuration parsed values for a event XML node. - - - - - Initializes a new instance of the class. - - The listener. - The type. - - - - The default type of listeners. - - - - - Listeners for this event. - - - - - Values for bytecode-provider system property. - - - - Xml value: codedom - - - Xml value: lcg - - - Xml value: null - - - - Configuration parsed values for hibernate-configuration section. - - - - - Initializes a new instance of the class. - - The XML reader to parse. - - The nhibernate-configuration.xsd is applied to the XML. - - When nhibernate-configuration.xsd can't be applied. - - - - Value for bytecode-provider system property. - - Default value . - - - - Value for reflection-optimizer system property. - - Default value true. - - - - The if the session-factory exists in hibernate-configuration; - Otherwise null. - - - - - Configuration parsed values for a listener XML node - - - - - Initializes a new instance of the class. - - The class full name. - When is null or empty. - - - - Initializes a new instance of the class. - - The class full name. - The listener type. - When is null or empty. - - - - The class full name. - - - - - The listener type. - - Default value mean that the value is ignored. - - - - Configuration parsed values for a mapping XML node - - - There are 3 possible combinations of mapping attributes - 1 - resource and assembly: NHibernate will read the mapping resource from the specified assembly - 2 - file only: NHibernate will read the mapping from the file. - 3 - assembly only: NHibernate will find all the resources ending in hbm.xml from the assembly. - - - - - Initializes a new instance of the class. - - Mapped file. - When is null or empty. - - - - Initializes a new instance of the class. - - The assembly name. - The mapped embedded resource. - When is null or empty. - - - - Configuration parsed values for a session-factory XML node. - - - - - The session factory name. - - - - - Session factory propeties bag. - - - - - Session factory mapping configuration. - - - - - Session factory class-cache configurations. - - - - - Session factory collection-cache configurations. - - - - - Session factory event configurations. - - - - - Session factory listener configurations. - - - - - The session factory name. - - - - - Session factory propeties bag. - - - - - Session factory mapping configuration. - - - - - Session factory class-cache configurations. - - - - - Session factory collection-cache configurations. - - - - - Session factory event configurations. - - - - - Session factory listener configurations. - - - - - Initializes a new instance of the class. - - The session factory name. Null or empty string are allowed. - - - - Add a type-definition for mappings. - - The peristent type. - The where add the type-definition. - The custom configuration action. - The . - - - - - Depending on where you will use the type-definition in the mapping the - can be : - - - - - - - - - - - - - - - - - - - - - Define the dialect to use. - - The dialect implementation inherited from . - The fluent configuration itself. - - - - Maximum depth of outer join fetching - - - 0 (zero) disable the usage of OuterJoinFetching - - - - - Set the SessionFactory mnemonic name. - - The mnemonic name. - The fluent configuration itself. - - The SessionFactory mnemonic name can be used as a surrogate key in a multi-DB application. - - - - - DataBase integration configuration. - - - - - Cache configuration. - - - - - Properties of TypeDef configuration. - - - - - - The key to use the type-definition inside not strongly typed mappings (XML mapping). - - - - - An which public properties are used as - type-definition pareneters or null where type-definition does not need parameters or you want use default values. - - - - As an anonimous object can be used: - - configure.TypeDefinition<TableHiLoGenerator>(c=> - { - c.Alias = "HighLow"; - c.Properties = new {max_lo = 99}; - }); - - - - - - - Responsible for checking that a resource name matches the default pattern of "*.hbm.xml". This is the - default filter for . - - - - - Responsible for determining whether an embedded resource should be parsed for HBM XML data while - iterating through an . - - - - - - - - Implemented by any mapping elemes supports simple and/or multicolumn mapping. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - A base class for HBM schema classes that provides helper methods. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - The relation of the element of the collection. - - - Can be one of: HbmCompositeElement, HbmElement, HbmManyToAny, HbmManyToMany, HbmOneToMany... - according to the type of the collection. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Columns and Formulas, in declared order - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Responsible for converting a of HBM XML into an instance of - . - - - - - Responsible for building a list of objects from a range of acceptable - sources. - - - - - Calls the greedy constructor, passing it new instances of and - . - - - - Adds any embedded resource streams which pass the . - An assembly containing embedded mapping documents. - A custom filter. - - - Adds any embedded resource streams which pass the default filter. - An assembly containing embedded mapping documents. - - - - Responsible for converting a of HBM XML into an instance of - . - - Uses an to deserialize HBM. - - - - Converts a partial class name into a fully qualified one - - - - - - - - Converts a partial class name into a fully one - - - - The class FullName (without the assembly) - - The FullName is equivalent to the default entity-name - - - - - Attempts to find a type by its full name. Throws a - using the provided in case of failure. - - name of the class to find - Error message to use for - the in case of failure. Should contain - the {0} formatting placeholder. - A instance. - - Thrown when there is an error loading the class. - - - - - Similar to , but handles short class names - by calling . - - - - - - - - - Called for all collections. parameter - was added in NH to allow for reflection related to generic types. - - - - - Called for arrays and primitive arrays - - - - - Called for Maps - - - - - Called for all collections - - - - - Bind columns and formulas in the order in which they were mapped. - - - - - - - - Extracts the names of classes mapped in a given file, - and the names of the classes they extend. - - - - - Returns a collection of containing - information about all classes in this stream. - - A validated representing - a mapping file. - - - - Holds information about mapped classes found in the hbm.xml files. - - - - - Allows the application to specify properties and mapping documents to be used when creating - a . - - - - Usually an application will create a single , build a single instance - of , and then instantiate objects in threads - servicing client requests. - - - The is meant only as an initialization-time object. - is immutable and does not retain any association back to the - - - - - Default name for hibernate configuration file. - - - - Clear the internal state of the object. - - - - - Create a new Configuration object. - - - - - Get the mapping for a particular class - - - - Get the mapping for a particular entity - An entity name. - the entity mapping information - - - - Get the mapping for a particular collection role - - a collection role - - - - - Read mappings from a particular XML file. This method is equivalent - to . - - - - - - - Read mappings from a particular XML file. - - a path to a file - This configuration object. - - - - Read mappings from a . This method is equivalent to - . - - an XML string - The name to use in error reporting. May be . - This configuration object. - - - - Read mappings from a . - - an XML string - This configuration object. - - - - Read mappings from a URL. - - a URL - This configuration object. - - - - Read mappings from a URL. - - a to read the mappings from. - This configuration object. - - - - Read mappings from an . - - A loaded that contains the mappings. - The name of the document, for error reporting purposes. - This configuration object. - - - - Takes the validated XmlDocument and has the Binder do its work of - creating Mapping objects from the Mapping Xml. - - The NamedXmlDocument that contains the validated mapping XML file. - - - - Add mapping data using deserialized class. - - Mapping metadata. - XML file's name where available; otherwise null. - - - - Create a new to add classes and collection - mappings to. - - - - - Read mappings from a . - - The stream containing XML - This Configuration object. - - The passed in through the parameter - is not guaranteed to be cleaned up by this method. It is the caller's responsiblity to - ensure that is properly handled when this method - completes. - - - - - Read mappings from a . - - The stream containing XML - The name of the stream to use in error reporting. May be . - This Configuration object. - - The passed in through the parameter - is not guaranteed to be cleaned up by this method. It is the caller's responsiblity to - ensure that is properly handled when this method - completes. - - - - - Adds the mappings in the resource of the assembly. - - The path to the resource file in the assembly. - The assembly that contains the resource file. - This configuration object. - - - - Adds the mappings from embedded resources of the assembly. - - Paths to the resource files in the assembly. - The assembly that contains the resource files. - This configuration object. - - - - Read a mapping from an embedded resource, using a convention. - - The type to map. - This configuration object. - - The convention is for class Foo.Bar.Foo to be mapped by - the resource named Foo.Bar.Foo.hbm.xml, embedded in - the class' assembly. If the mappings and classes are defined - in different assemblies or don't follow the naming convention, - this method cannot be used. - - - - - Adds all of the assembly's embedded resources whose names end with .hbm.xml. - - The name of the assembly to load. - This configuration object. - - The assembly must be loadable using . If this - condition is not satisfied, load the assembly manually and call - instead. - - - - - Adds all of the assembly's embedded resources whose names end with .hbm.xml. - - The assembly. - This configuration object. - - - - Read all mapping documents from a directory tree. Assume that any - file named *.hbm.xml is a mapping document. - - a directory - - - - Generate DDL for dropping tables - - - - - - Generate DDL for creating tables - - - - - - Call this to ensure the mappings are fully compiled/built. Usefull to ensure getting - access to all information in the metamodel when calling e.g. getClassMappings(). - - - - - This method may be called many times!! - - - - - Instantiate a new , using the properties and mappings in this - configuration. The will be immutable, so changes made to the - configuration after building the will not affect it. - - An instance. - - - - Set the default assembly to use for the mappings added to the configuration - afterwards. - - The default assembly name. - This configuration instance. - - This setting can be overridden for a mapping file by setting default-assembly - attribute of <hibernate-mapping> element. - - - - - Set the default namespace to use for the mappings added to the configuration - afterwards. - - The default namespace. - This configuration instance. - - This setting can be overridden for a mapping file by setting default-namespace - attribute of <hibernate-mapping> element. - - - - - Sets the default interceptor for use by all sessions. - - The default interceptor. - This configuration instance. - - - - Specify a completely new set of properties - - - - - Adds an of configuration properties. The - Key is the name of the Property and the Value is the - value of the Property. - - An of configuration properties. - - This object. - - - - - Sets the value of the configuration property. - - The name of the property. - The value of the property. - - This configuration object. - - - - - Gets the value of the configuration property. - - The name of the property. - The configured value of the property, or if the property was not specified. - - - - Configure NHibernate using the <hibernate-configuration> section - from the application config file, if found, or the file hibernate.cfg.xml if the - <hibernate-configuration> section not include the session-factory configuration. - - A configuration object initialized with the file. - - To configure NHibernate explicitly using hibernate.cfg.xml, appling merge/override - of the application configuration file, use this code: - - configuration.Configure("path/to/hibernate.cfg.xml"); - - - - - - Configure NHibernate using the file specified. - - The location of the XML file to use to configure NHibernate. - A Configuration object initialized with the file. - - Calling Configure(string) will override/merge the values set in app.config or web.config - - - - - Configure NHibernate using a resource contained in an Assembly. - - The that contains the resource. - The name of the manifest resource being requested. - A Configuration object initialized from the manifest resource. - - Calling Configure(Assembly, string) will overwrite the values set in app.config or web.config - - - - - Configure NHibernate using the specified XmlReader. - - The that contains the Xml to configure NHibernate. - A Configuration object initialized with the file. - - Calling Configure(XmlReader) will overwrite the values set in app.config or web.config - - - - - Set up a cache for an entity class - - - - - Set up a cache for a collection role - - - - - Create an object-oriented view of the configuration properties - - A object initialized from the settings properties. - - - - Set a custom naming strategy - - the NamingStrategy to set - - - - - Load and validate the mappings in the against - the nhibernate-mapping-2.2 schema, without adding them to the configuration. - - - This method is made public to be usable from the unit tests. It is not intended - to be called by end users. - - The XmlReader that contains the mapping. - The name of the document, for error reporting purposes. - NamedXmlDocument containing the validated XmlDocument built from the XmlReader. - - - - Adds the Mappings in the after validating it - against the nhibernate-mapping-2.2 schema. - - The XmlReader that contains the mapping. - This Configuration object. - - - - Adds the Mappings in the after validating it - against the nhibernate-mapping-2.2 schema. - - The XmlReader that contains the mapping. - The name of the document to use for error reporting. May be . - This Configuration object. - - - - Set or clear listener for a given . - - The . - The array of AssemblyQualifiedName of each listener for . - - must implements the interface related with . - All listeners of the given will be cleared if the - is null or empty. - - - when an element of have an invalid value or cant be instantiated. - - - - - Set or clear listener for a given . - - The . - The listener for or null to clear. - must implements the interface related with . - - - - - Set or clear listeners for a given . - - The . - The listener for or null to clear. - Listeners of must implements one of the interface of event listenesr. - - - - - Append the listeners to the end of the currently configured - listeners - - - - - Generate DDL for altering tables - - - - - - The class mappings - - - - - The collection mappings - - - - - The table mappings - - - - - The named queries - - - - - Retrieve the user-supplied delegate to handle non-existent entity scenarios. - - - Specify a user-supplied delegate to be used to handle scenarios where an entity could not be - located by specified id. This is mainly intended for EJB3 implementations to be able to - control how proxy initialization errors should be handled... - - - - - Gets or sets the to use. - - The to use. - - - - Gets or sets the that contains the configuration - properties and their values. - - - The that contains the configuration - properties and their values. - - - - - Get the query language imports (entityName/className -> AssemblyQualifiedName) - - - - - The named SQL queries - - - - - Naming strategy for tables and columns - - - - - Defines operations common to "compiled" mappings (ie. SessionFactory) and - "uncompiled" mappings (ie Configuration that are used by implementors of IType - - - - - Summary description for ConfigurationSectionHandler. - - - - - The default - - See for a better alternative - - - - A set of rules for determining the physical column and table names given the information in the mapping - document. May be used to implement project-scoped naming standards for database objects. - - - - - Return a table name for an entity class - - the fully-qualified class name - a table name - - - - Return a column name for a property path expression - - a property path - a column name - - - - Alter the table name given in the mapping document - - a table name - a table name - - - - Alter the column name given in the mapping document - - a column name - a column name - - - - Return a table name for a collection - - the fully-qualified name of the owning entity class - a property path - a table name - - - - Return the logical column name used to refer to a column in the metadata - (like index, unique constraints etc) - A full bijection is required between logicalNames and physical ones - logicalName have to be case insersitively unique for a given table - - given column name if any - property name of this column - - - - The singleton instance - - - - - Return the unqualified class name - - - - - - - Return the unqualified property name - - - - - - - Return the argument - - - - - - - Return the argument - - - - - - - Return the unqualified property name - - - - - - - - Values for class-cache and collection-cache strategy. - - - - Xml value: read-only - - - Xml value: read-write - - - Xml value: nonstrict-read-write - - - Xml value: transactional - - - - Helper to parse to and from XML string value. - - - - - Convert a in its xml expected value. - - The to convert. - The . - - - - Convert a string to . - - The string that represent . - - The converted to . - - If the values is invalid. - - See for allowed values. - - - - - Provides access to configuration information. - - - NHibernate has two property scopes: - - - Factory-level properties may be passed to the when it is - instantiated. Each instance might have different property values. If no properties are - specified, the factory gets them from Environment - - - System-level properties are shared by all factory instances and are always determined - by the properties - - - In NHibernate, <hibernate-configuration> section in the application configuration file - corresponds to Java system-level properties; <session-factory> - section is the session-factory-level configuration. - - It is possible to use the application configuration file (App.config) together with the NHibernate - configuration file (hibernate.cfg.xml) at the same time. - Properties in hibernate.cfg.xml override/merge properties in application configuration file where same - property is found. For others configuration a merge is applied. - - - - - Used to find the .Net 2.0 named connection string - - - - A default database schema (owner) name to use for unqualified tablenames - - - A default database catalog name to use for unqualified tablenames - - - The EntityMode in which set the Session opened from the SessionFactory. - - - Enable formatting of SQL logged to the console - - - Should named queries be checked during startup (the default is enabled). - Mainly intended for test environments. - - - Enable statistics collection - - - - Issue warnings to user when any obsolete property names are used. - - - - - - - NHibernate version (informational). - - - - - Gets a copy of the configuration found in <hibernate-configuration> section - of app.config/web.config. - - - This is the replacement for hibernate.properties - - - - - The bytecode provider to use. - - - This property is read from the <nhibernate> section - of the application configuration file by default. Since it is not - always convenient to configure NHibernate through the application - configuration file, it is also possible to set the property value - manually. This should only be done before a configuration object - is created, otherwise the change may not take effect. - - - - - Whether to enable the use of reflection optimizer - - - This property is read from the <nhibernate> section - of the application configuration file by default. Since it is not - always convenient to configure NHibernate through the application - configuration file, it is also possible to set the property value - manually. This should only be done before a configuration object - is created, otherwise the change may not take effect. - - - - - Represents a mapping queued for delayed processing to await - processing of an extends entity upon which it depends. - - - - - An exception that occurs at configuration time, rather than runtime, as a result of - something screwy in the hibernate.cfg.xml. - - - - - An exception that usually occurs at configuration time, rather than runtime, as a result of - something screwy in the O-R mappings - - - - - Initializes a new instance of the class. - - The message that describes the error. - - - - Initializes a new instance of the class. - - - The exception that is the cause of the current exception. If the innerException parameter - is not a null reference, the current exception is raised in a catch block that handles - the inner exception. - - - - - Initializes a new instance of the class. - - The message that describes the error. - - The exception that is the cause of the current exception. If the innerException parameter - is not a null reference, the current exception is raised in a catch block that handles - the inner exception. - - - - - Initializes a new instance of the class - with serialized data. - - - The that holds the serialized object - data about the exception being thrown. - - - The that contains contextual information about the source or destination. - - - - - Initializes a new instance of the class. - - Default message is used. - - - - Initializes a new instance of the class. - - - The exception that is the cause of the current exception. If the innerException parameter - is not a null reference, the current exception is raised in a catch block that handles - the inner exception. - - - - - Initializes a new instance of the class. - - The message that describes the error. - - - - Initializes a new instance of the class. - - The message that describes the error. - - The exception that is the cause of the current exception. If the innerException parameter - is not a null reference, the current exception is raised in a catch block that handles - the inner exception. - - - - - Initializes a new instance of the class - with serialized data. - - - The that holds the serialized object - data about the exception being thrown. - - - The that contains contextual information about the source or destination. - - - - - Summary description for ImprovedNamingStrategy. - - - - - The singleton instance - - - - - Return the unqualified class name, mixed case converted to underscores - - - - - - - Return the full property path with underscore separators, mixed case converted to underscores - - - - - - - Convert mixed case to underscores - - - - - - - Convert mixed case to underscores - - - - - - - Return the full property path prefixed by the unqualified class name, with underscore separators, mixed case converted to underscores - - - - - - - - A collection of mappings from classes and collections to relational database tables. - - Represents a single <hibernate-mapping> element. - - - - Binding table between the logical column name and the name out of the naming strategy - for each table. - According that when the column name is not set, the property name is considered as such - This means that while theoretically possible through the naming strategy contract, it is - forbidden to have 2 real columns having the same logical name - - - - - Binding between logical table name and physical one (ie after the naming strategy has been applied) - - - - - - - - - - - - - - - - - Adds an import to allow for the full class name Namespace.Entity (AssemblyQualifiedName) - to be referenced as Entity or some other name in HQL. - - The name of the type that is being renamed. - The new name to use in HQL for the type. - Thrown when the rename already identifies another type. - - - - - - - - - The default namespace for persistent classes - - - - - The default assembly for persistent classes - - - - - - - - - - - Gets or sets a boolean indicating if the Fully Qualified Type name should - automatically have an import added as the class name. - - if the class name should be used as an import. - - Auto-import is used to shorten the string used to refer to types to just their - unqualified name. So if the type MyAssembly.MyNamespace.MyClass, MyAssembly has - auto-import="false" then all use of it in HQL would need to be the fully qualified - version MyAssembly.MyNamespace.MyClass. If auto-import="true", the type could - be referred to in HQL as just MyClass. - - - - - Queues mapping files according to their dependency order. - - - - - Adds the specified document to the queue. - - - - - Gets a that can now be processed (i.e. - that doesn't depend on classes not yet processed). - - - - - - Checks that no unprocessed documents remain in the queue. - - - - - Holds information about mapped classes found in an embedded resource - - - - - Gets the names of all entities outside this resource - needed by the classes in this resource. - - - - - Gets the names of all entities in this resource - - - - - Settings that affect the behavior of NHibernate at runtime. - - - - - Get the registry to provide Hql-Generators for known properties/methods. - - - - - Reads configuration properties and configures a instance. - - - - - Provides callbacks from the to the persistent object. Persistent classes may - implement this interface but they are not required to. - - - - , , and are intended to be used - to cascade saves and deletions of dependent objects. This is an alternative to declaring cascaded - operations in the mapping file. - - - may be used to initialize transient properties of the object from its persistent - state. It may not be used to load dependent objects since the interface - may not be invoked from inside this method. - - - A further intended usage of , , and - is to store a reference to the for later use. - - - If , , or return - , the operation is silently vetoed. If a - is thrown, the operation is vetoed and the exception is passed back to the application. - - - Note that is called after an identifier is assigned to the object, except when - identity key generation is used. - - - - - - Called when an entity is saved - - The session - If we should veto the save - - - - Called when an entity is passed to . - - The session - A value indicating whether the operation - should be vetoed or allowed to proceed. - - This method is not called every time the object's state is - persisted during a flush. - - - - - Called when an entity is deleted - - The session - A value indicating whether the operation - should be vetoed or allowed to proceed. - - - - Called after an entity is loaded. - - - It is illegal to access the from inside this method.. - However, the object may keep a reference to the session for later use - - The session - The identifier - - - - Veto the action - - - - - Accept the action - - - - - Implemented by persistent classes with invariants that must be checked before inserting - into or updating the database - - - - - Validate the state of the object before persisting it. If a violation occurs, - throw a . This method must not change the state of the object - by side-effect. - - - - - Thrown from when an invariant was violated. Some applications - might subclass this exception in order to provide more information about the violation - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The message that describes the error. - - - - Initializes a new instance of the class. - - - The exception that is the cause of the current exception. If the innerException parameter - is not a null reference, the current exception is raised in a catch block that handles - the inner exception. - - - - - Initializes a new instance of the class. - - The message that describes the error. - - The exception that is the cause of the current exception. If the innerException parameter - is not a null reference, the current exception is raised in a catch block that handles - the inner exception. - - - - - Initializes a new instance of the class - with serialized data. - - - The that holds the serialized object - data about the exception being thrown. - - - The that contains contextual information about the source or destination. - - - - - An unordered, unkeyed collection that can contain the same element - multiple times. The .NET collections API, has no Bag. - Most developers seem to use to represent bag semantics, - so NHibernate follows this practice. - - The type of the element the bag should hold. - The underlying collection used is an - - - - An unordered, unkeyed collection that can contain the same element - multiple times. The .NET collections API has no Bag class. - Most developers seem to use s to represent bag semantics, - so NHibernate follows this practice. - - - - - Base class for implementing . - - - - - - Persistent collections are treated as value objects by NHibernate. - ie. they have no independent existence beyond the object holding - a reference to them. Unlike instances of entity classes, they are - automatically deleted when unreferenced and automatically become - persistent when held by a persistent object. Collections can be - passed between different objects (change "roles") and this might - cause their elements to move from one database table to another. - - - NHibernate "wraps" a collection in an instance of - . This mechanism is designed - to support tracking of changes to the collection's persistent - state and lazy instantiation of collection elements. The downside - is that only certain abstract collection types are supported and - any extra semantics are lost. - - - Applications should never use classes in this namespace - directly, unless extending the "framework" here. - - - Changes to structure of the collection are recorded by the - collection calling back to the session. Changes to mutable - elements (ie. composite elements) are discovered by cloning their - state when the collection is initialized and comparing at flush - time. - - - - - - Return the user-visible collection (or array) instance - - - By default, the NHibernate wrapper is an acceptable collection for - the end user code to work with because it is interface compatible. - An NHibernate PersistentList is an IList, an NHibernate PersistentMap is an IDictionary - and those are the types user code is expecting. - - - - After flushing, re-init snapshot state. - - - - Clears out any Queued Additions. - - - After a Flush() the database is in synch with the in-memory - contents of the Collection. Since everything is in synch remove - any Queued Additions. - - - - - Called just before reading any rows from the - - - - - Called after reading all rows from the - - - This should be overridden by sub collections that use temporary collections - to store values read from the db. - - - true if NOT has Queued operations - - - - - Called after initializing from cache - - - true if NOT has Queued operations - - - - - Disassociate this collection from the given session. - - - true if this was currently associated with the given session - - - - Associate the collection with the given session. - - - false if the collection was already associated with the session - - - - Read the state of the collection from a disassembled cached value. - - - - - - - - Iterate all collection entries, during update of the database - - - An that gives access to all entries - in the collection. - - - - - Reads the row from the . - - - This method should be prepared to handle duplicate elements caused by fetching multiple collections, - or should be updated - to return for the collection type. - - The IDataReader that contains the value of the Identifier - The persister for this Collection. - The descriptor providing result set column names - The owner of this Collection. - The object that was contained in the row. - - - - Get the identifier of the given collection entry - - - - - Get the index of the given collection entry - - - - - Get the value of the given collection entry - - - - - Get the snapshot value of the given collection entry - - - - - Called before any elements are read into the collection, - allowing appropriate initializations to occur. - - The for this persistent collection. - The anticipated size of the collection after initilization is complete. - - - - Does the current state exactly match the snapshot? - - The to compare the elements of the Collection. - - if the wrapped collection is different than the snapshot - of the collection or if one of the elements in the collection is - dirty. - - - - Is the snapshot empty? - - - - Disassemble the collection, ready for the cache - - The for this Collection. - The contents of the persistent collection in a cacheable form. - - - - Gets a indicating if the rows for this collection - need to be recreated in the table. - - The for this Collection. - - by default since most collections can determine which rows need to be - individually updated/inserted/deleted. Currently only 's for many-to-many - need to be recreated. - - - - - Return a new snapshot of the current state of the collection - - - - - To be called internally by the session, forcing - immediate initalization. - - - This method is similar to , except that different exceptions are thrown. - - - - - Does an element exist at this entry in the collection? - - - - - Do we need to insert this element? - - - - - Do we need to update this element? - - - - - Get all the elements that need deleting - - - - - Is this the wrapper for the given underlying collection instance? - - The collection to see if this IPersistentCollection is wrapping. - - if the IPersistentCollection is wrappping the collection instance, - otherwise. - - - - Get the "queued" orphans - - - - Clear the dirty flag, after flushing changes - to the database. - - - - - Mark the collection as dirty - - - - - Called before inserting rows, to ensure that any surrogate keys are fully generated - - - - - - Called after inserting a row, to fetch the natively generated id - - - - - Get all "orphaned" elements - - The snapshot of the collection. - The persistent class whose objects - the collection is expected to contain. - - An that contains all of the elements - that have been orphaned. - - - - - The owning entity. - - - Note that the owner is only set during the flush - cycle, and when a new collection wrapper is created - while loading an entity. - - - - Get the current collection key value - - - Get the current role name - - - Is the collection unreferenced? - - - - Is the collection dirty? Note that this is only - reliable during the flush cycle, after the - collection elements are dirty checked against - the snapshot. - - - - Get the snapshot cached by the collection instance - - - - Is the initialized collection empty? - - - - - Gets a indicating if the underlying collection is directly - accessible through code. - - - if we are not guaranteed that the NHibernate collection wrapper - is being used. - - - This is typically whenever a transient object that contains a collection is being - associated with an through or . - NHibernate can't guarantee that it will know about all operations that would cause NHibernate's collections - to call or . - - - - - - - - - - - - - - Not called by Hibernate, but used by non-NET serialization, eg. SOAP libraries. - - - - - Return the user-visible collection (or array) instance - - - By default, the NHibernate wrapper is an acceptable collection for - the end user code to work with because it is interface compatible. - An NHibernate PersistentList is an IList, an NHibernate PersistentMap is an IDictionary - and those are the types user code is expecting. - - - - - Called by any read-only method of the collection interface - - - - Called by the Count property - - - - Called by any writer method of the collection interface - - - - - Queue an addition, delete etc. if the persistent collection supports it - - - - - After reading all existing elements from the database, - add the queued elements to the underlying collection. - - - - - Clears out any Queued operation. - - - After flushing, clear any "queued" additions, since the - database state is now synchronized with the memory state. - - - - - Called just before reading any rows from the - - - - - Called after reading all rows from the - - - This should be overridden by sub collections that use temporary collections - to store values read from the db. - - - - - Initialize the collection, if possible, wrapping any exceptions - in a runtime exception - - currently obsolete - if we cannot initialize - - - - Mark the collection as initialized. - - - - - Disassociate this collection from the given session. - - - true if this was currently associated with the given session - - - - Associate the collection with the given session. - - - false if the collection was already associated with the session - - - - Gets a indicating if the rows for this collection - need to be recreated in the table. - - The for this Collection. - - by default since most collections can determine which rows need to be - individually updated/inserted/deleted. Currently only 's for many-to-many - need to be recreated. - - - - - To be called internally by the session, forcing - immediate initalization. - - - This method is similar to , except that different exceptions are thrown. - - - - - Gets the Snapshot from the current session the collection is in. - - - - - Called before inserting rows, to ensure that any surrogate keys are fully generated - - - - - - Called after inserting a row, to fetch the natively generated id - - - - - Get all "orphaned" elements - - - - - Given a collection of entity instances that used to - belong to the collection, and a collection of instances - that currently belong, return a collection of orphans - - - - - Disassemble the collection, ready for the cache - - - - - - - Is this the wrapper for the given underlying collection instance? - - - - - - - Does an element exist at this entry in the collection? - - - - - - - - Get all the elements that need deleting - - - - - Read the state of the collection from a disassembled cached value. - - - - - - - - Do we need to update this element? - - - - - - - - - Reads the row from the . - - The IDataReader that contains the value of the Identifier - The persister for this Collection. - The descriptor providing result set column names - The owner of this Collection. - The object that was contained in the row. - - - - Do we need to insert this element? - - - - - - - - - Get the index of the given collection entry - - - - - Called before any elements are read into the collection, - allowing appropriate initializations to occur. - - The underlying collection persister. - The anticipated size of the collection after initilization is complete. - - - - Is the collection currently connected to an open session? - - - - - Is this collection in a state that would allow us to "queue" additions? - - - - Is this collection in a state that would allow us to - "queue" puts? This is a special case, because of orphan - delete. - - - - Is this collection in a state that would allow us to - "queue" clear? This is a special case, because of orphan - delete. - - - - Is this the "inverse" end of a bidirectional association? - - - - Is this the "inverse" end of a bidirectional association with - no orphan delete enabled? - - - - - Is this the "inverse" end of a bidirectional one-to-many, or - of a collection with no orphan delete? - - - - - - - - Is the initialized collection empty? - - - - - Gets a indicating if the underlying collection is directly - accessible through code. - - - if we are not guaranteed that the NHibernate collection wrapper - is being used. - - - This is typically whenever a transient object that contains a collection is being - associated with an through or . - NHibernate can't guarantee that it will know about all operations that would cause NHibernate's collections - to call or . - - - - Is this instance initialized? - - - Does this instance have any "queued" additions? - - - - - - - Counts the number of times that the occurs - in the . - - The element to find in the list. - The to search. - The that can determine equality. - The entity mode. - - The number of occurrences of the element in the list. - - - - - Initializes this PersistentBag from the cached values. - - The CollectionPersister to use to reassemble the PersistentBag. - The disassembled PersistentBag. - The owner object. - - - - Gets a indicating if this PersistentBag needs to be recreated - in the database. - - - - if this is a one-to-many Bag, if this is not - a one-to-many Bag. Since a Bag is an unordered, unindexed collection - that permits duplicates it is not possible to determine what has changed in a - many-to-many so it is just recreated. - - - - - Implements "bag" semantics more efficiently than by adding - a synthetic identifier column to the table. - - - - The identifier is unique for all rows in the table, allowing very efficient - updates and deletes. The value of the identifier is never exposed to the - application. - - - Identifier bags may not be used for a many-to-one association. Furthermore, - there is no reason to use inverse="true". - - - - - - Implements "bag" semantics more efficiently than a regular - by adding a synthetic identifier column to the table. - - - - The identifier is unique for all rows in the table, allowing very efficient - updates and deletes. The value of the identifier is never exposed to the - application. - - - PersistentIdentifierBags may not be used for a many-to-one association. - Furthermore, there is no reason to use inverse="true". - - - - - - Initializes this Bag from the cached values. - - The CollectionPersister to use to reassemble the PersistentIdentifierBag. - The disassembled PersistentIdentifierBag. - The owner object. - - - - A persistent wrapper for an - - The type of the element the list should hold. - The underlying collection used is a - - - - A persistent wrapper for an - - - The underlying collection used in an . - - - - - Initializes an instance of the - in the . - - The the list is in. - - - - Initializes an instance of the - that wraps an existing in the . - - The the list is in. - The to wrap. - - - - Initializes this PersistentList from the cached values. - - The CollectionPersister to use to reassemble the PersistentList. - The disassembled PersistentList. - The owner object. - - - - A persistent wrapper for a . Underlying - collection is a - - The type of the keys in the IDictionary. - The type of the elements in the IDictionary. - - - - A persistent wrapper for a . Underlying collection - is a . - - - - - Construct an uninitialized PersistentMap. - - The ISession the PersistentMap should be a part of. - - - - Construct an initialized PersistentMap based off the values from the existing IDictionary. - - The ISession the PersistentMap should be a part of. - The IDictionary that contains the initial values. - - - - Initializes this PersistentMap from the cached values. - - The CollectionPersister to use to reassemble the PersistentMap. - The disassembled PersistentMap. - The owner object. - - - - .NET has no design equivalent for Java's Set so we are going to use the - Iesi.Collections library. This class is internal to NHibernate and shouldn't - be used by user code. - - - The code for the Iesi.Collections library was taken from the article - Add Support for "Set" Collections - to .NET that was written by JasonSmith. - - - - - .NET has no design equivalent for Java's Set so we are going to use the - Iesi.Collections library. This class is internal to NHibernate and shouldn't - be used by user code. - - - The code for the Iesi.Collections library was taken from the article - Add Support for "Set" Collections - to .NET that was written by JasonSmith. - - - - - The that NHibernate is wrapping. - - - - - A temporary list that holds the objects while the PersistentSet is being - populated from the database. - - - This is necessary to ensure that the object being added to the PersistentSet doesn't - have its' GetHashCode() and Equals() methods called during the load - process. - - - - - Constructor matching super. - Instantiates a lazy set (the underlying set is un-initialized). - - The session to which this set will belong. - - - - Instantiates a non-lazy set (the underlying set is constructed - from the incoming set reference). - - The session to which this set will belong. - The underlying set data. - - - - Initializes this PersistentSet from the cached values. - - The CollectionPersister to use to reassemble the PersistentSet. - The disassembled PersistentSet. - The owner object. - - - - Set up the temporary List that will be used in the EndRead() - to fully create the set. - - - - - Takes the contents stored in the temporary list created during BeginRead() - that was populated during ReadFrom() and write it to the underlying - PersistentSet. - - - - - A persistent wrapper for an array. lazy initialization is NOT supported - - Use of Hibernate arrays is not really recommended. - - - - A temporary list that holds the objects while the PersistentArrayHolder is being - populated from the database. - - - - - Returns the user-visible portion of the NHibernate PersistentArrayHolder. - - - The array that contains the data, not the NHibernate wrapper. - - - - - Before is called the PersistentArrayHolder needs to setup - a temporary list to hold the objects. - - - - - Takes the contents stored in the temporary list created during - that was populated during and write it to the underlying - array. - - - - - Initializes this array holder from the cached values. - - The CollectionPersister to use to reassemble the Array. - The disassembled Array. - The owner object. - - - - Gets or sets the array. - - The array. - - - - The base class for the ConnectionProvider. - - - - - A strategy for obtaining ADO.NET . - - - The IConnectionProvider interface is not intended to be exposed to the application. - Instead it is used internally by NHibernate to obtain . - Implementors should provide a public default constructor. - - - - - Initialize the connection provider from the given properties. - - The connection provider settings - - - - Dispose of a used - - The to clean up. - - - - Get an open . - - An open . - - - - Gets the this ConnectionProvider should use to - communicate with the .NET Data Provider - - - The to communicate with the .NET Data Provider. - - - - - Closes the . - - The to clean up. - - - - Configures the ConnectionProvider with the Driver and the ConnectionString. - - An that contains the settings for this ConnectionProvider. - - Thrown when a could not be found - in the settings parameter or the Driver Class could not be loaded. - - - - - Get the .NET 2.0 named connection string - - - Thrown when a was found - in the settings parameter but could not be found in the app.config - - - - - Configures the driver for the ConnectionProvider. - - An that contains the settings for the Driver. - - Thrown when the could not be - found in the settings parameter or there is a problem with creating - the . - - - - - Get an open . - - An open . - - - - A flag to indicate if Disose() has been called. - - - - - Finalizer that ensures the object is correctly disposed of. - - - - - Takes care of freeing the managed and unmanaged resources that - this class is responsible for. - - - - - Takes care of freeing the managed and unmanaged resources that - this class is responsible for. - - Indicates if this ConnectionProvider is being Disposed of or Finalized. - -

- If this ConnectionProvider is being Finalized (isDisposing==false) then make - sure not to call any methods that could potentially bring this - ConnectionProvider back to life. -

-

- If any subclasses manage resources that also need to be disposed of this method - should be overridden, but don't forget to call it in the override. -

-
-
- - - Gets the for the - to connect to the database. - - - The for the - to connect to the database. - - - - - Gets the that can create the object. - - - The that can create the . - - - - - Instanciates a connection provider given configuration properties. - - - - - A ConnectionProvider that uses an IDriver to create connections. - - - - - Closes and Disposes of the . - - The to clean up. - - - - Gets a new open through - the . - - - An Open . - - - If there is any problem creating or opening the . - - - - - An implementation of the IConnectionProvider that simply throws an exception when - a connection is requested. - - - This implementation indicates that the user is expected to supply an ADO.NET connection - - - - - Throws an if this method is called - because the user is responsible for closing s. - - The to clean up. - - Thrown when this method is called. User is responsible for closing - s. - - - - - Throws an if this method is called - because the user is responsible for creating s. - - - No value is returned because an is thrown. - - - Thrown when this method is called. User is responsible for creating - s. - - - - - Configures the ConnectionProvider with only the Driver class. - - - - All other settings of the Connection are the responsibility of the User since they configured - NHibernate to use a Connection supplied by the User. - - - - - Provides a current session - for each . - Not recommended for .NET 2.0 web applications. - - - - - Extends the contract defined by - by providing methods to bind and unbind sessions to the current context. - - - The notion of a contextual session is managed by some external entity - (generally some form of interceptor like the HttpModule). - This external manager is responsible for scoping these contextual sessions - appropriately binding/unbinding them here for exposure to the application - through calls. - - - - - Defines the contract for implementations which know how to - scope the notion of a current session. - - - - Implementations should adhere to the following: - - contain a constructor accepting a single argument of type - - should be thread safe - should be fully serializable - - - - Implementors should be aware that they are also fully responsible for - cleanup of any generated current-sessions. - - - Note that there will be exactly one instance of the configured - ICurrentSessionContext implementation per . - - - It is recommended to inherit from the class - whenever possible as it simplifies the implementation and provides - single entry point with session binding support. - - - - - - Retrieve the current session according to the scoping defined - by this implementation. - - The current session. - Typically indicates an issue - locating or creating the current session. - - - - Retrieve the current session according to the scoping defined - by this implementation. - - The current session. - Indicates an issue - locating the current session. - - - - Binds the specified session to the current context. - - - - - Returns whether there is a session bound to the current context. - - - - - Unbinds and returns the current session. - - - - Gets or sets the currently bound session. - - - - Get the dicitonary mapping session factory to its current session. - - - - - Set the map mapping session factory to its current session. - - - - - Gets or sets the currently bound session. - - - - - The key is the session factory and the value is the bound session. - - - - - The key is the session factory and the value is the bound session. - - - - - Provides a current session - for each System.Web.HttpContext. - Works only with Web Applications. - - - - - This class allows access to the HttpContext without referring to HttpContext at compile time. - The accessors are cached as delegates for performance. - - - - - A impl which scopes the notion of current - session by the current thread of execution. Threads do not give us a - nice hook to perform any type of cleanup making - it questionable for this impl to actually generate Session instances. In - the interest of usability, it was decided to have this default impl - actually generate a session upon first request and then clean it up - after the associated with that session - is committed/rolled-back. In order for ensuring that happens, the sessions - generated here are unusable until after {@link Session#beginTransaction()} - has been called. If Close() is called on a session managed by - this class, it will be automatically unbound. -

- Additionally, the static and methods are - provided to allow application code to explicitly control opening and - closing of these sessions. This, with some from of interception, - is the preferred approach. It also allows easy framework integration - and one possible approach for implementing long-sessions. -

-

-
- - - Unassociate a previously bound session from the current thread of execution. - - - - - - - Provides a current session - for each thread using the []. - To avoid if there are two session factories in the same thread. - - - - Gets or sets the currently bound session. - - - - Provides a current session - for the current OperationContext in WCF. Works only during the lifetime of a WCF operation. - - - - - Provides a current session - for each System.Web.HttpContext. Works only with web applications. - - - - - Constructed with property name - - - - - Apply a "between" constraint to the named property - - - - - Apply an "in" constraint to the named property - - - - - Apply an "in" constraint to the named property - - - - - Apply an "in" constraint to the named property - - - - - A case-insensitive "like", similar to Postgres "ilike" operator - - - - - A case-insensitive "like", similar to Postgres "ilike" operator - - - - - Apply a "like" constraint to the named property - - - - - Apply a "like" constraint to the named property - - - - - Apply a "like" constraint to the named property - - - - - Apply an "is empty" constraint to the named property - - - - - Apply a "not is empty" constraint to the named property - - - - - Apply an "is null" constraint to the named property - - - - - Apply an "not is null" constraint to the named property - - - - - Constructed with property name - - - - - Add a property equal subquery criterion - - detached subquery - - - - Add a property equal all subquery criterion - - detached subquery - - - - Create a property greater than or equal subquery criterion - - detached subquery - - - - Create a property greater than or equal all subquery criterion - - detached subquery - - - - Create a property greater than or equal some subquery criterion - - detached subquery - - - - Create a property greater than subquery criterion - - detached subquery - - - - Create a property greater than all subquery criterion - - detached subquery - - - - Create a property greater than some subquery criterion - - detached subquery - - - - Create a property in subquery criterion - - detached subquery - - - - Create a property less than or equal subquery criterion - - detached subquery - - - - Create a property less than or equal all subquery criterion - - detached subquery - - - - Create a property less than or equal some subquery criterion - - detached subquery - - - - Create a property less than subquery criterion - - detached subquery - - - - Create a property less than all subquery criterion - - detached subquery - - - - Create a property less than some subquery criterion - - detached subquery - - - - Create a property not equal subquery criterion - - detached subquery - - - - Create a property not in subquery criterion - - detached subquery - - - - Create an alias for the previous projection - - - - - Select an arbitrary projection - - - - - A property average value - - - - - A property average value - - - - - A property value count - - - - - A property value count - - - - - A distinct property value count - - - - - A distinct property value count - - - - - A grouping property value - - - - - A grouping property value - - - - - A property maximum value - - - - - A property maximum value - - - - - A property minimum value - - - - - A property minimum value - - - - - A projected property value - - - - - A projected property value - - - - - A property value sum - - - - - A property value sum - - - - - Constructed with property name - - - - - Apply a "between" constraint to the named property - - - - - Apply an "in" constraint to the named property - - - - - Apply an "in" constraint to the named property - - - - - Apply an "in" constraint to the named property - - - - - A case-insensitive "like", similar to Postgres "ilike" operator - - - - - A case-insensitive "like", similar to Postgres "ilike" operator - - - - - Apply a "like" constraint to the named property - - - - - Apply a "like" constraint to the named property - - - - - Apply a "like" constraint to the named property - - - - - Apply an "is empty" constraint to the named property - - - - - Apply a "not is empty" constraint to the named property - - - - - Apply an "is null" constraint to the named property - - - - - Apply an "not is null" constraint to the named property - - - - - Add an Exists subquery criterion - - - - - Add a NotExists subquery criterion - - - - - Subquery expression in the format - .Where(t => t.Property [==, !=, >, etc.] detachedQueryOver.As<propertyType>()) - - - - - Subquery expression in the format - .Where(() => alias.Property [==, !=, >, etc.] detachedQueryOver.As<propertyType>()) - - - - - Subquery expression in the format - .WhereAll(t => t.Property [==, !=, >, etc.] detachedQueryOver.As<propertyType>()) - - - - - Subquery expression in the format - .WhereAll(() => alias.Property [==, !=, >, etc.] detachedQueryOver.As<propertyType>()) - - - - - Subquery expression in the format - .WhereSome(t => t.Property [==, !=, >, etc.] detachedQueryOver.As<propertyType>()) - - - - - Subquery expression in the format - .WhereSome(() => alias.Property [==, !=, >, etc.] detachedQueryOver.As<propertyType>()) - - - - - Add a property equal subquery criterion - - detached subquery - - - - Add a property equal all subquery criterion - - detached subquery - - - - Create a property greater than or equal subquery criterion - - detached subquery - - - - Create a property greater than or equal all subquery criterion - - detached subquery - - - - Create a property greater than or equal some subquery criterion - - detached subquery - - - - Create a property greater than subquery criterion - - detached subquery - - - - Create a property greater than all subquery criterion - - detached subquery - - - - Create a property greater than some subquery criterion - - detached subquery - - - - Create a property in subquery criterion - - detached subquery - - - - Create a property less than or equal subquery criterion - - detached subquery - - - - Create a property less than or equal all subquery criterion - - detached subquery - - - - Create a property less than or equal some subquery criterion - - detached subquery - - - - Create a property less than subquery criterion - - detached subquery - - - - Create a property less than all subquery criterion - - detached subquery - - - - Create a property less than some subquery criterion - - detached subquery - - - - Create a property not equal subquery criterion - - detached subquery - - - - Create a property not in subquery criterion - - detached subquery - - - - Base class for implementations. - - - - - An object-oriented representation of a query criterion that may be used as a constraint - in a query. - - - Built-in criterion types are provided by the Expression factory class. - This interface might be implemented by application classes but, more commonly, application - criterion types would extend AbstractCriterion. - - - - - Render a SqlString fragment for the expression. - - A SqlString that contains a valid Sql fragment. - - - - Return typed values for all parameters in the rendered SQL fragment - - An array of TypedValues for the Expression. - - - - Return all projections used in this criterion - - An array of IProjection used by the Expression. - - - - Gets a string representation of the . - - - A String that shows the contents of the . - - - This is not a well formed Sql fragment. It is useful for logging what the - looks like. - - - - - Render a SqlString for the expression. - - A SqlString that contains a valid Sql fragment. - - - - Return typed values for all parameters in the rendered SQL fragment - - An array of TypedValues for the Expression. - - - - Return all projections used in this criterion - - An array of IProjection used by the Expression. - - - - See here for details: - http://steve.emxsoftware.com/NET/Overloading+the++and++operators - - - - - See here for details: - http://steve.emxsoftware.com/NET/Overloading+the++and++operators - - - - - An Aggregation - - - - - A single-column projection that may be aliased - - - - - An "enhanced" Projection for a query. - - - - - Render the SQL Fragment. - - The criteria. - The position. - The criteria query. - The enabled filters. - - - - - Render the SQL Fragment to be used in the Group By Clause. - - The criteria. - The criteria query. - The enabled filters. - - - - - Return types for a particular user-visible alias - - - - - - - - - - - - - - - - - Get the SQL select clause column aliases for a particular user-visible alias - - - - - - - Get the SQL select clause column aliases for a particular user-visible alias - - - - - - - - Gets the typed values for parameters in this projection - - The criteria. - The criteria query. - - - - - Get the user-visible aliases for this projection (ie. the ones that will be passed to the ResultTransformer) - - - - - Does this projection specify grouping attributes? - - - - - Does this projection specify aggregate attributes? - - - - - Get the SQL column aliases used by this projection for the columns it writes for inclusion into the - SELECT clause . NHibernate always uses column aliases - to extract data from the , so it is important that these be implemented - correctly in order for NHibernate to be able to extract these values correctly. - - Just as in , represents the number of columns rendered prior to this projection. - The local criteria to which this project is attached (for resolution). - The overall criteria query instance. - The columns aliases. - - - - Get the SQL column aliases used by this projection for the columns it writes for inclusion into the - SELECT clause () for a particular criteria-level alias. - - The criteria-level alias. - Just as in , represents the number of columns rendered prior to this projection. - The local criteria to which this project is attached (for resolution). - The overall criteria query instance. - The columns aliases. - - - - Gets the typed values for parameters in this projection - - The criteria. - The criteria query. - - - - - Gets the typed values for parameters in this projection - - The criteria. - The criteria query. - - - - - An that combines two s - with an and between them. - - - - - An that combines two s - with a operator (either "and" or "or") between them. - - - - - Initialize a new instance of the class that - combines two other s. - - The to use in the Left Hand Side. - The to use in the Right Hand Side. - - - - Combines the for the Left Hand Side and the - Right Hand Side of the Expression into one array. - - An array of s. - - - - Converts the LogicalExpression to a . - - A well formed SqlString for the Where clause. - The SqlString will be enclosed by ( and ). - - - - Gets a string representation of the LogicalExpression. - - - The String contains the LeftHandSide.ToString() and the RightHandSide.ToString() - joined by the Op. - - - This is not a well formed Sql fragment. It is useful for logging what Expressions - are being combined. - - - - - Gets the that will be on the Left Hand Side of the Op. - - - - - Gets the that will be on the Right Hand Side of the Op. - - - - - Get the Sql operator to put between the two s. - - - - - Initializes a new instance of the class - that combines two . - - The to use as the left hand side. - The to use as the right hand side. - - - - Get the Sql operator to put between the two s. - - The string "and" - - - - An that represents a "between" constraint. - - - - - Initializes a new instance of the class. - - The _projection. - The _lo. - The _hi. - - - - Initialize a new instance of the class for - the named Property. - - The name of the Property of the Class. - The low value for the BetweenExpression. - The high value for the BetweenExpression. - - - - Casting a value from one type to another, at the database - level - - - - - An that Junctions together multiple - s with an and - - - - - A sequence of logical s combined by some associative - logical operator. - - - - - Adds an to the list of s - to junction together. - - The to add. - - This instance. - - - - - Adds an to the list of s - to junction together. - - - - - Adds an to the list of s - to junction together. - - - - - Get the Sql operator to put between multiple s. - - - - - The corresponding to an instance with no added - subcriteria. - - - - - Get the Sql operator to put between multiple s. - - The string " and " - - - - This is useful if we want to send a value to the database - - - - - A Count - - - - The alias that refers to the "root" entity of the criteria query. - - - Each row of results is a from alias to entity instance - - - Each row of results is an instance of the root entity - - - Each row of results is a distinct instance of the root entity - - - This result transformer is selected implicitly by calling - - - Specifies joining to an entity based on an inner join. - - - Specifies joining to an entity based on a full join. - - - Specifies joining to an entity based on a left outer join. - - - - Some applications need to create criteria queries in "detached - mode", where the Hibernate session is not available. This class - may be instantiated anywhere, and then a ICriteria - may be obtained by passing a session to - GetExecutableCriteria(). All methods have the - same semantics and behavior as the corresponding methods of the - ICriteria interface. - - - - - Get an executable instance of Criteria, - to actually run the query. - - - - Get an executable instance of Criteria, - to actually run the query. - - - - Gets the root entity type if available, throws otherwise - - - This is an NHibernate specific method, used by several dependent - frameworks for advance integration with NHibernate. - - - - - Clear all orders from criteria. - - - - - An that Junctions together multiple - s with an or - - - - - Get the Sql operator to put between multiple s. - - The string " or " - - - - Gets the typed values for parameters in this projection - - The criteria. - The criteria query. - - - - - An that represents an "equal" constraint - between two properties. - - - - - Superclass for an that represents a - constraint between two properties (with SQL binary operators). - - - - - Initializes a new instance of the class. - - The projection. - Name of the RHS property. - - - - Initializes a new instance of the class. - - The LHS projection. - The RHS projection. - - - - Initializes a new instance of the class. - - Name of the LHS property. - Name of the RHS property. - - - - Initializes a new instance of the class. - - Name of the LHS property. - The RHS projection. - - - - - - - Get the Sql operator to use for the property expression. - - - - - Initializes a new instance of the class. - - Name of the LHS property. - The RHS projection. - - - - Initializes a new instance of the class. - - The LHS projection. - The RHS projection. - - - - Initializes a new instance of the class. - - The projection. - Name of the RHS property. - - - - Initializes a new instance of the class - that compares two mapped properties using an "equal" constraint. - - The name of the Property to use as the left hand side. - The name of the Property to use as the right hand side. - - - - Get the Sql operator to use for the . - - The string " = " - - - - Support for Query By Example. - - - - List results = session.CreateCriteria(typeof(Parent)) - .Add( Example.Create(parent).IgnoreCase() ) - .CreateCriteria("child") - .Add( Example.Create( parent.Child ) ) - .List(); - - - - "Examples" may be mixed and matched with "Expressions" in the same - - - - - Set escape character for "like" clause - - - - Set the for this . - - The to determine which properties to include. - This instance. - - This should be used when a custom has - been implemented. Otherwise use the methods - or to set the - to the s built into NHibernate. - - - - - Set the for this - to exclude zero-valued properties. - - - - - Set the for this - to exclude no properties. - - - - - Use the "like" operator for all string-valued properties with - the specified . - - - The to convert the string to the pattern - for the like comparison. - - - - - Use the "like" operator for all string-valued properties. - - - The default is MatchMode.Exact. - - - - - Exclude a particular named property - - The name of the property to exclude. - - - - Create a new instance, which includes all non-null properties - by default - - - A new instance of . - - - - Initialize a new instance of the class for a particular - entity. - - The that the Example is being built from. - The the Example should use. - - - - Determines if the property should be included in the Query. - - The value of the property. - The name of the property. - The of the property. - - if the Property should be included, if - the Property should not be a part of the Query. - - - - - Adds a based on the value - and type parameters to the in the - list parameter. - - The value of the Property. - The of the Property. - The to add the to. - - This method will add objects to the list parameter. - - - - - A strategy for choosing property values for inclusion in the query criteria - - - - - Determine if the Property should be included. - - The value of the property that is being checked for inclusion. - The name of the property that is being checked for inclusion. - The of the property. - - if the Property should be included in the Query, - otherwise. - - - - - Implementation of that includes all - properties regardless of value. - - - - - Implementation of that includes the - properties that are not and do not have an - returned by propertyValue.ToString(). - - - This selector is not present in H2.1. It may be useful if nullable types - are used for some properties. - - - - - This class is semi-deprecated. Use . - - - - - - The namespace may be used by applications as a framework for building - new kinds of . - However, it is intended that most applications will - simply use the built-in criterion types via the static factory methods of this class. - - - - - - - Apply an "equal" constraint to the identifier property - - - ICriterion - - - - Apply an "equal" constraint from the projection to the identifier property - - The projection. - ICriterion - - - - Apply an "equal" constraint to the named property - - The name of the Property in the class. - The value for the Property. - - - - Apply an "equal" constraint to the projection - - The projection. - The value for the Property. - - - - Apply a "like" constraint to the named property - - The name of the Property in the class. - The value for the Property. - A . - - - - Apply a "like" constraint to the project - - The projection. - The value for the Property. - A . - - - - Apply a "like" constraint to the project - - The projection. - The value for the Property. - The match mode. - A . - - - - A case-insensitive "like", similar to Postgres "ilike" operator - - The name of the Property in the class. - The value for the Property. - An . - - - - A case-insensitive "like", similar to Postgres "ilike" operator - - The projection. - The value for the Property. - - An . - - - - - Apply a "greater than" constraint to the named property - - The name of the Property in the class. - The value for the Property. - - - - Apply a "greater than" constraint to the projection - - The projection. - The value for the Property. - - - - Apply a "less than" constraint to the named property - - The name of the Property in the class. - The value for the Property. - - - - Apply a "less than" constraint to the projection - - The projection. - The value for the Property. - - - - Apply a "less than or equal" constraint to the named property - - The name of the Property in the class. - The value for the Property. - - - - Apply a "less than or equal" constraint to the projection - - The projection. - The value for the Property. - - - - Apply a "greater than or equal" constraint to the named property - - The name of the Property in the class. - The value for the Property. - - - - Apply a "greater than or equal" constraint to the projection - - The projection. - The value for the Property. - - - - Apply a "between" constraint to the named property - - The name of the Property in the class. - The low value for the Property. - The high value for the Property. - A . - - - - Apply a "between" constraint to the projection - - The projection. - The low value for the Property. - The high value for the Property. - A . - - - - Apply an "in" constraint to the named property - - The name of the Property in the class. - An array of values. - An . - - - - Apply an "in" constraint to the projection - - The projection. - An array of values. - An . - - - - Apply an "in" constraint to the projection - - The projection. - An ICollection of values. - An . - - - - Apply an "in" constraint to the named property - - The name of the Property in the class. - An ICollection of values. - An . - - - - Apply an "in" constraint to the named property. This is the generic equivalent - of , renamed to avoid ambiguity. - - The name of the Property in the class. - An - of values. - An . - - - - Apply an "in" constraint to the projection. This is the generic equivalent - of , renamed to avoid ambiguity. - - - The projection. - An - of values. - An . - - - - Apply an "is null" constraint to the named property - - The name of the Property in the class. - A . - - - - Apply an "is null" constraint to the projection - - The projection. - A . - - - - Apply an "equal" constraint to two properties - - The lhs Property Name - The rhs Property Name - A . - - - - Apply an "equal" constraint to projection and property - - The projection. - The rhs Property Name - A . - - - - Apply an "equal" constraint to lshProjection and rshProjection - - The LHS projection. - The RSH projection. - A . - - - - Apply an "equal" constraint to the property and rshProjection - - Name of the property. - The RSH projection. - A . - - - - Apply an "not equal" constraint to two properties - - The lhs Property Name - The rhs Property Name - A . - - - - Apply an "not equal" constraint to projection and property - - The projection. - The rhs Property Name - A . - - - - Apply an "not equal" constraint to the projections - - The LHS projection. - The RHS projection. - A . - - - - Apply an "not equal" constraint to the projections - - Name of the property. - The RHS projection. - A . - - - - Apply a "greater than" constraint to two properties - - The lhs Property Name - The rhs Property Name - A . - - - - Apply a "greater than" constraint to two properties - - The projection. - The rhs Property Name - A . - - - - Apply a "greater than" constraint to two properties - - Name of the property. - The projection. - A . - - - - Apply a "greater than" constraint to two properties - - The LHS projection. - The RHS projection. - A . - - - - Apply a "greater than or equal" constraint to two properties - - The lhs Property Name - The rhs Property Name - A . - - - - Apply a "greater than or equal" constraint to two properties - - The LHS projection. - The RHS projection. - A . - - - - Apply a "greater than or equal" constraint to two properties - - The projection. - The rhs Property Name - A . - - - - Apply a "greater than or equal" constraint to two properties - - The lhs Property Name - The projection. - A . - - - - Apply a "less than" constraint to two properties - - The lhs Property Name - The rhs Property Name - A . - - - - Apply a "less than" constraint to two properties - - The projection. - The rhs Property Name - A . - - - - Apply a "less than" constraint to two properties - - The lhs Property Name - The projection. - A . - - - - Apply a "less than" constraint to two properties - - The LHS projection. - The RHS projection. - A . - - - - Apply a "less than or equal" constraint to two properties - - The lhs Property Name - The rhs Property Name - A . - - - - Apply a "less than or equal" constraint to two properties - - The projection. - The rhs Property Name - A . - - - - Apply a "less than or equal" constraint to two properties - - The lhs Property Name - The projection. - A . - - - - Apply a "less than or equal" constraint to two properties - - The LHS projection. - The RHS projection. - A . - - - - Apply an "is not null" constraint to the named property - - The name of the Property in the class. - A . - - - - Apply an "is not null" constraint to the named property - - The projection. - A . - - - - Apply an "is not empty" constraint to the named property - - The name of the Property in the class. - A . - - - - Apply an "is not empty" constraint to the named property - - The name of the Property in the class. - A . - - - - Return the conjunction of two expressions - - The Expression to use as the Left Hand Side. - The Expression to use as the Right Hand Side. - An . - - - - Return the disjuction of two expressions - - The Expression to use as the Left Hand Side. - The Expression to use as the Right Hand Side. - An . - - - - Return the negation of an expression - - The Expression to negate. - A . - - - - Group expressions together in a single conjunction (A and B and C...) - - - - - Group expressions together in a single disjunction (A or B or C...) - - - - - Apply an "equals" constraint to each property in the key set of a IDictionary - - a dictionary from property names to values - - - - - Create an ICriterion for the supplied LambdaExpression - - generic type - lambda expression - return NHibernate.Criterion.ICriterion - - - - Create an ICriterion for the supplied LambdaExpression - - lambda expression - return NHibernate.Criterion.ICriterion - - - - Create an ICriterion for the negation of the supplied LambdaExpression - - generic type - lambda expression - return NHibernate.Criterion.ICriterion - - - - Create an ICriterion for the negation of the supplied LambdaExpression - - lambda expression - return NHibernate.Criterion.ICriterion - - - - Build an ICriterion for the given property - - lambda expression identifying property - returns LambdaRestrictionBuilder - - - - Build an ICriterion for the given property - - lambda expression identifying property - returns LambdaRestrictionBuilder - - - - Apply a constraint expressed in SQL, with the given SQL parameters - - - - - - - - - Apply a constraint expressed in SQL, with the given SQL parameter - - - - - - - - - Apply a constraint expressed in SQL, with the given SQL parameter - - - - - Apply a constraint expressed in SQL - - - - - - - Apply a constraint expressed in SQL - - - - - - - An that represents an "greater than or equal" constraint - between two properties. - - - - - Initializes a new instance of the class. - - Name of the LHS property. - The RHS projection. - - - - Initializes a new instance of the class. - - The LHS projection. - The RHS projection. - - - - Initializes a new instance of the class. - - The projection. - Name of the RHS property. - - - - Initializes a new instance of the class - that compares two mapped properties using an "greater than or equal" constraint. - - The name of the Property to use as the left hand side. - The name of the Property to use as the right hand side. - - - - Get the Sql operator to use for the . - - The string " < " - - - - Gets the typed values for parameters in this projection - - The criteria. - The criteria query. - - - - - An that represents an "greater than" constraint - between two properties. - - - - - Initializes a new instance of the class. - - Name of the LHS property. - The RHS projection. - - - - Initializes a new instance of the class. - - The LHS projection. - The RHS projection. - - - - Initializes a new instance of the class. - - The projection. - Name of the RHS property. - - - - Initializes a new instance of the class - that compares two mapped properties using an "greater than" constraint. - - The name of the Property to use as the left hand side. - The name of the Property to use as the right hand side. - - - - Get the Sql operator to use for the . - - The string " < " - - - - An instance of is passed to criterion, - order and projection instances when actually compiling and - executing the query. This interface is not used by application - code. - - - - Get the name of the column mapped by a property path, ignoring projection alias - - - Get the names of the columns mapped by a property path, ignoring projection aliases - - - Get the type of a property path, ignoring projection aliases - - - Get the names of the columns mapped by a property path - - - Get the type of a property path - - - Get the a typed value for the given property value. - - - Get the entity name of an entity - - - - Get the entity name of an entity, taking into account - the qualifier of the property path - - - - Get the root table alias of an entity - - - - Get the root table alias of an entity, taking into account - the qualifier of the property path - - - - Get the property name, given a possibly qualified property name - - - Get the identifier column names of this entity - - - Get the identifier type of this entity - - - - Creates a dummy parameter index for the supplied paged value. - Returns null if the Dialect does not support limit parameters - - - - - An identifier constraint - - - - - An that constrains the property - to a specified list of values. - - - InExpression - should only be used with a Single Value column - no multicolumn properties... - - - - - Initializes a new instance of the class. - - The projection. - The _values. - - - - An that represents an "like" constraint - that is not case sensitive. - - - - - Initializes a new instance of the class. - - The projection. - The value. - The match mode. - - - - Initializes a new instance of the class. - - The projection. - The value. - - - - Initialize a new instance of the - class for a named Property and its value. - - The name of the Property in the class. - The value for the Property. - - - - An that represents empty association constraint. - - - - - An that represents non-empty association constraint. - - - - - An that represents an "less than or equal" constraint - between two properties. - - - - - Initializes a new instance of the class. - - Name of the LHS property. - The RHS projection. - - - - Initializes a new instance of the class. - - The LHS projection. - The RHS projection. - - - - Initializes a new instance of the class. - - The projection. - Name of the RHS property. - - - - Initializes a new instance of the class - that compares two mapped properties using an "less than or equal" constraint. - - The name of the Property to use as the left hand side. - The name of the Property to use as the right hand side. - - - - Get the Sql operator to use for the . - - The string " <= " - - - - An that represents an "like" constraint. - - - The case sensitivity depends on the database settings for string - comparisons. Use if the - string comparison should not be case sensitive. - - - - - An that represents an "less than" constraint - between two properties. - - - - - Initializes a new instance of the class. - - Name of the LHS property. - The RHS projection. - - - - Initializes a new instance of the class. - - The LHS projection. - The RHS projection. - - - - Initializes a new instance of the class. - - The projection. - Name of the RHS property. - - - - Initializes a new instance of the class - that compares two mapped properties using an "less than" constraint. - - The name of the Property to use as the left hand side. - The name of the Property to use as the right hand side. - - - - Get the Sql operator to use for the . - - The string " < " - - - - Represents an strategy for matching strings using "like". - - - - - Initialize a new instance of the class. - - The code that identifies the match mode. - The friendly name of the match mode. - - The parameter intCode is used as the key of - to store instances and to ensure only instance of a particular - is created. - - - - - The string representation of the . - - The friendly name used to describe the . - - - - Convert the pattern, by appending/prepending "%" - - The string to convert to the appropriate match pattern. - - A that contains a "%" in the appropriate place - for the Match Strategy. - - - - - Match the entire string to the pattern - - - - - Match the start of the string to the pattern - - - - - Match the end of the string to the pattern - - - - - Match the pattern anywhere in the string - - - - - The that matches the entire string to the pattern. - - - - - Initialize a new instance of the class. - - - - - Converts the string to the Exact MatchMode. - - The string to convert to the appropriate match pattern. - The pattern exactly the same as it was passed in. - - - - The that matches the start of the string to the pattern. - - - - - Initialize a new instance of the class. - - - - - Converts the string to the Start MatchMode. - - The string to convert to the appropriate match pattern. - The pattern with a "%" appended at the end. - - - - The that matches the end of the string to the pattern. - - - - - Initialize a new instance of the class. - - - - - Converts the string to the End MatchMode. - - The string to convert to the appropriate match pattern. - The pattern with a "%" appended at the beginning. - - - - The that exactly matches the string - by appending "%" to the beginning and end. - - - - - Initialize a new instance of the class. - - - - - Converts the string to the Exact MatchMode. - - The string to convert to the appropriate match pattern. - The pattern with a "%" appended at the beginning and the end. - - - - An that negates another . - - - - - Initialize a new instance of the class for an - - - The to negate. - - - - An that represents "not null" constraint. - - - - - Initializes a new instance of the class. - - The projection. - - - - Initialize a new instance of the class for a named - Property that should not be null. - - The name of the Property in the class. - - - - An that represents "null" constraint. - - - - - Initializes a new instance of the class. - - The projection. - - - - Initialize a new instance of the class for a named - Property that should be null. - - The name of the Property in the class. - - - - - - - Represents an order imposed upon a - result set. - - - Should Order implement ICriteriaQuery? - - - - - Render the SQL fragment - - - - - Ascending order - - - - - - - Ascending order - - - - - - - Descending order - - - - - - - Descending order - - - - - - - An that combines two s with an - "or" between them. - - - - - Initialize a new instance of the class for - two s. - - The to use as the left hand side. - The to use as the right hand side. - - - - Get the Sql operator to put between the two s. - - Returns "or" - - - - Gets the typed values for parameters in this projection - - The criteria. - The criteria query. - - - - - The criterion package may be used by applications as a framework for building - new kinds of Projection. However, it is intended that most applications will - simply use the built-in projection types via the static factory methods of this class.
-
- The factory methods that take an alias allow the projected value to be referred to by - criterion and order instances. -
-
- - - Create a distinct projection from a projection - - - - - - - Create a new projection list - - - - - - The query row count, ie. count(*) - - The RowCount projection mapped to an . - - - - The query row count, ie. count(*) - - The RowCount projection mapped to an . - - - - A property value count - - - - - - - A property value count - - - - - - - A distinct property value count - - - - - - - A property maximum value - - - - - - - A projection maximum value - - - - - - - A property minimum value - - - - - - - A projection minimum value - - - - - - - A property average value - - - - - - - A property average value - - - - - - - A property value sum - - - - - - - A property value sum - - - - - - - A SQL projection, a typed select clause fragment - - - - - - - - - A grouping SQL projection, specifying both select clause and group by clause fragments - - - - - - - - - - A grouping property value - - - - - - - A grouping projection value - - - - - - - A projected property value - - - - - - - A projected identifier value - - - - - - Assign an alias to a projection, by wrapping it - - - - - - - - Casts the projection result to the specified type. - - The type. - The projection. - - - - - Return a constant value - - The obj. - - - - - Return a constant value - - The obj. - - - - - - Calls the named - - Name of the function. - The type. - The projections. - - - - - Calls the specified - - the function. - The type. - The projections. - - - - - Conditionally return the true or false part, dependention on the criterion - - The criterion. - The when true. - The when false. - - - - - A property average value - - - - - A property average value - - - - - A property value count - - - - - A property value count - - - - - A distinct property value count - - - - - A distinct property value count - - - - - A grouping property value - - - - - A grouping property value - - - - - A property maximum value - - - - - A property maximum value - - - - - A property minimum value - - - - - A property minimum value - - - - - A projected property value - - - - - A projected property value - - - - - A property value sum - - - - - A property value sum - - - - - Create an alias for a projection - - the projection instance - LambdaExpression returning an alias - return NHibernate.Criterion.IProjection - - - - A factory for property-specific AbstractCriterion and projection instances - - - - - A property value, or grouped property value - - - - - Get a component attribute of this property - - - - - A comparison between a property value in the outer query and the - result of a subquery - - - - - QueryOver<TRoot> is an API for retrieving entities by composing - objects expressed using Lambda expression syntax. - - - - IList<Cat> cats = session.QueryOver<Cat>() - .Where( c => c.Name == "Tigger" ) - .And( c => c.Weight > minWeight ) ) - .List(); - - - - - - Access the underlying ICriteria - - - - - Access the root underlying ICriteria - - - - - Get the results of the root type and fill the - - The list filled with the results. - - - - Get the results of the root type and fill the - - The list filled with the results. - - - - Clones the QueryOver, removes orders and paging, and projects the row-count - for the query - - - - - Clones the QueryOver, removes orders and paging, and projects the row-count (Int64) - for the query - - - - - Short for ToRowCountQuery().SingleOrDefault<int>() - - - - - Short for ToRowCountInt64Query().SingleOrDefault<long>() - - - - - Convenience method to return a single instance that matches - the query, or null if the query returns no results. - - the single result or - - If there is more than one matching result - - - - - Override type of . - - - - - Get a enumerable that when enumerated will execute - a batch of queries in a single database roundtrip - - - - - Get a enumerable that when enumerated will execute - a batch of queries in a single database roundtrip - - - - - Get an IFutureValue instance, whose value can be retrieved through - its Value property. The query is not executed until the Value property - is retrieved, which will execute other Future queries as well in a - single roundtrip - - - - - Get an IFutureValue instance, whose value can be retrieved through - its Value property. The query is not executed until the Value property - is retrieved, which will execute other Future queries as well in a - single roundtrip - - - - - Creates an exact clone of the IQueryOver - - - - - Clear all orders from the query. - - - - - Set the first result to be retrieved - - - - - - Set a limit upon the number of objects to be retrieved - - - - - - Enable caching of this query result set - - - - Override the cache mode for this particular query. - The cache mode to use. - this (for method chaining) - - - - Set the name of the cache region. - - the name of a query cache region, or - for the default query cache - - - - Get an executable instance of IQueryOver<TRoot>, - to actually run the query. - - - - Get an executable instance of IQueryOver<TRoot>, - to actually run the query. - - - - Clones the QueryOver, clears the orders and paging, and projects the RowCount - - - - - - Clones the QueryOver, clears the orders and paging, and projects the RowCount (Int64) - - - - - - Creates an exact clone of the QueryOver - - - - - Method to allow comparison of detached query in Lambda expression - e.g., p => p.Name == myQuery.As<string> - - type returned (projected) by query - throws an exception if evaluated directly at runtime. - - - - Implementation of the interface - - - - - QueryOver<TRoot,TSubType> is an API for retrieving entities by composing - objects expressed using Lambda expression syntax. - - - - IList<Cat> cats = session.QueryOver<Cat>() - .Where( c => c.Name == "Tigger" ) - .And( c => c.Weight > minWeight ) ) - .List(); - - - - - - Add criterion expressed as a lambda expression - - Lambda expression - criteria instance - - - - Add criterion expressed as a lambda expression - - Lambda expression - criteria instance - - - - Add arbitrary ICriterion (e.g., to allow protected member access) - - - - - Add negation of criterion expressed as a lambda expression - - Lambda expression - criteria instance - - - - Add negation of criterion expressed as a lambda expression - - Lambda expression - criteria instance - - - - Add restriction to a property - - Lambda expression containing path to property - criteria instance - - - - Add restriction to a property - - Lambda expression containing path to property - criteria instance - - - - Identical semantics to And() to allow more readable queries - - Lambda expression - criteria instance - - - - Identical semantics to And() to allow more readable queries - - Lambda expression - criteria instance - - - - Add arbitrary ICriterion (e.g., to allow protected member access) - - - - - Identical semantics to AndNot() to allow more readable queries - - Lambda expression - criteria instance - - - - Identical semantics to AndNot() to allow more readable queries - - Lambda expression - criteria instance - - - - Identical semantics to AndRestrictionOn() to allow more readable queries - - Lambda expression - criteria instance - - - - Identical semantics to AndRestrictionOn() to allow more readable queries - - Lambda expression - criteria instance - - - - Add projection expressed as a lambda expression - - Lambda expressions - criteria instance - - - - Add arbitrary IProjections to query - - - - - Create a list of projections using a projection builder - - - - - Add order expressed as a lambda expression - - Lambda expression - criteria instance - - - - Add order expressed as a lambda expression - - Lambda expression - criteria instance - - - - Order by arbitrary IProjection (e.g., to allow protected member access) - - - - - Add order for an aliased projection expressed as a lambda expression - - Lambda expression - criteria instance - - - - Add order expressed as a lambda expression - - Lambda expression - criteria instance - - - - Add order expressed as a lambda expression - - Lambda expression - criteria instance - - - - Order by arbitrary IProjection (e.g., to allow protected member access) - - - - - Add order for an aliased projection expressed as a lambda expression - - Lambda expression - criteria instance - - - - Transform the results using the supplied IResultTransformer - - - - - Specify an association fetching strategy. Currently, only - one-to-many and one-to-one associations are supported. - - A lambda expression path (e.g., ChildList[0].Granchildren[0].Pets). - - - - - Set the lock mode of the current entity - - - - - Set the lock mode of the aliased entity - - - - - Creates a new NHibernate.IQueryOver<TRoot, U>, "rooted" at the associated entity - - Type of sub-criteria - Lambda expression returning association path - The created "sub criteria" - - - - Creates a new NHibernate.IQueryOver<TRoot, U>, "rooted" at the associated entity - - Type of sub-criteria - Lambda expression returning association path - The created "sub criteria" - - - - Creates a new NHibernate.IQueryOver<TRoot, U>, "rooted" at the associated entity - - Type of sub-criteria - Lambda expression returning association path - Lambda expression returning alias reference - The created "sub criteria" - - - - Creates a new NHibernate.IQueryOver<TRoot, U>, "rooted" at the associated entity - - Type of sub-criteria - Lambda expression returning association path - Lambda expression returning alias reference - The created "sub criteria" - - - - Creates a new NHibernate.IQueryOver<TRoot, U>, "rooted" at the associated entity - - Type of sub-criteria - Lambda expression returning association path - Type of join - The created "sub criteria" - - - - Creates a new NHibernate.IQueryOver<TRoot, U>, "rooted" at the associated entity - - Type of sub-criteria - Lambda expression returning association path - Type of join - The created "sub criteria" - - - - Creates a new NHibernate.IQueryOver<TRoot, U>, "rooted" at the associated entity - - Type of sub-criteria - Lambda expression returning association path - Lambda expression returning alias reference - Type of join - The created "sub criteria" - - - - Creates a new NHibernate.IQueryOver<TRoot, U>, "rooted" at the associated entity - - Type of sub-criteria - Lambda expression returning association path - Lambda expression returning alias reference - Type of join - The created "sub criteria" - - - - Creates a new NHibernate.IQueryOver<TRoot, U>, "rooted" at the associated entity - specifying a collection for the join. - - Type of sub-criteria (type of the collection) - Lambda expression returning association path - The created "sub criteria" - - - - Creates a new NHibernate.IQueryOver<TRoot, U>, "rooted" at the associated entity - specifying a collection for the join. - - Type of sub-criteria (type of the collection) - Lambda expression returning association path - The created "sub criteria" - - - - Creates a new NHibernate.IQueryOver<TRoot, U>, "rooted" at the associated entity - specifying a collection for the join. - - Type of sub-criteria (type of the collection) - Lambda expression returning association path - Lambda expression returning alias reference - The created "sub criteria" - - - - Creates a new NHibernate.IQueryOver<TRoot, U>, "rooted" at the associated entity - specifying a collection for the join. - - Type of sub-criteria (type of the collection) - Lambda expression returning association path - Lambda expression returning alias reference - The created "sub criteria" - - - - Creates a new NHibernate.IQueryOver<TRoot, U>, "rooted" at the associated entity - specifying a collection for the join. - - Type of sub-criteria (type of the collection) - Lambda expression returning association path - Type of join - The created "sub criteria" - - - - Creates a new NHibernate.IQueryOver<TRoot, U>, "rooted" at the associated entity - specifying a collection for the join. - - Type of sub-criteria (type of the collection) - Lambda expression returning association path - Type of join - The created "sub criteria" - - - - Creates a new NHibernate.IQueryOver<TRoot, U>, "rooted" at the associated entity - specifying a collection for the join. - - Type of sub-criteria (type of the collection) - Lambda expression returning association path - Lambda expression returning alias reference - Type of join - The created "sub criteria" - - - - Creates a new NHibernate.IQueryOver<TRoot, U>, "rooted" at the associated entity - specifying a collection for the join. - - Type of sub-criteria (type of the collection) - Lambda expression returning association path - Lambda expression returning alias reference - Type of join - The created "sub criteria" - - - - Join an association, assigning an alias to the joined entity - - Lambda expression returning association path - Lambda expression returning alias reference - criteria instance - - - - Join an association, assigning an alias to the joined entity - - Lambda expression returning association path - Lambda expression returning alias reference - criteria instance - - - - Join an association, assigning an alias to the joined entity - - Lambda expression returning association path - Lambda expression returning alias reference - Type of join - criteria instance - - - - Join an association, assigning an alias to the joined entity - - Lambda expression returning association path - Lambda expression returning alias reference - Type of join - criteria instance - - - - Add a subquery expression - - - - - Apply a "like" restriction in a QueryOver expression - Note: throws an exception outside of a QueryOver expression - - - - - Apply a "like" restriction in a QueryOver expression - Note: throws an exception outside of a QueryOver expression - - - - - Apply a "like" restriction in a QueryOver expression - Note: throws an exception outside of a QueryOver expression - - - - - Apply a "like" restriction in a QueryOver expression - Note: throws an exception outside of a QueryOver expression - - - - - Apply a "like" restriction in a QueryOver expression - Note: throws an exception outside of a QueryOver expression - - - - - Apply an "in" constraint to the named property - Note: throws an exception outside of a QueryOver expression - - - - - Apply an "in" constraint to the named property - Note: throws an exception outside of a QueryOver expression - - - - - Apply a "between" constraint to the named property - Note: throws an exception outside of a QueryOver expression - - - - - A comparison between a property value in the outer query and the - result of a subquery - - - - - The base class for an that compares a single Property - to a value. - - - - - Initialize a new instance of the class for a named - Property and its value. - - The name of the Property in the class. - The value for the Property. - The SQL operation. - - - - Converts the SimpleExpression to a . - - A SqlString that contains a valid Sql fragment. - - - - Gets the named Property for the Expression. - - A string that is the name of the Property. - - - - Gets the Value for the Expression. - - An object that is the value for the Expression. - - - - Get the Sql operator to use for the specific - subclass of . - - - - - A comparison between a constant value and the the result of a subquery - - - - - An that creates a SQLExpression. - The string {alias} will be replaced by the alias of the root entity. - - - This allows for database specific Expressions at the cost of needing to - write a correct . - - - - - A SQL fragment. The string {alias} will be replaced by the alias of the root entity. - - - - - Gets the typed values for parameters in this projection - - The criteria. - The criteria query. - - - - - Factory class for AbstractCriterion instances that represent - involving subqueries. - Expression - Projection - AbstractCriterion - - - - - Create a ICriterion for the specified property subquery expression - - generic type - lambda expression - returns LambdaSubqueryBuilder - - - - Create a ICriterion for the specified property subquery expression - - lambda expression - returns LambdaSubqueryBuilder - - - - Create a ICriterion for the specified value subquery expression - - value - returns LambdaSubqueryBuilder - - - - Create ICriterion for subquery expression using lambda syntax - - type of property - lambda expression - NHibernate.ICriterion.AbstractCriterion - - - - Create ICriterion for (exact) subquery expression using lambda syntax - - lambda expression - NHibernate.ICriterion.AbstractCriterion - - - - Create ICriterion for (all) subquery expression using lambda syntax - - type of property - lambda expression - NHibernate.ICriterion.AbstractCriterion - - - - Create ICriterion for (all) subquery expression using lambda syntax - - lambda expression - NHibernate.ICriterion.AbstractCriterion - - - - Create ICriterion for (some) subquery expression using lambda syntax - - type of property - lambda expression - NHibernate.ICriterion.AbstractCriterion - - - - Create ICriterion for (some) subquery expression using lambda syntax - - lambda expression - NHibernate.ICriterion.AbstractCriterion - - - - Add an Exists subquery criterion - - - - - Add a NotExists subquery criterion - - - - - A property value, or grouped property value - - - - - Used to show a better debug display for dictionaries - - - - - - - - ::= - EXTRACT FROM - - ::= - | - - - - Represents HQL functions that can have different representations in different SQL dialects. - E.g. in HQL we can define function concat(?1, ?2) to concatenate two strings - p1 and p2. Target SQL function will be dialect-specific, e.g. (?1 || ?2) for - Oracle, concat(?1, ?2) for MySql, (?1 + ?2) for MS SQL. - Each dialect will define a template as a string (exactly like above) marking function - parameters with '?' followed by parameter's index (first index is 1). - - - - - Provides support routines for the HQL functions as used - in the various SQL Dialects - - Provides an interface for supporting various HQL functions that are - translated to SQL. The Dialect and its sub-classes use this interface to - provide details required for processing of the function. - - - - - The function return type - - The type of the first argument - - - - - - Render the function call as SQL. - - List of arguments - - SQL fragment for the fuction. - - - - Does this function have any arguments? - - - - - If there are no arguments, are parens required? - - - - - Applies the template to passed in arguments. - - args function arguments - generated SQL function call - - - - - ANSI-SQL substring - Documented in: - ANSI X3.135-1992 - American National Standard for Information Systems - Database Language - SQL - - - Syntax: - ::= - SUBSTRING FROM < start position> - [ FOR ] - ]]> - - - - - A SQLFunction implementation that emulates the ANSI SQL trim function - on dialects which do not support the full definition. However, this function - definition does assume the availability of ltrim, rtrim, and replace functions - which it uses in various combinations to emulate the desired ANSI trim() - functionality. - - - - - - - - - - - according to both the ANSI-SQL and EJB3 specs, trim can either take - exactly one parameter or a variable number of parameters between 1 and 4. - from the SQL spec: - ::= - TRIM - - ::= - [ [ ] [ ] FROM ] - - ::= - LEADING - | TRAILING - | BOTH - ]]> - If only trim specification is omitted, BOTH is assumed; - if trim character is omitted, space is assumed - - - - - ANSI-SQL style cast(foo as type) where the type is a NHibernate type - - - - - Emulation of locate() on Sybase - - - - - Initializes a new instance of the StandardSQLFunction class. - - SQL function name. - Whether the function accepts an asterisk (*) in place of arguments - - - - Initializes a new instance of the StandardSQLFunction class. - - SQL function name. - True if accept asterisk like argument - Return type for the fuction. - - - - Classic AVG sqlfunction that return types as it was done in Hibernate 3.1 - - - - - Classic COUNT sqlfunction that return types as it was done in Hibernate 3.1 - - - - - Classic SUM sqlfunction that return types as it was done in Hibernate 3.1 - - - - - Summary description for NoArgSQLFunction. - - - - - Emulation of coalesce() on Oracle, using multiple nvl() calls - - - - - Emulation of locate() on PostgreSQL - - - - - Provides a standard implementation that supports the majority of the HQL - functions that are translated to SQL. - - - The Dialect and its sub-classes use this class to provide details required - for processing of the associated function. - - - - - Provides a standard implementation that supports the majority of the HQL - functions that are translated to SQL. - - - The Dialect and its sub-classes use this class to provide details required - for processing of the associated function. - - - - - Initializes a new instance of the StandardSQLFunction class. - - SQL function name. - - - - Initializes a new instance of the StandardSQLFunction class. - - SQL function name. - Return type for the fuction. - - - - Initializes a new instance of the StandardSafeSQLFunction class. - - SQL function name. - Exact number of arguments expected. - - - - Initializes a new instance of the StandardSafeSQLFunction class. - - SQL function name. - Return type for the fuction. - Exact number of arguments expected. - - - - Support for slightly more general templating than StandardSQLFunction, - with an unlimited number of arguments. - - - - - A strategy abstraction for how locks are obtained in the underlying database. - - - All locking provided implemenations assume the underlying database supports - (and that the connection is in) at least read-committed transaction isolation. - The most glaring exclusion to this is HSQLDB which only offers support for - READ_UNCOMMITTED isolation. - - - - - - Acquire an appropriate type of lock on the underlying data that will - endure until the end of the current transaction. - - The id of the row to be locked - The current version (or null if not versioned) - The object logically being locked (currently not used) - The session from which the lock request originated - - - - A locking strategy where the locks are obtained through select statements. - - - - - For non-read locks, this is achieved through the Dialect's specific - SELECT ... FOR UPDATE syntax. - - - - - A locking strategy where the locks are obtained through update statements. - - This strategy is not valid for read style locks. - - - - Construct a locking strategy based on SQL UPDATE statements. - - The metadata for the entity to be locked. - Indictates the type of lock to be acquired. - - read-locks are not valid for this strategy. - - - - - Common implementation of schema reader. - - - This implementation of is based on the new of - .NET 2.0. - - - - - - This class is specific of NHibernate and supply DatabaseMetaData of Java. - In the .NET Framework, there is no direct equivalent. - - - Implementation is provide by a dialect. - - - - - Gets a description of the tables available for the catalog - - A catalog, retrieves those without a catalog - Schema pattern, retrieves those without the schema - A table name pattern - a list of table types to include - Each row - - - - Get the Table MetaData. - - The resultSet of . - Include FKs and indexes - - - - - Gets a description of the table columns available - - A catalog, retrieves those without a catalog - Schema pattern, retrieves those without the schema - A table name pattern - a columng name patterm - A description of the table columns available - - - - Get a description of the given table's indices and statistics. - - A catalog, retrieves those without a catalog - Schema pattern, retrieves those without the schema - A table name pattern - A description of the table's indices available - The result is relative to the schema collections "Indexes". - - - - Get a description of the given table's indices and statistics. - - A catalog, retrieves those without a catalog - Schema pattern, retrieves those without the schema - A table name pattern - The name of the index - A description of the table's indices available - The result is relative to the schema collections "IndexColumns". - - - - Gets a description of the foreign keys available - - A catalog, retrieves those without a catalog - Schema name, retrieves those without the schema - A table name - A description of the foreign keys available - - - - Get all reserved words - - A set of reserved words - - - - In the Java language, this field indicates that the database treats mixed-case, - quoted SQL identifiers as case-insensitive and stores them in mixed case. - - - - - In the Java language, this field indicates that the database treats mixed-case, - quoted SQL identifiers as case-insensitive and stores them in upper case. - - - - - In the Java language, this field indicates that the database treats mixed-case, - unquoted SQL identifiers as case-insensitive and stores them in upper case. - - - - - In the Java language, this field indicates that the database treats mixed-case, - quoted SQL identifiers as case-insensitive and stores them in lower case. - - - - - In the Java language, this field indicates that the database treats mixed-case, - unquoted SQL identifiers as case-insensitive and stores them in lower case, - - - - - The name of the column that represent the TABLE_NAME in the - returned by . - - - - - An SQL dialect for DB2 on iSeries OS/400. - - - The DB2400Dialect defaults the following configuration properties: - - - Property - Default Value - - - connection.driver_class - - - - - - - - An SQL dialect for DB2. - - - The DB2Dialect defaults the following configuration properties: - - - Property - Default Value - - - connection.driver_class - - - - - - - - Represents a dialect of SQL implemented by a particular RDBMS. Subclasses - implement NHibernate compatibility with different systems. - - - Subclasses should provide a public default constructor that Register() - a set of type mappings and default Hibernate properties. - - - - - - - - - - - Characters used for quoting sql identifiers - - - - - - - - - - - The base constructor for Dialect. - - - Every subclass should override this and call Register() with every except - , , , , - , . - - - The Default properties for this Dialect should also be set - such as whether or not to use outer-joins - and what the batch size should be. - - - - - Get an instance of the dialect specified by the current properties. - The specified Dialect - - - - Get de from a property bag (prop name ) - - The property bag. - An instance of . - When is null. - When the property bag don't contains de property . - - - - Get the name of the database type associated with the given - , - - The SqlType - The database type name used by ddl. - - - - Get the name of the database type associated with the given - . - - The SqlType - The datatype length - The datatype precision - The datatype scale - The database type name used by ddl. - - - - Get the name of the database type appropriate for casting operations - (via the CAST() SQL function) for the given typecode. - - The typecode - The database type name - - - - Subclasses register a typename for the given type code and maximum - column length. $l in the type name will be replaced by the column - length (if appropriate) - - The typecode - Maximum length of database type - The database type name - - - - Suclasses register a typename for the given type code. $l in the - typename will be replaced by the column length (if appropriate). - - The typecode - The database type name - - - - Get the name of the Hibernate associated with th given - typecode. - - The typecode - The Hibernate name. - - - - Get the name of the Hibernate associated - with the given typecode with the given storage - specification parameters. - - The typecode - The datatype length - The datatype precision - The datatype scale - The Hibernate name. - - - - Registers a Hibernate name for the given - type code and maximum column length. - - The typecode - The maximum length of database type - The Hibernate name - - - - Registers a Hibernate name for the given - type code. - - The typecode - The Hibernate name - - - - - - - - - - - The syntax used to add a foreign key constraint to a table. - - The FK constraint name. - The names of the columns comprising the FK - The table referenced by the FK - The explicit columns in the referencedTable referenced by this FK. - - if false, constraint should be explicit about which column names the constraint refers to - - the "add FK" fragment - - - - The syntax used to add a primary key constraint to a table - - - - - - Get a strategy instance which knows how to acquire a database-level lock - of the specified mode for this dialect. - - The persister for the entity to be locked. - The type of lock to be acquired. - The appropriate locking strategy. - - - - Given a lock mode, determine the appropriate for update fragment to use. - - The lock mode to apply. - The appropriate for update fragment. - - - - Get the FOR UPDATE OF column_list fragment appropriate for this - dialect given the aliases of the columns to be write locked. - - The columns to be write locked. - The appropriate FOR UPDATE OF column_list clause string. - - - - Get the FOR UPDATE OF column_list NOWAIT fragment appropriate - for this dialect given the aliases of the columns to be write locked. - - The columns to be write locked. - The appropriate FOR UPDATE colunm_list NOWAIT clause string. - - - - Modifies the given SQL by applying the appropriate updates for the specified - lock modes and key columns. - - the SQL string to modify - a map of lock modes indexed by aliased table names. - a map of key columns indexed by aliased table names. - the modified SQL string. - - The behavior here is that of an ANSI SQL SELECT FOR UPDATE. This - method is really intended to allow dialects which do not support - SELECT FOR UPDATE to achieve this in their own fashion. - - - - - Some dialects support an alternative means to SELECT FOR UPDATE, - whereby a "lock hint" is appends to the table name in the from clause. - - The lock mode to apply - The name of the table to which to apply the lock hint. - The table with any required lock hints. - - - - Return SQL needed to drop the named table. May (and should) use - some form of "if exists" clause, and cascade constraints. - - - - - - Generate a temporary table name given the bas table. - The table name from which to base the temp table name. - The generated temp table name. - - - - Does the dialect require that temporary table DDL statements occur in - isolation from other statements? This would be the case if the creation - would cause any current transaction to get committed implicitly. - - see the result matrix above. - - JDBC defines a standard way to query for this information via the - {@link java.sql.DatabaseMetaData#dataDefinitionCausesTransactionCommit()} - method. However, that does not distinguish between temporary table - DDL and other forms of DDL; MySQL, for example, reports DDL causing a - transaction commit via its driver, even though that is not the case for - temporary table DDL. -

- Possible return values and their meanings:

    -
  • {@link Boolean#TRUE} - Unequivocally, perform the temporary table DDL in isolation.
  • -
  • {@link Boolean#FALSE} - Unequivocally, do not perform the temporary table DDL in isolation.
  • -
  • null - defer to the JDBC driver response in regards to {@link java.sql.DatabaseMetaData#dataDefinitionCausesTransactionCommit()}
  • -
-
-
- - Do we need to drop the temporary table after use? - - - - Registers an OUT parameter which will be returing a - . How this is accomplished varies greatly - from DB to DB, hence its inclusion (along with {@link #getResultSet}) here. - - The callable statement. - The bind position at which to register the OUT param. - The number of (contiguous) bind positions used. - - - - Given a callable statement previously processed by , - extract the from the OUT parameter. - - The callable statement. - The extracted result set. - SQLException Indicates problems extracting the result set. - - - - The syntax used to drop a foreign key constraint from a table. - - The name of the foreign key constraint to drop. - - The SQL string to drop the foreign key constraint. - - - - - The syntax that is used to check if a constraint does not exists before creating it - - The table. - The name. - - - - - The syntax that is used to close the if for a constraint exists check, used - for dialects that requires begin/end for ifs - - The table. - The name. - - - - - The syntax that is used to check if a constraint exists before dropping it - - The table. - The name. - - - - - The syntax that is used to close the if for a constraint exists check, used - for dialects that requires begin/end for ifs - - The table. - The name. - - - - - The syntax used to drop a primary key constraint from a table. - - The name of the primary key constraint to drop. - - The SQL string to drop the primary key constraint. - - - - - The syntax used to drop an index constraint from a table. - - The name of the index constraint to drop. - - The SQL string to drop the primary key constraint. - - - - - Provided we , then attch the - "select identity" clause to the insert statement. - - The insert command - - The insert command with any necessary identity select clause attached. - Note, if == false then - the insert-string should be returned without modification. - - - - - Get the select command to use to retrieve the last generated IDENTITY - value for a particular table - - The table into which the insert was done - The PK column. - The type code. - The appropriate select command - - - - The syntax used during DDL to define a column as being an IDENTITY of - a particular type. - - The type code. - The appropriate DDL fragment. - - - - Generate the appropriate select statement to to retreive the next value - of a sequence. - - the name of the sequence - String The "nextval" select string. - This should be a "stand alone" select statement. - - - - Typically dialects which support sequences can drop a sequence - with a single command. - - The name of the sequence - The sequence drop commands - - This is convenience form of - to help facilitate that. - - Dialects which support sequences and can drop a sequence in a - single command need *only* override this method. Dialects - which support sequences but require multiple commands to drop - a sequence should instead override . - - - - - The multiline script used to drop a sequence. - - The name of the sequence - The sequence drop commands - - - - Generate the select expression fragment that will retrieve the next - value of a sequence as part of another (typically DML) statement. - - the name of the sequence - The "nextval" fragment. - - This differs from in that this - should return an expression usable within another statement. - - - - - Typically dialects which support sequences can create a sequence - with a single command. - - The name of the sequence - The sequence creation command - - This is convenience form of to help facilitate that. - Dialects which support sequences and can create a sequence in a - single command need *only* override this method. Dialects - which support sequences but require multiple commands to create - a sequence should instead override . - - - - - An optional multi-line form for databases which . - - The name of the sequence - The initial value to apply to 'create sequence' statement - The increment value to apply to 'create sequence' statement - The sequence creation commands - - - - Overloaded form of , additionally - taking the initial value and increment size to be applied to the sequence - definition. - - The name of the sequence - The initial value to apply to 'create sequence' statement - The increment value to apply to 'create sequence' statement - The sequence creation command - - The default definition is to suffix - with the string: " start with {initialValue} increment by {incrementSize}" where - {initialValue} and {incrementSize} are replacement placeholders. Generally - dialects should only need to override this method if different key phrases - are used to apply the allocation information. - - - - - Create a strategy responsible - for handling this dialect's variations in how joins are handled. - - This dialect's strategy. - - - - Create a strategy responsible - for handling this dialect's variations in how CASE statements are - handled. - - This dialect's strategy. - - - The SQL literal value to which this database maps boolean values. - The boolean value - The appropriate SQL literal. - - - - Add a LIMIT clause to the given SQL SELECT - when the dialect supports variable limits (i.e. parameters for the limit constraints) - - The to base the limit query off. - Offset of the first row to be returned by the query (zero-based) - Maximum number of rows to be returned by the query - Optionally, the Offset parameter index - Optionally, the Limit parameter index - A new that contains the LIMIT clause. - - - - Add a LIMIT clause to the given SQL SELECT - - A Query in the form of a SqlString. - Offset of the first row to be returned by the query (zero-based) - Maximum number of rows to be returned by the query - A new SqlString that contains the LIMIT clause. - - - Apply s limit clause to the query. - The query to which to apply the limit. - Is the query requesting an offset? - the modified SQL - - Typically dialects utilize - limit caluses when they support limits. Thus, when building the - select command we do not actually need to know the limit or the offest - since we will just be using placeholders. -

- Here we do still pass along whether or not an offset was specified - so that dialects not supporting offsets can generate proper exceptions. - In general, dialects will override one or the other of this method and - . - - - -

- Checks to see if the name has been quoted. - - The name to check if it is quoted - true if name is already quoted. - - The default implementation is to compare the first character - to Dialect.OpenQuote and the last char to Dialect.CloseQuote - -
- - - Quotes a name. - - The string that needs to be Quoted. - A QuotedName - -

- This method assumes that the name is not already Quoted. So if the name passed - in is "name then it will return """name". It escapes the first char - - the " with "" and encloses the escaped string with OpenQuote and CloseQuote. -

-
-
- - - Quotes a name for being used as a aliasname - - Original implementation calls - Name of the alias - A Quoted name in the format of OpenQuote + aliasName + CloseQuote - -

- If the aliasName is already enclosed in the OpenQuote and CloseQuote then this - method will return the aliasName that was passed in without going through any - Quoting process. So if aliasName is passed in already Quoted make sure that - you have escaped all of the chars according to your DataBase's specifications. -

-
-
- - - Quotes a name for being used as a columnname - - Original implementation calls - Name of the column - A Quoted name in the format of OpenQuote + columnName + CloseQuote - -

- If the columnName is already enclosed in the OpenQuote and CloseQuote then this - method will return the columnName that was passed in without going through any - Quoting process. So if columnName is passed in already Quoted make sure that - you have escaped all of the chars according to your DataBase's specifications. -

-
-
- - - Quotes a name for being used as a tablename - - Name of the table - A Quoted name in the format of OpenQuote + tableName + CloseQuote - -

- If the tableName is already enclosed in the OpenQuote and CloseQuote then this - method will return the tableName that was passed in without going through any - Quoting process. So if tableName is passed in already Quoted make sure that - you have escaped all of the chars according to your DataBase's specifications. -

-
-
- - - Quotes a name for being used as a schemaname - - Name of the schema - A Quoted name in the format of OpenQuote + schemaName + CloseQuote - -

- If the schemaName is already enclosed in the OpenQuote and CloseQuote then this - method will return the schemaName that was passed in without going through any - Quoting process. So if schemaName is passed in already Quoted make sure that - you have escaped all of the chars according to your DataBase's specifications. -

-
-
- - - Unquotes and unescapes an already quoted name - - Quoted string - Unquoted string - -

- This method checks the string quoted to see if it is - quoted. If the string quoted is already enclosed in the OpenQuote - and CloseQuote then those chars are removed. -

-

- After the OpenQuote and CloseQuote have been cleaned from the string quoted - then any chars in the string quoted that have been escaped by doubling them - up are changed back to a single version. -

-

- The following quoted values return these results - "quoted" = quoted - "quote""d" = quote"d - quote""d = quote"d -

-

- If this implementation is not sufficient for your Dialect then it needs to be overridden. - MsSql2000Dialect is an example of where UnQuoting rules are different. -

-
-
- - - Unquotes an array of Quoted Names. - - strings to Unquote - an array of unquoted strings. - - This use UnQuote(string) for each string in the quoted array so - it should not need to be overridden - only UnQuote(string) needs - to be overridden unless this implementation is not sufficient. - - - - - Given a type code, determine an appropriate - null value to use in a select clause. - - The type code. - The appropriate select clause value fragment. - - One thing to consider here is that certain databases might - require proper casting for the nulls here since the select here - will be part of a UNION/UNION ALL. - - - - - Build an instance of the preferred by this dialect for - converting into NHibernate's ADOException hierarchy. - - The Dialect's preferred . - - The default Dialect implementation simply returns a converter based on X/Open SQLState codes. - - It is strongly recommended that specific Dialect implementations override this - method, since interpretation of a SQL error is much more accurate when based on - the ErrorCode rather than the SQLState. Unfortunately, the ErrorCode is a vendor-specific approach. - - - - - Retrieve a set of default Hibernate properties for this database. - - - - - Aggregate SQL functions as defined in general. This is - a case-insensitive hashtable! - - - The results of this method should be integrated with the - specialization's data. - - - - - The class (which implements ) - which acts as this dialects native generation strategy. - - The native generator class. - - Comes into play whenever the user specifies the native generator. - - - - - The keyword used to insert a generated value into an identity column (or null). - Need if the dialect does not support inserts that specify no column values. - - - - Get the select command used retrieve the names of all sequences. - The select command; or null if sequences are not supported. - - - - Get the command used to select a GUID from the underlying database. - (Optional operation.) - - The appropriate command. - - - Command used to create a table. - - - - Slight variation on . - The command used to create a multiset table. - - - Here, we have the command used to create a table when there is no primary key and - duplicate rows are expected. -

- Most databases do not care about the distinction; originally added for - Teradata support which does care. - - - -

Command used to create a temporary table. -
- - - Get any fragments needing to be postfixed to the command for - temporary table creation. - - - - - Should the value returned by - be treated as callable. Typically this indicates that JDBC escape - sytnax is being used... - - - - - Retrieve the command used to retrieve the current timestammp from the database. - - - - - The name of the database-specific SQL function for retrieving the - current timestamp. - - - - - The keyword used to insert a row without specifying any column values - - - - - The name of the SQL function that transforms a string to lowercase - - - - - The syntax used to add a column to a table. Note this is deprecated - - - - - The keyword used to specify a nullable column - - - - - Completely optional cascading drop clause - - - - - The keyword used to create a primary key constraint - - - - - Does this dialect support the ALTER TABLE syntax? - - - - - Do we need to drop constraints before dropping tables in the dialect? - - - - - Do we need to qualify index names with the schema name? - - - - - Does this dialect support the UNIQUE column syntax? - - - - Does this dialect support adding Unique constraints via create and alter table ? - - - - Does the dialect support the syntax 'drop table if exists NAME' - - - - - Does the dialect support the syntax 'drop table NAME if exists' - - - - Does this dialect support column-level check constraints? - True if column-level CHECK constraints are supported; false otherwise. - - - Does this dialect support table-level check constraints? - True if table-level CHECK constraints are supported; false otherwise. - - - - Get the string to append to SELECT statements to acquire locks - for this dialect. - - The appropriate FOR UPDATE clause string. - - - Is FOR UPDATE OF syntax supported? - True if the database supports FOR UPDATE OF syntax; false otherwise. - - - - Does this dialect support FOR UPDATE in conjunction with outer joined rows? - - True if outer joined rows can be locked via FOR UPDATE. - - - - Retrieves the FOR UPDATE NOWAIT syntax specific to this dialect - - The appropriate FOR UPDATE NOWAIT clause string. - - - Does this dialect support temporary tables? - - - Does this dialect support a way to retrieve the database's current timestamp value? - - - - Gives the best resolution that the database can use for storing - date/time values, in ticks. - - - - For example, if the database can store values with 100-nanosecond - precision, this property is equal to 1L. If the database can only - store values with 1-millisecond precision, this property is equal - to 10000L (number of ticks in a millisecond). - - - Used in TimestampType. - - - - - - Does this dialect support subselects? - - - - - Does this dialect support identity column key generation? - - - - - Does the dialect support some form of inserting and selecting - the generated IDENTITY value all in the same statement. - - - - - Whether this dialect has an identity clause added to the data type or a - completely separate identity data type. - - - - - Get the select command to use to retrieve the last generated IDENTITY value. - - The appropriate select command - - - - The keyword used to specify an identity column, if native key generation is supported - - - - - Does this dialect support sequences? - - - - - Does this dialect support "pooled" sequences. Not aware of a better - name for this. Essentially can we specify the initial and increment values? - - True if such "pooled" sequences are supported; false otherwise. - - - - - - Does this Dialect have some kind of LIMIT syntax? - - False, unless overridden. - - - - Does this Dialect support an offset? - - - - - Can parameters be used for a statement containing a LIMIT? - - - - - Does the LIMIT clause specify arguments in the "reverse" order - limit, offset instead of offset, limit? - - False, unless overridden. - Inheritors should return true if the correct order is limit, offset - - - - Does the LIMIT clause come at the start of the - SELECT statement rather than at the end? - - false, unless overridden - - - - Does the LIMIT clause take a "maximum" row number instead - of a total number of returned rows? - - True if limit is relative from offset; false otherwise. - - This is easiest understood via an example. Consider you have a table - with 20 rows, but you only want to retrieve rows number 11 through 20. - Generally, a limit with offset would say that the offset = 11 and the - limit = 10 (we only want 10 rows at a time); this is specifying the - total number of returned rows. Some dialects require that we instead - specify offset = 11 and limit = 20, where 20 is the "last" row we want - relative to offset (i.e. total number of rows = 20 - 11 = 9) - So essentially, is limit relative from offset? Or is limit absolute? - - - - - The opening quote for a quoted identifier. - - - - - The closing quote for a quoted identifier. - - - - - Does this dialect support UNION ALL, which is generally a faster variant of UNION? - True if UNION ALL is supported; false otherwise. - - - - - Does this dialect support empty IN lists? - For example, is [where XYZ in ()] a supported construct? - - True if empty in lists are supported; false otherwise. - - - - Are string comparisons implicitly case insensitive. - In other words, does [where 'XYZ' = 'xyz'] resolve to true? - - True if comparisons are case insensitive. - - - - Is this dialect known to support what ANSI-SQL terms "row value - constructor" syntax; sometimes called tuple syntax. -

- Basically, does it support syntax like - "... where (FIRST_NAME, LAST_NAME) = ('Steve', 'Ebersole') ...". -

- - True if this SQL dialect is known to support "row value - constructor" syntax; false otherwise. - -
- - - If the dialect supports {@link #supportsRowValueConstructorSyntax() row values}, - does it offer such support in IN lists as well? -

- For example, "... where (FIRST_NAME, LAST_NAME) IN ( (?, ?), (?, ?) ) ..." -

- - True if this SQL dialect is known to support "row value - constructor" syntax in the IN list; false otherwise. - -
- - - Should LOBs (both BLOB and CLOB) be bound using stream operations (i.e. - {@link java.sql.PreparedStatement#setBinaryStream}). - - True if BLOBs and CLOBs should be bound using stream operations. - - - - Does this dialect support parameters within the select clause of - INSERT ... SELECT ... statements? - - True if this is supported; false otherwise. - - - - Does this dialect support asking the result set its positioning - information on forward only cursors. Specifically, in the case of - scrolling fetches, Hibernate needs to use - {@link java.sql.ResultSet#isAfterLast} and - {@link java.sql.ResultSet#isBeforeFirst}. Certain drivers do not - allow access to these methods for forward only cursors. -

- NOTE : this is highly driver dependent! -

- - True if methods like {@link java.sql.ResultSet#isAfterLast} and - {@link java.sql.ResultSet#isBeforeFirst} are supported for forward - only cursors; false otherwise. - -
- - - Does this dialect support definition of cascade delete constraints - which can cause circular chains? - - True if circular cascade delete constraints are supported; false otherwise. - - - - Are subselects supported as the left-hand-side (LHS) of - IN-predicates. - - In other words, is syntax like "... {subquery} IN (1, 2, 3) ..." supported? - - True if subselects can appear as the LHS of an in-predicate;false otherwise. - - - - Expected LOB usage pattern is such that I can perform an insert - via prepared statement with a parameter binding for a LOB value - without crazy casting to JDBC driver implementation-specific classes... -

- Part of the trickiness here is the fact that this is largely - driver dependent. For example, Oracle (which is notoriously bad with - LOB support in their drivers historically) actually does a pretty good - job with LOB support as of the 10.2.x versions of their drivers... -

- - True if normal LOB usage patterns can be used with this driver; - false if driver-specific hookiness needs to be applied. - -
- - Does the dialect support propagating changes to LOB - values back to the database? Talking about mutating the - internal value of the locator as opposed to supplying a new - locator instance... -

- For BLOBs, the internal value might be changed by: - {@link java.sql.Blob#setBinaryStream}, - {@link java.sql.Blob#setBytes(long, byte[])}, - {@link java.sql.Blob#setBytes(long, byte[], int, int)}, - or {@link java.sql.Blob#truncate(long)}. -

- For CLOBs, the internal value might be changed by: - {@link java.sql.Clob#setAsciiStream(long)}, - {@link java.sql.Clob#setCharacterStream(long)}, - {@link java.sql.Clob#setString(long, String)}, - {@link java.sql.Clob#setString(long, String, int, int)}, - or {@link java.sql.Clob#truncate(long)}. -

- NOTE : I do not know the correct answer currently for - databases which (1) are not part of the cruise control process - or (2) do not {@link #supportsExpectedLobUsagePattern}. -

- True if the changes are propagated back to the database; false otherwise. -
- - - Is it supported to materialize a LOB locator outside the transaction in - which it was created? -

- Again, part of the trickiness here is the fact that this is largely - driver dependent. -

- NOTE: all database I have tested which {@link #supportsExpectedLobUsagePattern()} - also support the ability to materialize a LOB outside the owning transaction... -

- True if unbounded materialization is supported; false otherwise. -
- - - Does this dialect support referencing the table being mutated in - a subquery. The "table being mutated" is the table referenced in - an UPDATE or a DELETE query. And so can that table then be - referenced in a subquery of said UPDATE/DELETE query. -

- For example, would the following two syntaxes be supported:

    -
  • delete from TABLE_A where ID not in ( select ID from TABLE_A )
  • -
  • update TABLE_A set NON_ID = 'something' where ID in ( select ID from TABLE_A)
  • -
-
- True if this dialect allows references the mutating table from a subquery. -
- - Does the dialect support an exists statement in the select clause? - True if exists checks are allowed in the select clause; false otherwise. - - - - For the underlying database, is READ_COMMITTED isolation implemented by - forcing readers to wait for write locks to be released? - - True if writers block readers to achieve READ_COMMITTED; false otherwise. - - - - For the underlying database, is REPEATABLE_READ isolation implemented by - forcing writers to wait for read locks to be released? - - True if readers block writers to achieve REPEATABLE_READ; false otherwise. - - - - Does this dialect support using a JDBC bind parameter as an argument - to a function or procedure call? - - True if the database supports accepting bind params as args; false otherwise. - - - - The class (which implements ) - which acts as this dialects identity-style generation strategy. - - The native generator class. - - Comes into play whenever the user specifies the "identity" generator. - - - - - Supports splitting batches using GO T-SQL command - - - Batches http://msdn.microsoft.com/en-us/library/ms175502.aspx - - - - - This specialized string tokenizier will break a string to tokens, taking - into account single quotes, parenthesis and commas and [ ] - Notice that we aren't differenciating between [ ) and ( ] on purpose, it would complicate - the code and it is not legal at any rate. - - - - - Defines a contract for implementations that can extract the name of a violated - constraint from a SQLException that is the result of that constraint violation. - - - - - Extract the name of the violated constraint from the given SQLException. - - The exception that was the result of the constraint violation. - The extracted constraint name. - - - - - - - - - - - - - - - - Add a LIMIT clause to the given SQL SELECT - - A Query in the form of a SqlString. - Offset of the first row to be returned by the query (zero-based) - Maximum number of rows to be returned by the query - Optionally, the Offset parameter index - Optionally, the Limit parameter index - A new that contains the LIMIT clause. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Summary description for FirebirdDialect. - - - The FirebirdDialect defaults the following configuration properties: - - - Property - Default Value - - - connection.driver_class - - - - - - - - Add a FIRST x [SKIP] y clause to the given SQL SELECT - - A Query in the form of a SqlString. - Maximum number of rows to be returned by the query - Offset of the first row to process in the result set - A new SqlString that contains the FIRST clause. - - - - - - - A generic SQL dialect which may or may not work on any actual databases - - - - - - - - - - - Summary description for InformixDialect. - This dialect is intended to work with IDS version 7.31 - However I can test only version 10.00 as I have only this version at work - - - The InformixDialect defaults the following configuration properties: - - - ConnectionDriver - NHibernate.Driver.OdbcDriver - PrepareSql - true - - - connection.driver_class - - - - - - - - - - - Get the FOR UPDATE OF column_list fragment appropriate for this - dialect given the aliases of the columns to be write locked. - - The columns to be write locked. - The appropriate FOR UPDATE OF column_list clause string. - - - - Does the dialect require that temporary table DDL statements occur in - isolation from other statements? This would be the case if the creation - would cause any current transaction to get committed implicitly. - - see the result matrix above. - - JDBC defines a standard way to query for this information via the - {@link java.sql.DatabaseMetaData#dataDefinitionCausesTransactionCommit()} - method. However, that does not distinguish between temporary table - DDL and other forms of DDL; MySQL, for example, reports DDL causing a - transaction commit via its driver, even though that is not the case for - temporary table DDL. -

- Possible return values and their meanings:

    -
  • {@link Boolean#TRUE} - Unequivocally, perform the temporary table DDL in isolation.
  • -
  • {@link Boolean#FALSE} - Unequivocally, do not perform the temporary table DDL in isolation.
  • -
  • null - defer to the JDBC driver response in regards to {@link java.sql.DatabaseMetaData#dataDefinitionCausesTransactionCommit()}
  • -
-
-
- - - Get the select command to use to retrieve the last generated IDENTITY - value for a particular table - - The table into which the insert was done - The PK column. - The type code. - The appropriate select command - - - - The syntax used during DDL to define a column as being an IDENTITY of - a particular type. - - The type code. - The appropriate DDL fragment. - - - - Create a strategy responsible - for handling this dialect's variations in how joins are handled. - - This dialect's strategy. - - - The SQL literal value to which this database maps boolean values. - The boolean value - The appropriate SQL literal. - - - Apply s limit clause to the query. - The query to which to apply the limit. - Offset of the first row to be returned by the query (zero-based) - Maximum number of rows to be returned by the query - the modified SQL - - Typically dialects utilize - limit caluses when they support limits. Thus, when building the - select command we do not actually need to know the limit or the offest - since we will just be using placeholders. -

- Here we do still pass along whether or not an offset was specified - so that dialects not supporting offsets can generate proper exceptions. - In general, dialects will override one or the other of this method and - . - - - -

- The keyword used to insert a generated value into an identity column (or null). - Need if the dialect does not support inserts that specify no column values. - -
- - Command used to create a temporary table. - - - - Get any fragments needing to be postfixed to the command for - temporary table creation. - - - - - Should the value returned by - be treated as callable. Typically this indicates that JDBC escape - sytnax is being used... - - - - - Retrieve the command used to retrieve the current timestammp from the database. - - - - - The name of the database-specific SQL function for retrieving the - current timestamp. - - - - - - - Is FOR UPDATE OF syntax supported? - True if the database supports FOR UPDATE OF syntax; false otherwise. - - - - Does this dialect support FOR UPDATE in conjunction with outer joined rows? - - True if outer joined rows can be locked via FOR UPDATE. - - - Does this dialect support temporary tables? - - - Does this dialect support a way to retrieve the database's current timestamp value? - - - - Whether this dialect have an Identity clause added to the data type or a - completely seperate identity data type - - - - - The syntax that returns the identity value of the last insert, if native - key generation is supported - - - - - The keyword used to specify an identity column, if native key generation is supported - - - - - Does this dialect support sequences? - - - - - Does this Dialect have some kind of LIMIT syntax? - - False, unless overridden. - - - - Does this Dialect support an offset? - - - - - Can parameters be used for a statement containing a LIMIT? - - - - - Does the LIMIT clause come at the start of the - SELECT statement rather than at the end? - - false, unless overridden - - - - Does this dialect support UNION ALL, which is generally a faster variant of UNION? - True if UNION ALL is supported; false otherwise. - - - - - Knows how to extract a violated constraint name from an error message based on the - fact that the constraint name is templated within the message. - - - - - Extracts the constraint name based on a template (i.e., templateStartconstraintNametemplateEnd). - - The pattern denoting the start of the constraint name within the message. - The pattern denoting the end of the constraint name within the message. - The templated error message containing the constraint name. - The found constraint name, or null. - - - - Extract the name of the violated constraint from the given SQLException. - - The exception that was the result of the constraint violation. - The extracted constraint name. - - - - Extract the name of the violated constraint from the given DbException. - - The exception that was the result of the constraint violation. - The extracted constraint name. - - - - Summary description for InformixDialect. - This dialect is intended to work with IDS version 9.40 - - - The InformixDialect defaults the following configuration properties: - - - ConnectionDriver - NHibernate.Driver.OdbcDriver - PrepareSql - true - - - connection.driver_class - - - - - - - - - - - Generate the appropriate select statement to to retreive the next value - of a sequence. - - the name of the sequence - String The "nextval" select string. - This should be a "stand alone" select statement. - - - - Generate the select expression fragment that will retrieve the next - value of a sequence as part of another (typically DML) statement. - - the name of the sequence - The "nextval" fragment. - - This differs from in that this - should return an expression usable within another statement. - - - - - Create a strategy responsible - for handling this dialect's variations in how joins are handled. - - This dialect's strategy. - - - Get the select command used retrieve the names of all sequences. - The select command; or null if sequences are not supported. - - - - Does this dialect support sequences? - - - - - Does this dialect support "pooled" sequences. Not aware of a better - name for this. Essentially can we specify the initial and increment values? - - True if such "pooled" sequences are supported; false otherwise. - - - - Does this Dialect have some kind of LIMIT syntax? - - False, unless overridden. - - - - Does this Dialect support an offset? - - - - - Summary description for InformixDialect. - This dialect is intended to work with IDS version 10.00 - - - The InformixDialect defaults the following configuration properties: - - - ConnectionDriver - NHibernate.Driver.OdbcDriver - PrepareSql - true - - - connection.driver_class - - - - - - - - - - - Does this Dialect have some kind of LIMIT syntax? - - False, unless overridden. - - - - Does this Dialect support an offset? - - - - - An SQL dialect for IngresSQL. - - - The IngresDialect defaults the following configuration properties: - - - Property - Default Value - - - use_outer_join - - - - connection.driver_class - - - - - - - - An SQL dialect compatible with Microsoft SQL Server 2000. - - - The MsSql2000Dialect defaults the following configuration properties: - - - Property - Default Value - - - use_outer_join - - - - connection.driver_class - - - - prepare_sql - - - - - - - - - - - Generates the string to drop the table using SQL Server syntax. - - The name of the table to drop. - The SQL with the inserted. - - - - Add a LIMIT (TOP) clause to the given SQL SELECT - - A Query in the form of a SqlString. - Maximum number of rows to be returned by the query - Offset of the first row to process in the result set - A new SqlString that contains the LIMIT clause. - - - - - - - - - MsSql does not require the OpenQuote to be escaped as long as the first char - is an OpenQuote. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Does this Dialect have some kind of LIMIT syntax? - - True, we'll use the SELECT TOP nn syntax. - - - - Does this Dialect support an offset? - - - - - Can parameters be used for a statement containing a LIMIT? - - - - - Does the LIMIT clause take a "maximum" row number - instead of a total number of returned rows? - - false, unless overridden - - - - Add a LIMIT clause to the given SQL SELECT - - The to base the limit query off. - Offset of the first row to be returned by the query (zero-based) - Maximum number of rows to be returned by the query - Optionally, the Offset parameter index - Optionally, the Limit parameter index - A new with the LIMIT clause applied. - - Note that we need to explicitly specify the columns, because we need to be able to use them in a paged subselect [NH-1155] - - - - - Indicates whether the string fragment contains matching parenthesis - - the statement to evaluate - true if the statment contains no parenthesis or an equal number of - opening and closing parenthesis;otherwise false - - - - Sql Server 2005 supports a query statement that provides LIMIT - functionality. - - true - - - - Sql Server 2005 supports a query statement that provides LIMIT - functionality with an offset. - - true - - - - Sql Server 2005 supports a query statement that provides LIMIT - functionality with an offset. - - false - - - - An SQL dialect compatible with Microsoft SQL Server 7. - - - There have been no test run with this because the NHibernate team does not - have a machine with Sql 7 installed on it. But there have been users using - Ms Sql 7 with NHibernate. As issues with Ms Sql 7 and NHibernate become known - this Dialect will be updated. - - - - - Uses @@identity to get the Id value. - - - There is a well known problem with @@identity and triggers that insert into - rows into other tables that also use an identity column. The only way I know - of to get around this problem is to upgrade your database server to Ms Sql 2000. - - - - - A dialect for SQL Server Everywhere (SQL Server CE). - - - - - A SQL dialect for MySQL - - - The MySQLDialect defaults the following configuration properties: - - - Property - Default Value - - - use_outer_join - - - - connection.driver_class - - - - - - - - Add a LIMIT clause to the given SQL SELECT - - The to base the limit query off. - Offset of the first row to be returned by the query (zero-based) - Maximum number of rows to be returned by the query - Optionally, the Offset parameter index - Optionally, the Limit parameter index - A new that contains the LIMIT clause. - - - - Create the SQL string to drop a foreign key constraint. - - The name of the foreign key to drop. - The SQL string to drop the foreign key constraint. - - - - Create the SQL string to drop a primary key constraint. - - The name of the primary key to drop. - The SQL string to drop the primary key constraint. - - - - Create the SQL string to drop an index. - - The name of the index to drop. - The SQL string to drop the index constraint. - - - - Suclasses register a typename for the given type code, to be used in CAST() - statements. - - The typecode - The database type name - - - - Get the name of the database type appropriate for casting operations - (via the CAST() SQL function) for the given typecode. - - The typecode - The database type name - - - - - - - - - - - - - - - - - - - - - - - - - - - - A dialect specifically for use with Oracle 10g. - - - The main difference between this dialect and - is the use of "ANSI join syntax" here... - - - - - A dialect for Oracle 8i. - - - - - Support for the oracle proprietary join syntax... - - The orqacle join fragment - - - - Map case support to the Oracle DECODE function. Oracle did not - add support for CASE until 9i. - - The oracle CASE -> DECODE fragment - - - - Allows access to the basic - implementation... - - The mapping type - The appropriate select cluse fragment - - - - It's a immature version, it just work. - An SQL dialect for Oracle Lite - - - The OracleLiteDialect defaults the following configuration properties: - - - Property - Default Value - - - use_outer_join - - - - connection.driver_class - - - - - - - - - - - - - - An SQL dialect for PostgreSQL 8.1 and above. - - - - PostgreSQL 8.1 supports FOR UPDATE ... NOWAIT syntax. - - - PostgreSQL supports Identity column using the "SERIAL" type. - Serial type is a "virtual" type that will automatically: - - - Create a sequence named tablename_colname_seq. - Set the default value of this column to the next value of the - sequence. (using function nextval('tablename_colname_seq')) - Add a "NOT NULL" constraint to this column. - Set the sequence as "owned by" the table. - - - To insert the next value of the sequence into the serial column, - exclude the column from the list of columns - in the INSERT statement or use the DEFAULT key word. - - - If the table or the column is dropped, the sequence is dropped too. - - - - - - - An SQL dialect for PostgreSQL. - - - The PostgreSQLDialect defaults the following configuration properties: - - - Property - Default Value - - - use_outer_join - - - - connection.driver_class - - - - - - - - - - - Add a LIMIT clause to the given SQL SELECT - - The to base the limit query off. - Offset of the first row to be returned by the query (zero-based) - Maximum number of rows to be returned by the query - Optionally, the Offset parameter index - Optionally, the Limit parameter index - A new that contains the LIMIT clause. - - - PostgreSQL requires to cast NULL values to correctly handle UNION/UNION ALL - - See - PostgreSQL BUG #1847: Error in some kind of UNION query. - - The type code. - null casted as : "null::sqltypename" - - - - - - - - - PostgreSQL supports UNION ALL clause - - Reference: - PostgreSQL 8.0 UNION Clause documentation - - - - - - PostgreSQL supports serial and serial4 type for 4 bytes integer auto increment column. - bigserial or serial8 can be used for 8 bytes integer auto increment column. - - bigserial if equal Int64, - serial otherwise - - - - PostgreSQL supports Identity column using the "SERIAL" type. - - - - - PostgreSQL doesn't have type in identity column. - - - To create an identity column it uses the SQL syntax - CREATE TABLE tablename (colname SERIAL); or - CREATE TABLE tablename (colname BIGSERIAL); - - - - - The sql syntax to insert a row without specifying any column in PostgreSQL is - INSERT INTO table DEFAULT VALUES; - - - - - PostgreSQL 8.1 and above defined the fuction lastval() that returns the - value of the last sequence that nextval() was used on in the current session. - Call lastval() if nextval() has not yet been called in the current - session throw an exception. - - - - - An SQL dialect for PostgreSQL 8.2 and above. - - - PostgreSQL 8.2 supports DROP TABLE IF EXISTS tablename - and DROP SEQUENCE IF EXISTS sequencename syntax. - See for more information. - - - - - A SQL dialect for SQLite. - - -

- Author: Ioan Bizau -

-
-
- - - - - - - - Add a LIMIT N clause to the given SQL SELECT - - A Query in the form of a SqlString. - Maximum number of rows to be returned by the query - Offset of the first row to process in the result set - A new SqlString that contains the LIMIT clause. - - - - An SQL dialect for Sybase Adaptive Server Anywhere 9.0 - - -

- This dialect probably will not work with schema-export. If anyone out there - can fill in the ctor with DbTypes to Strings that would be helpful. -

- The dialect defaults the following configuration properties: - - - Property - Default Value - - - connection.driver_class - - - - prepare_sql - - - -
-
- - - - - - - - - ASA does not require to drop constraint before dropping tables, and DROP statement - syntax used by Hibernate to drop constraint is not compatible with ASA, so disable it. - Comments matchs SybaseAnywhereDialect from Hibernate-3.1 src - - - - - SQL Dialect for SQL Anywhere 10 - for the NHibernate 3.0.0 distribution - Copyright (C) 2010 Glenn Paulley - Contact: http://iablog.sybase.com/paulley - - This NHibernate dialect should be considered BETA software. - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - - - The dialect defaults the following configuration properties: - - - Property - Default Value - - - connection.driver_class - - - - prepare_sql - - - - - - - - SQL Anywhere 11 uses SELECT TOP n START AT m [ select list items ] - for LIMIT/OFFSET support. - - Produce a parametertized SQL query using positional parameters for - TOP and START AT (if specified). - - - - - SQL Anywhere 11 uses SELECT TOP n START AT m [ select list items ] - for LIMIT/OFFSET support. - - Generate SELECT TOP n START AT m syntax using bound parameters - SQL Anywhere constraints: n > 0, m >= 0 - - - - - SQL Anywhere 10 supports READ, WRITE, and INTENT row - locks. INTENT locks are sufficient to ensure that other - concurrent connections cannot modify a row (though other - connections can still read that row). SQL Anywhere also - supports 3 modes of snapshot isolation (multi-version - concurrency control (MVCC). - - SQL Anywhere's FOR UPDATE clause supports - FOR UPDATE BY [ LOCK | VALUES ] - FOR UPDATE OF ( COLUMN LIST ) - - though they cannot be specified at the same time. BY LOCK is - the syntax that acquires INTENT locks. FOR UPDATE BY VALUES - forces the use of the KEYSET cursor, which returns a warning to - the application when a row in the cursor has been subsequently - modified by another connection, and an error if the row has - been deleted. - - SQL Anywhere does not support the FOR UPDATE NOWAIT syntax of - Oracle on a statement-by-statement basis. However, the - identical functionality is provided by setting the connection - option BLOCKING to "OFF", or setting an appropriate timeout - period through the connection option BLOCKING_TIMEOUT. - - - - - SQL Anywhere 10 does not perform a COMMIT upon creation of - a temporary table. However, it does perform an implicit - COMMIT when creating an index over a temporary table, or - upon ALTERing the definition of temporary table. - - - - - SQL Anywhere does support OUT parameters with callable stored procedures. - - - - - SQL Anywhere uses DEFAULT AUTOINCREMENT to identify an IDENTITY - column in a CREATE TABLE statement. - - - - - SQL Anywhere supports a query statement that provides LIMIT - functionality. - - true - - - - SQL Anywhere supports a query statement that provides LIMIT - functionality with an offset. - - true - - - - Can parameters be used for a statement containing a LIMIT? - - - - - SQL Anywhere syntax is SELECT TOP n START AT m - - - - - SQL Anywhere 11 uses SELECT TOP n START AT m [ select list items ] - for LIMIT/OFFSET support. - - - - - SQL Anywhere does support FOR UPDATE OF syntax. However, - in SQL Anywhere one cannot specify both FOR UPDATE OF syntax - and FOR UPDATE BY LOCK in the same statement. To achieve INTENT - locking when using FOR UPDATE OF syntax one must use a table hint - in the query's FROM clause, ie. - - SELECT * FROM FOO WITH( UPDLOCK ) FOR UPDATE OF ( column-list ). - - In this dialect, we avoid this issue by supporting only - FOR UPDATE BY LOCK. - - - - - SQL Anywhere supports FOR UPDATE over cursors containing - outer joins. - - - - - Lock rows in the cursor explicitly using INTENT row locks. - - - - - Enforce the condition that this query is read-only. This ensure that certain - query rewrite optimizations, such as join elimination, can be used. - - - - - Lock rows in the cursor explicitly using INTENT row locks. - - - - - SQL Anywhere does not support FOR UPDATE NOWAIT. However, the intent - is to acquire pessimistic locks on the underlying rows; with NHibernate - one can accomplish this through setting the BLOCKING connection option. - Hence, with this API we lock rows in the cursor explicitly using INTENT row locks. - - - - - We assume that applications using this dialect are NOT using - SQL Anywhere's snapshot isolation modes. - - - - - We assume that applications using this dialect are NOT using - SQL Anywhere's snapshot isolation modes. - - - - - SQL Anywhere supports both double quotes or '[' (Microsoft syntax) for - quoted identifiers. - - Note that quoted identifiers are controlled through - the QUOTED_IDENTIFIER connection option. - - - - - SQL Anywhere supports both double quotes or '[' (Microsoft syntax) for - quoted identifiers. - - - - - SQL Anywhere Does not support empty IN lists. - - - - - SQL Anywhere's implementation of KEYSET-DRIVEN cursors does not - permit absolute postioning. With jConnect as the driver, this support - will succeed because jConnect FETCHes the entire result set to the client - first; it will fail with the iAnywhere JDBC driver. Because the server - may decide to use a KEYSET cursor even if the cursor is declared as - FORWARD ONLY, this support is disabled. - - - - - SQL Anywhere does not support an EXISTS clause within a - SELECT list. - - - - - By default, the SQL Anywhere dbinit utility creates a - case-insensitive database for the CHAR collation. This can - be changed through the use of the -c command line switch on - dbinit, and the setting may differ for the NCHAR collation - for national character sets. Whether or not a database - supports case-sensitive comparisons can be determined via - the DB_Extended_property() function, for example - - SELECT DB_EXTENDED_PROPERTY( 'Collation', 'CaseSensitivity'); - - - - - SQL Anywhere supports COMMENT ON statements for a wide variety of - database objects. When the COMMENT statement is executed an implicit - COMMIT is performed. However, COMMENT syntax for CREATE TABLE, as - expected by NHibernate (see Table.cs), is not supported. - - - - - SQL Anywhere does not require qualification of index names. - - - - - SQL Anywhere currently supports only "VALUES (DEFAULT)", not - the ANSI standard "DEFAULT VALUES". This latter syntax will be - supported in the SQL Anywhere 11.0.1 release. For the moment, - "VALUES (DEFAULT)" works only for a single-column table. - - - - - SQL Anywhere does not require dropping a constraint before - dropping a table, and the DROP statement syntax used by Hibernate - to drop a constraint is not compatible with SQL Anywhere, so disable it. - - - - - In SQL Anywhere, the syntax - - DECLARE LOCAL TEMPORARY TABLE ... - - can also be used, which creates a temporary table with procedure scope, - which may be important for stored procedures. - - - - - Assume that temporary table rows should be preserved across COMMITs. - - - - - SQL Anywhere does support query expressions containing UNION ALL. - - - - - SQL Dialect for SQL Anywhere 11 - for the NHibernate 3.0.0 distribution - Copyright (C) 2010 Glenn Paulley - Contact: http://iablog.sybase.com/paulley - - This NHibernate dialect should be considered BETA software. - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - - - The dialect defaults the following configuration properties: - - - Property - Default Value - - - connection.driver_class - - - - prepare_sql - - - - - - - - This class maps a DbType to names. - - - Associations may be marked with a capacity. Calling the Get() - method with a type and actual size n will return the associated - name with smallest capacity >= n, if available and an unmarked - default type otherwise. - Eg, setting - - Names.Put(DbType, "TEXT" ); - Names.Put(DbType, 255, "VARCHAR($l)" ); - Names.Put(DbType, 65534, "LONGVARCHAR($l)" ); - - will give you back the following: - - Names.Get(DbType) // --> "TEXT" (default) - Names.Get(DbType,100) // --> "VARCHAR(100)" (100 is in [0:255]) - Names.Get(DbType,1000) // --> "LONGVARCHAR(1000)" (100 is in [256:65534]) - Names.Get(DbType,100000) // --> "TEXT" (default) - - On the other hand, simply putting - - Names.Put(DbType, "VARCHAR($l)" ); - - would result in - - Names.Get(DbType) // --> "VARCHAR($l)" (will cause trouble) - Names.Get(DbType,100) // --> "VARCHAR(100)" - Names.Get(DbType,1000) // --> "VARCHAR(1000)" - Names.Get(DbType,10000) // --> "VARCHAR(10000)" - - - - - - Get default type name for specified type - - the type key - the default type name associated with the specified key - - - - Get the type name specified type and size - - the type key - the SQL length - the SQL scale - the SQL precision - - The associated name with smallest capacity >= size if available and the - default type name otherwise - - - - - Set a type name for specified type key and capacity - - the type key - the (maximum) type size/length - The associated name - - - - - - - - - - - The ASAClientDriver Driver provides a database driver for Adaptive Server Anywhere 10.0. - - - - - Base class for the implementation of IDriver - - - - - A strategy for describing how NHibernate should interact with the different .NET Data - Providers. - - - - The IDriver interface is not intended to be exposed to the application. - Instead it is used internally by NHibernate to obtain connection objects, command objects, and - to generate and prepare IDbCommands. Implementors should provide a - public default constructor. - - - This is the interface to implement, or you can inherit from - if you have an ADO.NET data provider that NHibernate does not have built in support for. - To use the driver, NHibernate property connection.driver_class should be - set to the assembly-qualified name of the driver class. - - - key="connection.driver_class" - value="FullyQualifiedClassName, AssemblyName" - - - - - - Configure the driver using . - - - - - Creates an uninitialized IDbConnection object for the specific Driver - - - - - Generates an IDbCommand from the SqlString according to the requirements of the DataProvider. - - The of the command to generate. - The SqlString that contains the SQL. - The types of the parameters to generate for the command. - An IDbCommand with the CommandText and Parameters fully set. - - - - Prepare the by calling . - May be a no-op if the driver does not support preparing commands, or for any other reason. - - - - - - Generates an IDbDataParameter for the IDbCommand. It does not add the IDbDataParameter to the IDbCommand's - Parameter collection. - - The IDbCommand to use to create the IDbDataParameter. - The name to set for IDbDataParameter.Name - The SqlType to set for IDbDataParameter. - An IDbDataParameter ready to be added to an IDbCommand. - - - - Expand the parameters of the cmd to have a single parameter for each parameter in the - sql string - - - This is for databases that do not support named parameters. So, instead of a single parameter - for 'select ... from MyTable t where t.Col1 = @p0 and t.Col2 = @p0' we can issue - 'select ... from MyTable t where t.Col1 = ? and t.Col2 = ?' - - - - - Does this Driver support having more than 1 open IDataReader with - the same IDbConnection. - - - - A value of indicates that an exception would be thrown if NHibernate - attempted to have 2 IDataReaders open using the same IDbConnection. NHibernate - (since this version is a close to straight port of Hibernate) relies on the - ability to recursively open 2 IDataReaders. If the Driver does not support it - then NHibernate will read the values from the IDataReader into an . - - - A value of will result in greater performance because an IDataReader can be used - instead of the . So if the Driver supports it then make sure - it is set to . - - - - - - Can we issue several select queries in a single query, and get - several result sets back? - - - - - How we separate the queries when we use multiply queries. - - - - - Change the parameterName into the correct format IDbCommand.CommandText - for the ConnectionProvider - - The unformatted name of the parameter - A parameter formatted for an IDbCommand.CommandText - - - - Changes the parameterName into the correct format for an IDbParameter - for the Driver. - - - For SqlServerConnectionProvider it will change id to @id - - The unformatted name of the parameter - A parameter formatted for an IDbParameter. - - - - Generates an IDbDataParameter for the IDbCommand. It does not add the IDbDataParameter to the IDbCommand's - Parameter collection. - - The IDbCommand to use to create the IDbDataParameter. - The name to set for IDbDataParameter.Name - The SqlType to set for IDbDataParameter. - An IDbDataParameter ready to be added to an IDbCommand. - - - - Override to make any adjustments to the IDbCommand object. (e.g., Oracle custom OUT parameter) - Parameters have been bound by this point, so their order can be adjusted too. - This is analagous to the RegisterResultSetOutParameter() function in Hibernate. - - - - - Does this Driver require the use of a Named Prefix in the SQL statement. - - - For example, SqlClient requires select * from simple where simple_id = @simple_id - If this is false, like with the OleDb provider, then it is assumed that - the ? can be a placeholder for the parameter in the SQL statement. - - - - - Does this Driver require the use of the Named Prefix when trying - to reference the Parameter in the Command's Parameter collection. - - - This is really only useful when the UseNamedPrefixInSql == true. When this is true the - code will look like: - IDbParameter param = cmd.Parameters["@paramName"] - if this is false the code will be - IDbParameter param = cmd.Parameters["paramName"]. - - - - - The Named Prefix for parameters. - - - Sql Server uses "@" and Oracle uses ":". - - - - - Does this Driver support IDbCommand.Prepare(). - - - - A value of indicates that an exception would be thrown or the - company that produces the Driver we are wrapping does not recommend using - IDbCommand.Prepare(). - - - A value of indicates that calling IDbCommand.Prepare() will function - fine on this Driver. - - - - - - Initializes a new instance of with - type names that are loaded from the specified assembly. - - Assembly to load the types from. - Connection type name. - Command type name. - - - - Initializes a new instance of with - type names that are loaded from the specified assembly. - - The Invariant name of a provider. - Assembly to load the types from. - Connection type name. - Command type name. - - - - - Initializes a new instance of the class. - - - Thrown when the iAnywhere.Data.SQLAnywhere assembly is not and can not be loaded. - - - - - iAnywhere.Data.SQLAnywhere uses named parameters in the sql. - - - Sybase uses String.Empty in the sql. - - - - iAnywhere.Data.SQLAnywhere use the string.Empty to locate parameters in sql. - - - - - The ASAClientDriver Driver provides a database driver for Adaptive Server Anywhere 9.0. - - - - - Initializes a new instance of the class. - - - Thrown when the ASA.Data.AsaClient assembly is not and can not be loaded. - - - - - iAnywhere.Data.AsaClient uses named parameters in the sql. - - - Sybase uses String.Empty in the sql. - - - - iAnywhere.Data.AsaClient use the string.Empty to locate parameters in sql. - - - - - NHibernate driver for the Community CsharpSqlite data provider. -

- Author: Nikolaos Tountas -

-
- -

- In order to use this Driver you must have the Community.CsharpSqlite.dll and Community.CsharpSqlite.SQLiteClient assemblies referenced. -

-

- Please check http://code.google.com/p/csharp-sqlite/ for more information regarding csharp-sqlite. -

-
-
- - - Initializes a new instance of . - - - Thrown when the Community.CsharpSqlite.dll assembly can not be loaded. - - - - - A NHibernate Driver for using the IBM.Data.DB2.iSeries DataProvider. - - - - - Initializes a new instance of the class. - - - Thrown when the IBM.Data.DB2.iSeries assembly can not be loaded. - - - - - A NHibernate Driver for using the IBM.Data.DB2 DataProvider. - - - - - Initializes a new instance of the class. - - - Thrown when the IBM.Data.DB2 assembly can not be loaded. - - - - - A NHibernate Driver for using the Firebird data provider located in - FirebirdSql.Data.FirebirdClient assembly. - - - - - Initializes a new instance of the class. - - - Thrown when the FirebirdSql.Data.Firebird assembly can not be loaded. - - - - - A NHibernate Driver for using the FirebirdSql.Data.Firebird DataProvider. - - - - - Initializes a new instance of the class. - - - Thrown when the FirebirdSql.Data.Firebird assembly can not be loaded. - - - - - A NHibernate Driver for using the Informix DataProvider - - - - - Initializes a new instance of the class. - - - Thrown when the IBM.Data.Informix assembly can not be loaded. - - - - - A NHibernate Driver for using the Ingres DataProvider - - - - - - - Provides a database driver for MySQL. - - - - In order to use this driver you must have the assembly MySql.Data.dll available for - NHibernate to load, including its dependencies (ICSharpCode.SharpZipLib.dll is required by - the assembly MySql.Data.dll as of the time of this writing). - - - Please check the product's website - for any updates and/or documentation regarding MySQL. - - - - - - Initializes a new instance of the class. - - - Thrown when the MySql.Data assembly can not be loaded. - - - - - MySql.Data uses named parameters in the sql. - - - MySql uses ? in the sql. - - - - - - - MySql.Data use the ? to locate parameters in sql. - - ? is used to locate parameters in sql. - - - - The MySql.Data driver does NOT support more than 1 open IDataReader - with only 1 IDbConnection. - - - it is not supported. - - - - MySql.Data does not support preparing of commands. - - - it is not supported. - - With the Gamma MySql.Data provider it is throwing an exception with the - message "Expected End of data packet" when a select command is prepared. - - - - - Some Data Providers (ie - SqlClient) do not support Multiple Active Result Sets (MARS). - NHibernate relies on being able to create MARS to read Components and entities inside - of Collections. - - - This is a completely off-line DataReader - the underlying IDataReader that was used to create - this has been closed and no connections to the Db exists. - - - - - Creates a NDataReader from a - - The to get the records from the Database. - if we are loading the in the middle of reading it. - - NHibernate attempts to not have to read the contents of an into memory until it absolutely - has to. What that means is that it might have processed some records from the and will - pick up the midstream so that the underlying can be closed - so a new one can be opened. - - - - - Sets the values that can be cached back to null and sets the - index of the cached column to -1 - - - - - - - - - - - - - - - - - Takes care of freeing the managed and unmanaged resources that - this class is responsible for. - - - There are not any unmanaged resources or any disposable managed - resources that this class is holding onto. It is in here - to comply with the interface. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Stores a Result from a DataReader in memory. - - - - - Initializes a new instance of the NResult class. - - The IDataReader to populate the Result with. - - if the is already positioned on the record - to start reading from. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - An implementation of that will work with either an - returned by Execute or with an - whose contents have been read into a . - - - - This allows NHibernate to use the underlying for as long as - possible without the need to read everything into the . - - - The consumer of the returned from does - not need to know the underlying reader and can use it the same even if it switches from an - to in the middle of its use. - - - - - - Initializes a new instance of the class. - - The underlying IDataReader to use. - - - - Initializes a new instance of the NHybridDataReader class. - - The underlying IDataReader to use. - if the contents of the IDataReader should be read into memory right away. - - - - Reads all of the contents into memory because another - needs to be opened. - - - This will result in a no op if the reader is closed or is already in memory. - - - - - - - - - - - - - - - - - A flag to indicate if Disose() has been called. - - - - - Finalizer that ensures the object is correctly disposed of. - - - - - Takes care of freeing the managed and unmanaged resources that - this class is responsible for. - - - - - Takes care of freeing the managed and unmanaged resources that - this class is responsible for. - - Indicates if this NHybridDataReader is being Disposed of or Finalized. - - If this NHybridDataReader is being Finalized (isDisposing==false) then make sure not - to call any methods that could potentially bring this NHybridDataReader back to life. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Gets if the object is in the middle of reading a Result. - - if NextResult and Read have been called on the . - - - - - - - - - - - - - - - - - - - - - - The PostgreSQL data provider provides a database driver for PostgreSQL. -

- Author: Oliver Weichhold -

-
- -

- In order to use this Driver you must have the Npgsql.dll Assembly available for - NHibernate to load it. -

-

- Please check the products website - http://www.postgresql.org/ - for any updates and or documentation. -

-

- The homepage for the .NET DataProvider is: - http://pgfoundry.org/projects/npgsql. -

-
-
- - - Initializes a new instance of the class. - - - Thrown when the Npgsql assembly can not be loaded. - - - - - A NHibernate Driver for using the Odbc DataProvider - - - Always look for a native .NET DataProvider before using the Odbc DataProvider. - - - - - A NHibernate Driver for using the OleDb DataProvider - - - Always look for a native .NET DataProvider before using the OleDb DataProvider. - - - - - OLE DB provider does not support multiple open data readers - - - - - A NHibernate Driver for using the Oracle DataProvider. - - - - - A NHibernate Driver for using the Oracle.DataAccess DataProvider - - - Code was contributed by James Mills - on the NHibernate forums in this - post. - - - - - Initializes a new instance of . - - - Thrown when the Oracle.DataAccess assembly can not be loaded. - - - - - This adds logic to ensure that a DbType.Boolean parameter is not created since - ODP.NET doesn't support it. - - - - - - - - - - - - - - A NHibernate Driver for using the Oracle.DataAccess.Lite DataProvider - - - - - Initializes a new instance of . - - - Thrown when the Oracle.DataAccess.Lite_w32 assembly can not be loaded. - - - - - This adds logic to ensure that a DbType.Boolean parameter is not created since - ODP.NET doesn't support it. - - - - - A NHibernate Driver for using the SqlClient DataProvider - - - - - Creates an uninitialized object for - the SqlClientDriver. - - An unitialized object. - - - - Creates an uninitialized object for - the SqlClientDriver. - - An unitialized object. - - - - MsSql requires the use of a Named Prefix in the SQL statement. - - - because MsSql uses "@". - - - - - MsSql requires the use of a Named Prefix in the Parameter. - - - because MsSql uses "@". - - - - - The Named Prefix for parameters. - - - Sql Server uses "@". - - - - - The SqlClient driver does NOT support more than 1 open IDataReader - with only 1 IDbConnection. - - - it is not supported. - - MS SQL Server 2000 (and 7) throws an exception when multiple IDataReaders are - attempted to be opened. When SQL Server 2005 comes out a new driver will be - created for it because SQL Server 2005 is supposed to support it. - - - - - NHibernate driver for the System.Data.SQLite data provider for .NET 2.0. - - -

- In order to use this driver you must have the System.Data.SQLite.dll assembly available - for NHibernate to load. This assembly includes the SQLite.dll or SQLite3.dll libraries. -

-

- You can get the System.Data.SQLite.dll assembly from http://sourceforge.net/projects/sqlite-dotnet2. -

-

- Please check http://www.sqlite.org/ for more information regarding SQLite. -

-
-
- - - Initializes a new instance of . - - - Thrown when the SQLite.NET assembly can not be loaded. - - - - - NHibernate driver for the SQLite.NET data provider. -

- Author: Ioan Bizau -

-
- -

- In order to use this Driver you must have the SQLite.NET.dll Assembly available for NHibernate to load it. - You must also have the SQLite.dll and SQLite3.dll libraries. -

-

- Please check http://www.sqlite.org/ for more information regarding SQLite. -

-
-
- - - Initializes a new instance of . - - - Thrown when the SQLite.NET assembly can not be loaded. - - - - - A NHibernate driver for Microsoft SQL Server CE data provider - - - - - Initializes a new instance of the class. - - - - - MsSql requires the use of a Named Prefix in the SQL statement. - - - because MsSql uses "@". - - - - - MsSql requires the use of a Named Prefix in the Parameter. - - - because MsSql uses "@". - - - - - The Named Prefix for parameters. - - - Sql Server uses "@". - - - - - The SqlClient driver does NOT support more than 1 open IDataReader - with only 1 IDbConnection. - - - it is not supported. - - Ms Sql 2000 (and 7) throws an Exception when multiple DataReaders are - attempted to be Opened. When Yukon comes out a new Driver will be - created for Yukon because it is supposed to support it. - - - - - Represents state associated with the processing of a given - in regards to loading collections. - - - Another implementation option to consider is to not expose ResultSets - directly (in the JDBC redesign) but to always "wrap" them and apply a [series of] context[s] to that wrapper. - - - - - Creates a collection load context for the given result set. - - Callback to other collection load contexts. - The result set this is "wrapping". - - - - Retrieve the collection that is being loaded as part of processing this result set. - - The persister for the collection being requested. - The key of the collection being requested. - The loading collection (see discussion above). - - Basically, there are two valid return values from this method:
    -
  • an instance of {@link PersistentCollection} which indicates to - continue loading the result set row data into that returned collection - instance; this may be either an instance already associated and in the - midst of being loaded, or a newly instantiated instance as a matching - associated collection was not found.
  • -
  • null indicates to ignore the corresponding result set row - data relating to the requested collection; this indicates that either - the collection was found to already be associated with the persistence - context in a fully loaded state, or it was found in a loading state - associated with another result set processing context.
  • -
-
-
- - - Finish the process of collection-loading for this bound result set. Mainly this - involves cleaning up resources and notifying the collections that loading is - complete. - - The persister for which to complete loading. - - - Add the collection to the second-level cache - The entry representing the collection to add - The persister - - - - Maps to specific contextual data - related to processing that . - - - Implementation note: internally an is used to maintain - the mappings; was chosen because I'd rather not be - dependent upon potentially bad and - implementations. - Considering the JDBC-redesign work, would further like this contextual info - not mapped separately, but available based on the result set being processed. - This would also allow maintaining a single mapping as we could reliably get - notification of the result-set closing... - - - - Creates and binds this to the given persistence context. - The persistence context to which this will be bound. - - - - Release internal state associated with the given result set. - - The result set for which it is ok to release associated resources. - - This should be called when we are done with processing said result set, - ideally as the result set is being closed. - - - - Release internal state associated with *all* result sets. - - This is intended as a "failsafe" process to make sure we get everything - cleaned up and released. - - - - - Get the {@link CollectionLoadContext} associated with the given - {@link ResultSet}, creating one if needed. - - The result set for which to retrieve the context. - The processing context. - - - - Attempt to locate the loading collection given the owner's key. The lookup here - occurs against all result-set contexts... - - The collection persister - The owner key - The loading collection, or null if not found. - - - - Register a loading collection xref. - - The xref collection key - The corresponding loading collection entry - - This xref map is used because sometimes a collection is in process of - being loaded from one result set, but needs to be accessed from the - context of another "nested" result set processing. - Implementation note: package protected, as this is meant solely for use - by {@link CollectionLoadContext} to be able to locate collections - being loaded by other {@link CollectionLoadContext}s/{@link ResultSet}s. - - - - - The inverse of {@link #registerLoadingCollectionXRef}. Here, we are done - processing the said collection entry, so we remove it from the - load context. - - The key of the collection we are done processing. - - The idea here is that other loading collections can now reference said - collection directly from the {@link PersistenceContext} because it - has completed its load cycle. - Implementation note: package protected, as this is meant solely for use - by {@link CollectionLoadContext} to be able to locate collections - being loaded by other {@link CollectionLoadContext}s/{@link ResultSet}s. - - - - - Locate the LoadingCollectionEntry within *any* of the tracked - s. - - The collection key. - The located entry; or null. - - Implementation note: package protected, as this is meant solely for use - by to be able to locate collections - being loaded by other s/ResultSets. - - - - - Retrieves the persistence context to which this is bound. - - - - - Do we currently have any internal entries corresponding to loading - collections? - - True if we currently hold state pertaining to loading collections; false otherwise. - - - - Do we currently have any registered internal entries corresponding to loading - collections? - True if we currently hold state pertaining to a registered loading collections; false otherwise. - - - - - Represents a collection currently being loaded. - - - - Describes a return in a native SQL query. - - - - Represents a return defined as part of a native sql query which - names a collection role in the form {classname}.{collectionrole}; it - is used in defining a custom sql query for loading an entity's - collection in non-fetching scenarios (i.e., loading the collection - itself as the "root" of the result). - - - - - Represents the base information for a non-scalar return defined as part of - a native sql query. - - - - Constructs some form of non-scalar return descriptor - The result alias - Any user-supplied column->property mappings - The lock mode to apply to the return. - - - Retrieve the defined result alias - - - Retrieve the lock-mode to apply to this return - - - Retrieve the user-supplied column->property mappings. - - - Construct a native-sql return representing a collection initializer - The result alias - - The entity-name of the entity owning the collection to be initialized. - - - The property name (on the owner) which represents - the collection to be initialized. - - Any user-supplied column->property mappings - The lock mode to apply to the collection. - - - - The class owning the collection. - - - - - The name of the property representing the collection from the . - - - - - Represents a return defined as part of a native sql query which - names a fetched role. - - - - Construct a return descriptor representing some form of fetch. - The result alias - The owner's result alias - The owner's property representing the thing to be fetched - Any user-supplied column->property mappings - The lock mode to apply - - - The alias of the owner of this fetched association. - - - - Retrieve the property name (relative to the owner) which maps to - the association to be fetched. - - - - - Represents a return defined as part of a native sql query which - names a "root" entity. A root entity means it is explicitly a - "column" in the result, as opposed to a fetched relationship or role. - - - - - Construct a return representing an entity returned at the root - of the result. - - The result alias - The entity name. - The lock mode to apply - - - - Construct a return representing an entity returned at the root - of the result. - - The result alias - The entity name. - Any user-supplied column->property mappings - The lock mode to apply - - - The name of the entity to be returned. - - - Describes a scalar return in a native SQL query. - - - - Extends an HQLQueryPlan to maintain a reference to the collection-role name - being filtered. - - - - Defines a query execution plan for an HQL query (or filter). - - - Descriptor regarding a named parameter. - - - - Not supported yet (AST parse needed) - - - - Defines a query execution plan for a native-SQL query. - - - Encapsulates metadata about parameters encountered within a query. - - - - The single available method - is responsible for parsing a query string and recognizing tokens in - relation to parameters (either named, ejb3-style, or ordinal) and - providing callbacks about such recognitions. - - - - - Performs the actual parsing and tokenizing of the query string making appropriate - callbacks to the given recognizer upon recognition of the various tokens. - - - Note that currently, this only knows how to deal with a single output - parameter (for callable statements). If we later add support for - multiple output params, this, obviously, needs to change. - - The string to be parsed/tokenized. - The thing which handles recognition events. - - - - - Implements a parameter parser recognizer specifically for the purpose - of journaling parameter locations. - - - - - Convenience method for creating a param location recognizer and - initiating the parse. - - The query to be parsed for parameter locations. - The generated recognizer, with journaled location info. - - - - The dictionary of named parameter locations. - The dictionary is keyed by parameter name. - - - - - The list of ordinal parameter locations. - - - The list elements are integers, representing the location for that given ordinal. - Thus OrdinalParameterLocationList[n] represents the location for the nth parameter. - - - - Defines metadata regarding a translated HQL or native-SQL query. - - - Get the source HQL or native-SQL query. - - - Return source query select clause aliases (if any) - - - An array of types describing the returns of the source query. - - - The set of query spaces affected by this source query. - - - Acts as a cache for compiled query plans, as well as query-parameter metadata. - - - - Represents work that needs to be performed in a manner - which isolates it from any current application unit of - work transaction. - - - - - Perform the actual work to be done. - - The ADP connection to use. - The active transaction of the connection. - - - - Class which provides the isolation semantics required by - an . - - - - - Processing comes in two flavors: - - - - makes sure the work to be done is performed in a seperate, distinct transaction - - - - makes sure the work to be done is performed outside the scope of any transaction - - - - - - - Ensures that all processing actually performed by the given work will - occur on a seperate transaction. - - The work to be performed. - The session from which this request is originating. - - - - Ensures that all processing actually performed by the given work will - occur outside of a transaction. - - The work to be performed. - The session from which this request is originating. - - - - Responsible for maintaining the queue of actions related to events. - - The ActionQueue holds the DML operations queued as part of a session's - transactional-write-behind semantics. DML operations are queued here - until a flush forces them to be executed against the database. - - - - - - Perform all currently queued entity-insertion actions. - - - - - Perform all currently queued actions. - - - - - Prepares the internal action queues for execution. - - - - - Execute any registered - - - - - Performs cleanup of any held cache softlocks. - - Was the transaction successful. - - - - Check whether the given tables/query-spaces are to be executed against - given the currently queued actions. - - The table/query-spaces to check. - True if we contain pending actions against any of the given tables; false otherwise. - - - - Check whether any insertion or deletion actions are currently queued. - - True if insertions or deletions are currently queued; false otherwise. - - - - Identifies a named association belonging to a particular - entity instance. Used to record the fact that an association - is null during loading. - - - - - Defines a sequence of elements that are currently - eligible for batch fetching. - - - Even though this is a map, we only use the keys. A map was chosen in - order to utilize a to maintain sequencing - as well as uniqueness. - - - - - A map of subselect-fetch descriptors - keyed by the against which the descriptor is - registered. - - - - - The owning persistence context. - - - - - Constructs a queue for the given context. - - The owning persistence context. - - - - Clears all entries from this fetch queue. - - - - - Retrieve the fetch descriptor associated with the given entity key. - - The entity key for which to locate any defined subselect fetch. - The fetch descriptor; may return null if no subselect fetch queued for - this entity key. - - - - Adds a subselect fetch decriptor for the given entity key. - - The entity for which to register the subselect fetch. - The fetch descriptor. - - - - After evicting or deleting an entity, we don't need to - know the query that was used to load it anymore (don't - call this after loading the entity, since we might still - need to load its collections) - - - - - Clears all pending subselect fetches from the queue. - - - Called after flushing. - - - - - If an EntityKey represents a batch loadable entity, add - it to the queue. - - - Note that the contract here is such that any key passed in should - previously have been been checked for existence within the - ; failure to do so may cause the - referenced entity to be included in a batch even though it is - already associated with the . - - - - - After evicting or deleting or loading an entity, we don't - need to batch fetch it anymore, remove it from the queue - if necessary - - - - - Get a batch of uninitialized collection keys for a given role - - The persister for the collection role. - A key that must be included in the batch fetch - the maximum number of keys to return - The entity mode. - an array of collection keys, of length batchSize (padded with nulls) - - - - Get a batch of unloaded identifiers for this class, using a slightly - complex algorithm that tries to grab keys registered immediately after - the given key. - - The persister for the entities being loaded. - The identifier of the entity currently demanding load. - The maximum number of keys to return - The entity mode. - an array of identifiers, of length batchSize (possibly padded with nulls) - - - - The types of children to cascade to - - - - - A cascade point that occurs just after the insertion of the parent - entity and just before deletion - - - - - A cascade point that occurs just before the insertion of the parent entity - and just after deletion - - - - - A cascade point that occurs just after the insertion of the parent entity - and just before deletion, inside a collection - - - - - A cascade point that occurs just after the update of the parent entity - - - - A cascade point that occurs just before the session is flushed - - - - A cascade point that occurs just after eviction of the parent entity from the - session cache - - - - - A cascade point that occurs just after locking a transient parent entity into the - session cache - - - - - A cascade point that occurs just after locking a transient parent entity into the session cache - - - - - A cascade point that occurs just before merging from a transient parent entity into - the object in the session cache - - - - - Delegate responsible, in conjunction with the various - , for implementing cascade processing. - - - - Cascade an action from the parent entity instance to all its children. - The parent's entity persister - The parent reference. - - - - Cascade an action from the parent entity instance to all its children. This - form is typicaly called from within cascade actions. - - The parent's entity persister - The parent reference. - - Typically some form of cascade-local cache - which is specific to each CascadingAction type - - - - Cascade an action to the child or children - - - Cascade an action to a collection - - - Cascade an action to a to-one association or any type - - - Cascade to the collection elements - - - Delete any entities that were removed from the collection - - - A contract for defining the aspects of cascading various persistence actions. - - - - package-protected constructor - - - For this style, should the given action be cascaded? - The action to be checked for cascade-ability. - True if the action should be cascaded under this style; false otherwise. - - - - Probably more aptly named something like doCascadeToCollectionElements(); - it is however used from both the collection and to-one logic branches... - - The action to be checked for cascade-ability. - True if the action should be really cascaded under this style; false otherwise. - - For this style, should the given action really be cascaded? The default - implementation is simply to return {@link #doCascade}; for certain - styles (currently only delete-orphan), however, we need to be able to - control this separately. - - - - Factory method for obtaining named cascade styles - The named cascade style name. - The appropriate CascadeStyle - - - save / delete / update / evict / lock / replicate / merge / persist + delete orphans - - - save / delete / update / evict / lock / replicate / merge / persist - - - save / update - - - lock - - - refresh - - - evict - - - replicate - - - merge - - - create - - - delete - - - delete + delete orphans - - - no cascades - - - Do we need to delete orphaned collection elements? - True if this style need to account for orphan delete operations; false otherwise. - - - - A session action that may be cascaded from parent entity to its children - - - - Cascade the action to the child object. - The session within which the cascade is occurring. - The child to which cascading should be performed. - The child's entity name - Typically some form of cascade-local cache which is specific to each CascadingAction type - Are cascading deletes enabled. - - - - Given a collection, get an iterator of the children upon which the - current cascading action should be visited. - - The session within which the cascade is occurring. - The mapping type of the collection. - The collection instance. - The children iterator. - - - - Called (in the case of returning true) to validate - that no cascade on the given property is considered a valid semantic. - - The session within which the cascade is occurring. - The property value - The property value owner - The entity persister for the owner - The index of the property within the owner. - - - - Given a collection, get an iterator of all its children, loading them - from the database if necessary. - - The session within which the cascade is occurring. - The mapping type of the collection. - The collection instance. - The children iterator. - - - - Iterate just the elements of the collection that are already there. Don't load - any new elements from the database. - - - - - - - - - - - - - - - - - - - - - - - - - - - - Execute persist during flush time - - - - - - - Does this action potentially extrapolate to orphan deletes? - True if this action can lead to deletions of orphans. - - - Does the specified cascading action require verification of no cascade validity? - True if this action requires no-cascade verification; false otherwise. - - - Should this action be performed (or noCascade consulted) in the case of lazy properties. - - - - We need an entry to tell us all about the current state - of a collection with respect to its persistent state - - - - session-start/post-flush persistent state - - - allow the snapshot to be serialized - - - - The when the Collection was loaded. - - - This can be if the Collection was not loaded by NHibernate and - was passed in along with a transient object. - - - - - The identifier of the Entity that is the owner of this Collection - during the load or post flush. - - - - - Indicates that the Collection can still be reached by an Entity - that exist in the . - - - It is also used to ensure that the Collection is not shared between - two Entities. - - - - - Indicates that the Collection has been processed and is ready - to have its state synchronized with the database. - - - - - Indicates that a Collection needs to be updated. - - - A Collection needs to be updated whenever the contents of the Collection - have been changed. - - - - - Indicates that a Collection has old elements that need to be removed. - - - A Collection needs to have removals performed whenever its role changes or - the key changes and it has a loadedPersister - ie - it was loaded by NHibernate. - - - - - Indicates that a Collection needs to be recreated. - - - A Collection needs to be recreated whenever its role changes - or the owner changes. - - - - - If we instantiate a collection during the - process, we must ignore it for the rest of the flush. - - - - - The that is currently responsible - for the Collection. - - - This is set when NHibernate is updating a reachable or an - unreachable collection. - - - - - Initializes a new instance of . - - - For newly wrapped collections, or dereferenced collection wrappers - - - - For collections just loaded from the database - - - - Initializes a new instance of for initialized detached collections. - - - For initialized detached collections - - - - - Determine if the collection is "really" dirty, by checking dirtiness - of the collection elements, if necessary - - - - - Prepares this CollectionEntry for the Flush process. - - The that this CollectionEntry will be responsible for flushing. - - - - Updates the CollectionEntry to reflect that the - has been initialized. - - The initialized that this Entry is for. - - - - Updates the CollectionEntry to reflect that it is has been successfully flushed to the database. - - The that was flushed. - - Called after a successful flush. - - - - - Sets the information in this CollectionEntry that is specific to the - . - - - The that is - responsible for the Collection. - - - - - - - - - - - - - - Uniquely identifies a collection instance in a particular session. - - - - - Record the fact that this collection was dereferenced - - The collection to be updated by unreachability. - The session. - - - - Initialize the role of the collection. - - The collection to be updated by reachibility. - The type of the collection. - The owner of the collection. - The session. - - - - We need an entry to tell us all about the current state - of an object with respect to its persistent state - - - - - Initializes a new instance of EntityEntry. - - The current of the Entity. - The snapshot of the Entity's state when it was loaded. - - The identifier of the Entity in the database. - The version of the Entity. - The for the Entity. - A boolean indicating if the Entity exists in the database. - The that is responsible for this Entity. - - - - - - - After actually inserting a row, record the fact that the instance exists on the - database (needed for identity-column key generation) - - - - - After actually updating the database, update the snapshot information, - and escalate the lock mode. - - - - - After actually deleting a row, record the fact that the instance no longer - exists in the database - - - - - Gets or sets the current of the Entity. - - The of the Entity. - - - - Gets or sets the of this Entity with respect to its - persistence in the database. - - The of this Entity. - - - - Gets or sets the identifier of the Entity in the database. - - The identifier of the Entity in the database if one has been assigned. - This might be when the is - and the database generates the id. - - - - Gets or sets the snapshot of the Entity when it was loaded from the database. - - The snapshot of the Entity. - - There will only be a value when the Entity was loaded in the current Session. - - - - - Gets or sets the snapshot of the Entity when it was marked as being ready for deletion. - - The snapshot of the Entity. - This will be if the Entity is not being deleted. - - - - Gets or sets a indicating if this Entity exists in the database. - - if it is already in the database. - - It can also be if it does not exists in the database yet and the - is . - - - - - Gets or sets the version of the Entity. - - The version of the Entity. - - - - Gets or sets the that is responsible for this Entity. - - The that is responsible for this Entity. - - - - Gets the Fully Qualified Name of the class this Entity is an instance of. - - The Fully Qualified Name of the class this Entity is an instance of. - - - - A globally unique identifier of an instance, consisting of the user-visible identifier - and the identifier space (eg. tablename) - - - - Construct a unique identifier for an entity class instance - - - Used to reconstruct an EntityKey during deserialization. - The identifier value - The root entity name - The specific entity name - The type of the identifier value - Whether represented entity is eligible for batch loading - The session factory - The entity's entity mode - - - - To use in deserialization callback - - - - - - Used to uniquely key an entity instance in relation to a particular session - by some unique property reference, as opposed to identifier. - Uniqueing information consists of the entity-name, the referenced - property name, and the referenced property value. - - - - - - A FilterDefinition defines the global attributes of a dynamic filter. This - information includes its name as well as its defined parameters (name and type). - - - - - Set the named parameter's value list for this filter. - - The name of the filter for which this configuration is in effect. - The default filter condition. - A dictionary storing the NHibernate type - of each parameter under its name. - if set to true used in many to one rel - - - - Retreive the type of the named parameter defined for this filter. - - The name of the filter parameter for which to return the type. - The type of the named parameter. - - - - Gets a value indicating whether to use this filter-def in manytoone refs. - - true if [use in many to one]; otherwise, false. - - - - Get the name of the filter this configuration defines. - - The filter name for this configuration. - - - - Get a set of the parameters defined by this configuration. - - The parameters named by this configuration. - - - Algorithms related to foreign key constraint transparency - - - - Is this instance persistent or detached? - - - If is non-null, don't hit the database to make the - determination, instead assume that value; the client code must be - prepared to "recover" in the case that this assumed result is incorrect. - - - - - Is this instance, which we know is not persistent, actually transient? - If assumed is non-null, don't hit the database to make the - determination, instead assume that value; the client code must be - prepared to "recover" in the case that this assumed result is incorrect. - - - If is non-null, don't hit the database to make the - determination, instead assume that value; the client code must be - prepared to "recover" in the case that this assumed result is incorrect. - - - - - Return the identifier of the persistent or transient object, or throw - an exception if the instance is "unsaved" - - - Used by OneToOneType and ManyToOneType to determine what id value should - be used for an object that may or may not be associated with the session. - This does a "best guess" using any/all info available to use (not just the - EntityEntry). - - - - - Nullify all references to entities that have not yet - been inserted in the database, where the foreign key - points toward that entity - - - - - Return null if the argument is an "unsaved" entity (ie. - one with no existing database row), or the input argument - otherwise. This is how Hibernate avoids foreign key constraint - violations. - - - - - Determine if the object already exists in the database, using a "best guess" - - - - - A strategy for determining if an identifier value is an identifier of a new - transient instance or a previously persistent transient instance. The strategy - is determined by the Unsaved-Value attribute in the mapping file. - - - - - - - - Assume the transient instance is newly instantiated if its identifier is null or - equal to Value - - - - - - Does the given identifier belong to a new instance - - - - - Always assume the transient instance is newly instantiated - - - - - Never assume that transient instance is newly instantiated - - - - - Assume the transient instance is newly instantiated if the identifier - is null. - - - - Assume nothing. - - - - Holds the state of the persistence context, including the - first-level cache, entries, snapshots, proxies, etc. - - - - Add a collection which has no owner loaded - - - - Get and remove a collection whose owner is not yet loaded, - when its owner is being loaded - - - - Clear the state of the persistence context - - - Set the status of an entry - - - Called after transactions end - - - - Get the current state of the entity as known to the underlying - database, or null if there is no corresponding row - - - - - Retrieve the cached database snapshot for the requested entity key. - - The entity key for which to retrieve the cached snapshot - The cached snapshot - - - This differs from is two important respects: - no snapshot is obtained from the database if not already cached - an entry of NO_ROW here is interpreted as an exception - - - - - - Get the values of the natural id fields as known to the underlying - database, or null if the entity has no natural id or there is no - corresponding row. - - - - Add a canonical mapping from entity key to entity instance - - - - Get the entity instance associated with the given EntityKey - - - - Is there an entity with the given key in the persistence context - - - - Remove an entity from the session cache, also clear - up other state associated with the entity, all except - for the EntityEntry - - - - Get an entity cached by unique key - - - Add an entity to the cache by unique key - - - - Retrieve the EntityEntry representation of the given entity. - - The entity for which to locate the EntityEntry. - The EntityEntry for the given entity. - - - Remove an entity entry from the session cache - - - Is there an EntityEntry for this instance? - - - Get the collection entry for a persistent collection - - - Adds an entity to the internal caches. - - - - Generates an appropriate EntityEntry instance and adds it - to the event source's internal caches. - - - - Is the given collection associated with this persistence context? - - - Is the given proxy associated with this persistence context? - - - - Takes the given object and, if it represents a proxy, reassociates it with this event source. - - The possible proxy to be reassociated. - Whether the passed value represented an actual proxy which got initialized. - - - - If a deleted entity instance is re-saved, and it has a proxy, we need to - reset the identifier of the proxy - - - - - Get the entity instance underlying the given proxy, throwing - an exception if the proxy is uninitialized. If the given object - is not a proxy, simply return the argument. - - - - - Possibly unproxy the given reference and reassociate it with the current session. - - The reference to be unproxied if it currently represents a proxy. - The unproxied instance. - - - - Attempts to check whether the given key represents an entity already loaded within the - current session. - - The entity reference against which to perform the uniqueness check. - The entity key. - - - - If the existing proxy is insufficiently "narrow" (derived), instantiate a new proxy - and overwrite the registration of the old one. This breaks == and occurs only for - "class" proxies rather than "interface" proxies. Also init the proxy to point to - the given target implementation if necessary. - - The proxy instance to be narrowed. - The persister for the proxied entity. - The internal cache key for the proxied entity. - (optional) the actual proxied entity instance. - An appropriately narrowed instance. - - - - Return the existing proxy associated with the given EntityKey, or the - third argument (the entity associated with the key) if no proxy exists. Init - the proxy to the target implementation, if necessary. - - - - - Return the existing proxy associated with the given EntityKey, or the - argument (the entity associated with the key) if no proxy exists. - (slower than the form above) - - - - Get the entity that owns this persistent collection - - - Get the entity that owned this persistent collection when it was loaded - The persistent collection - - The owner if its entity ID is available from the collection's loaded key - and the owner entity is in the persistence context; otherwise, returns null - - - - Get the ID for the entity that owned this persistent collection when it was loaded - The persistent collection - the owner ID if available from the collection's loaded key; otherwise, returns null - - - add a collection we just loaded up (still needs initializing) - - - add a detached uninitialized collection - - - - Add a new collection (ie. a newly created one, just instantiated by the - application, with no database state or snapshot) - - The collection to be associated with the persistence context - - - - - add an (initialized) collection that was created by another session and passed - into update() (ie. one with a snapshot and existing state on the database) - - - - add a collection we just pulled out of the cache (does not need initializing) - - - Get the collection instance associated with the CollectionKey - - - - Register a collection for non-lazy loading at the end of the two-phase load - - - - - Force initialization of all non-lazy collections encountered during - the current two-phase load (actually, this is a no-op, unless this - is the "outermost" load) - - - - Get the PersistentCollection object for an array - - - Register a PersistentCollection object for an array. - Associates a holder with an array - MUST be called after loading - array, since the array instance is not created until endLoad(). - - - - - Remove the mapping of collection to holder during eviction of the owning entity - - - - Get the snapshot of the pre-flush collection state - - - - Get the collection entry for a collection passed to filter, - which might be a collection wrapper, an array, or an unwrapped - collection. Return null if there is no entry. - - - - Get an existing proxy by key - - - Add a proxy to the session cache - - - Remove a proxy from the session cache - - - Called before cascading - - - Called after cascading - - - Call this before beginning a two-phase load - - - Call this after finishing a two-phase load - - - - Search the persistence context for an owner for the child object, - given a collection role - - - - - Search the persistence context for an index of the child object, given a collection role - - - - - Record the fact that the association belonging to the keyed entity is null. - - - - Is the association property belonging to the keyed entity null? - - - Set the object to read only and discard it's snapshot - - - - Get the session to which this persistence context is bound. - - - - - Retrieve this persistence context's managed load context. - - - - - Get the BatchFetchQueue, instantiating one if necessary. - - - - Retrieve the set of EntityKeys representing nullifiable references - - - Get the mapping from key value to entity instance - - - Get the mapping from entity instance to entity entry - - - Get the mapping from collection instance to collection entry - - - Get the mapping from collection key to collection instance - - - How deep are we cascaded? - - - Is a flush cycle currently in process? - Called before and after the flushcycle - - - False if we know for certain that all the entities are read-only - - - - Defines the internal contract between the ISessionFactory and other parts of NHibernate - such as implementors of IType. - - - - - Creates ISessions. - - - - Usually an application has a single SessionFactory. Threads servicing client requests - obtain ISessions from the factory. Implementors must be threadsafe. - - - ISessionFactorys are immutable. The behaviour of a SessionFactory - is controlled by properties supplied at configuration time. - These properties are defined on Environment - - - - - - Open a ISession on the given connection - - A connection provided by the application - A session - - Note that the second-level cache will be disabled if you - supply a ADO.NET connection. NHibernate will not be able to track - any statements you might have executed in the same transaction. - Consider implementing your own . - - - - - Create database connection and open a ISession on it, specifying an interceptor - - A session-scoped interceptor - A session - - - - Open a ISession on the given connection, specifying an interceptor - - A connection provided by the application - A session-scoped interceptor - A session - - Note that the second-level cache will be disabled if you - supply a ADO.NET connection. NHibernate will not be able to track - any statements you might have executed in the same transaction. - Consider implementing your own . - - - - - Create a database connection and open a ISession on it - - - - - - Get the associated with the given entity class - - the given entity type. - The class metadata or if not found. - - - - Get the associated with the given entity name - the given entity name. - The class metadata or if not found. - - - - - Get the CollectionMetadata associated with the named collection role - - - - - - - Get all as a from entityname - to metadata object - - A dictionary from an entity name to - - - - Get all CollectionMetadata as a IDictionary from role name - to metadata object - - - - - - Destroy this SessionFactory and release all resources - connection pools, etc). It is the responsibility of the application - to ensure that there are no open Sessions before calling - close(). - - - - - Evict all entries from the process-level cache. This method occurs outside - of any transaction; it performs an immediate "hard" remove, so does not respect - any transaction isolation semantics of the usage strategy. Use with care. - - - - - - Evict an entry from the process-level cache. This method occurs outside - of any transaction; it performs an immediate "hard" remove, so does not respect - any transaction isolation semantics of the usage strategy. Use with care. - - - - - - - Evict all entries from the second-level cache. This method occurs outside - of any transaction; it performs an immediate "hard" remove, so does not respect - any transaction isolation semantics of the usage strategy. Use with care. - - - - - Evict an entry from the second-level cache. This method occurs outside - of any transaction; it performs an immediate "hard" remove, so does not respect - any transaction isolation semantics of the usage strategy. Use with care. - - - - - Evict all entries from the process-level cache. This method occurs outside - of any transaction; it performs an immediate "hard" remove, so does not respect - any transaction isolation semantics of the usage strategy. Use with care. - - - - - - Evict an entry from the process-level cache. This method occurs outside - of any transaction; it performs an immediate "hard" remove, so does not respect - any transaction isolation semantics of the usage strategy. Use with care. - - - - - - - Evict any query result sets cached in the default query cache region. - - - - - Evict any query result sets cached in the named query cache region. - - - - - Get a new stateless session. - - - Get a new stateless session for the given ADO.NET connection. - - - - Obtain the definition of a filter by name. - - The name of the filter for which to obtain the definition. - The filter definition. - - - - Obtains the current session. - - - - The definition of what exactly "current" means is controlled by the - implementation configured for use. - - - The current session. - Indicates an issue locating a suitable current session. - - - Get the statistics for this session factory - - - Was this already closed? - - - - Obtain a set of the names of all filters defined on this SessionFactory. - - The set of filter names. - - - - Get the persister for the named entity - - The name of the entity that is persisted. - The for the entity. - If no can be found. - - - - Get the persister object for a collection role - - - - - - - Get the return types of a query - - - - - - Get the return aliases of a query - - - - Get the names of all persistent classes that implement/extend the given interface/class - - - - - - - Get a class name, using query language imports - - - - - - - Get a particular named query cache, or the default cache - - the name of the cache region, or null for the default - query cache - the existing cache, or a newly created cache if none by that - region name - - - - Gets the hql query identified by the name. - - The name of that identifies the query. - - A hql query or if the named - query does not exist. - - - - - Get the identifier generator for the hierarchy - - - - Get a named second-level cache region - - - - Open a session conforming to the given parameters. Used mainly - for current session processing. - - The external ado.net connection to use, if one (i.e., optional). - - Should the session be auto-flushed - prior to transaction completion? - - - Should the session be auto-closed after - transaction completion? - - The release mode for managed jdbc connections. - An appropriate session. - - - - Retrieves a set of all the collection roles in which the given entity - is a participant, as either an index or an element. - - The entity name for which to get the collection roles. - - Set of all the collection roles in which the given entityName participates. - - - - - Get the persister for the named entity - - The name of the entity that is persisted. - - The for the entity or is the name was not found. - - - - - Get the entity-name for a given mapped class. - - the mapped class - the enntity name where available or null - - - - Get the SQL . - - - - - Get the used. - - - - The cache of table update timestamps - - - Statistics SPI - - - Retrieves the SQLExceptionConverter in effect for this SessionFactory. - The SQLExceptionConverter for this SessionFactory. - - - - Get the default query cache - - - - - Gets the ICurrentSessionContext instance attached to this session factory. - - - - - Defines the internal contract between the Session and other parts of Hibernate - such as implementors of Type or ClassPersister - - - - - Initialize the session after its construction was complete - - - - - Initialize the collection (if not already initialized) - - - - - - - Load an instance without checking if it was deleted. If it does not exist and isn't nullable, throw an exception. - This method may create a new proxy or return an existing proxy. - - The entityName (or class full name) to load. - The identifier of the object in the database. - Allow null instance - When enabled, the object is eagerly fetched. - - A proxy of the object or an instance of the object if the persistentClass does not have a proxy. - - No object could be found with that id. - - - - Load an instance immediately. Do not return a proxy. - - - - - - - - Execute a List() query - - - - - - - - Execute a List() expression query - - - - - - - - Strongly-typed version of - - - - - Strongly-typed version of - - - - - Execute an Iterate() query - - - - - - - - Strongly-typed version of - - - - - Execute a filter - - - - - Execute a filter (strongly-typed version). - - - - - Collection from a filter - - - - - Strongly-typed version of - - - - Get the for any instance - optional entity name - the entity instance - - - - Notify the session that an NHibernate transaction has begun. - - - - - Notify the session that the transaction is about to complete - - - - - Notify the session that the transaction completed, so we no longer own the old locks. - (Also we should release cache softlocks). May be called multiple times during the transaction - completion process. - - - - - Return the identifier of the persistent object, or null if transient - - - - - Instantiate the entity class, initializing with the given identifier - - - - - Execute an SQL Query - - - - - Strongly-typed version of - - - - Execute an SQL Query - - - - Retrieve the currently set value for a filter parameter. - - The filter parameter name in the format - {FILTER_NAME.PARAMETER_NAME}. - The filter parameter value. - - - - Retrieve the type for a given filter parameter. - - The filter parameter name in the format - {FILTER_NAME.PARAMETER_NAME}. - The filter parameter type. - - - - Get the entity instance associated with the given Key, - calling the Interceptor if necessary - - - - The best guess entity name for an entity not in an association - - - The guessed entity name for an entity not in an association - - - Execute a native SQL update or delete query - - - Execute a HQL update or delete query - - - - System time before the start of the transaction - - - - - - Get the creating SessionFactoryImplementor - - - - - - Get the prepared statement Batcher for this session - - - - - Return the currently enabled filters. The filter map is keyed by filter - name, with values corresponding to the - instance. - - The currently enabled filters. - - - Retrieves the configured event listeners from this event source. - - - Get the persistence context for this session - - - - Is the ISession still open? - - - - - Is the ISession currently connected? - - - - Determine whether the session is closed. Provided separately from - {@link #isOpen()} as this method does not attempt any JTA synch - registration, where as {@link #isOpen()} does; which makes this one - nicer to use for most internal purposes. - - True if the session is closed; false otherwise. - - - - - Does this Session have an active Hibernate transaction - or is there a JTA transaction in progress? - - - - Retrieve the entity mode in effect for this session. - - - - Get the columns of the associated table which are to - be used in the join - - - - - Get the aliased columns of the owning entity which are to - be used in the join - - - - - Get the columns of the owning entity which are to - be used in the join - - - - - Implements the algorithm for validating property values - for illegal null values - - - - - Check nullability of the class persister properties - - entity properties - class persister - wether it is intended to be updated or saved - - - - Check sub elements-nullability. Returns property path that break - nullability or null if none - - type to check - value to check - property path - - - - Check component nullability. Returns property path that break - nullability or null if none - - component properties - component not-nullable type - property path - - - - Return a well formed property path. - Basicaly, it will return parent.child - - parent in path - child in path - parent-child path - - - - Container for data that is used during the NHibernate query/load process. - - - - - - - - Ensure the Types and Values are the same length. - - - If the Lengths of and - are not equal. - - - - - - - - Named parameters. - - - - - Gets or sets an array of objects that is stored at the index - of the Parameter. - - - - - Gets or sets an array of objects that is stored at the index - of the Parameter. - - - - - Gets or sets the for the Query. - - - - - Gets or sets an that contains the alias name of the - object from hql as the key and the as the value. - - An of lock modes. - - - - Information to determine how to run an IDbCommand and what - records to return from the IDataReader. - - - - - Indicates that the no value has been set on the Property. - - - - - Gets or Sets the Index of the First Row to Select - - The Index of the First Rows to Select - Defaults to 0 unless specifically set. - - - - Gets or Sets the Maximum Number of Rows to Select - - The Maximum Number of Rows to Select - Defaults to NoValue unless specifically set. - - - - Gets or Sets the Timeout of the Query - - The Query Timeout - Defaults to NoValue unless specifically set. - - - - A represents the state of persistent "stuff" which - NHibernate is tracking. This includes persistent entities, collections, - as well as proxies generated. - - - There is meant to be a one-to-one correspondence between a SessionImpl and - a PersistentContext. The SessionImpl uses the PersistentContext to track - the current state of its context. Event-listeners then use the - PersistentContext to drive their processing. - - - - Constructs a PersistentContext, bound to the given session. - The session "owning" this context. - - - Add a collection which has no owner loaded - - - - Get and remove a collection whose owner is not yet loaded, - when its owner is being loaded - - - - Clear the state of the persistence context - - - Set the status of an entry - - - Called after transactions end - - - - Get the current state of the entity as known to the underlying - database, or null if there is no corresponding row - - - - - Retrieve the cached database snapshot for the requested entity key. - - The entity key for which to retrieve the cached snapshot - The cached snapshot - - - This differs from is two important respects: - no snapshot is obtained from the database if not already cached - an entry of NO_ROW here is interpreted as an exception - - - - - - Get the values of the natural id fields as known to the underlying - database, or null if the entity has no natural id or there is no - corresponding row. - - - - Add a canonical mapping from entity key to entity instance - - - - Get the entity instance associated with the given EntityKey - - - - Is there an entity with the given key in the persistence context - - - - Remove an entity from the session cache, also clear - up other state associated with the entity, all except - for the EntityEntry - - - - Get an entity cached by unique key - - - Add an entity to the cache by unique key - - - - Retrieve the EntityEntry representation of the given entity. - - The entity for which to locate the EntityEntry. - The EntityEntry for the given entity. - - - Remove an entity entry from the session cache - - - Is there an EntityEntry for this instance? - - - Get the collection entry for a persistent collection - - - Adds an entity to the internal caches. - - - - Generates an appropriate EntityEntry instance and adds it - to the event source's internal caches. - - - - Is the given collection associated with this persistence context? - - - Is the given proxy associated with this persistence context? - - - - Takes the given object and, if it represents a proxy, reassociates it with this event source. - - The possible proxy to be reassociated. - Whether the passed value represented an actual proxy which got initialized. - - - - If a deleted entity instance is re-saved, and it has a proxy, we need to - reset the identifier of the proxy - - - - - Associate a proxy that was instantiated by another session with this session - - The proxy initializer. - The proxy to reassociate. - - - - Get the entity instance underlying the given proxy, throwing - an exception if the proxy is uninitialized. If the given object - is not a proxy, simply return the argument. - - - - - Possibly unproxy the given reference and reassociate it with the current session. - - The reference to be unproxied if it currently represents a proxy. - The unproxied instance. - - - - Attempts to check whether the given key represents an entity already loaded within the - current session. - - The entity reference against which to perform the uniqueness check. - The entity key. - - - - If the existing proxy is insufficiently "narrow" (derived), instantiate a new proxy - and overwrite the registration of the old one. This breaks == and occurs only for - "class" proxies rather than "interface" proxies. Also init the proxy to point to - the given target implementation if necessary. - - The proxy instance to be narrowed. - The persister for the proxied entity. - The internal cache key for the proxied entity. - (optional) the actual proxied entity instance. - An appropriately narrowed instance. - - - - Return the existing proxy associated with the given EntityKey, or the - third argument (the entity associated with the key) if no proxy exists. Init - the proxy to the target implementation, if necessary. - - - - - Return the existing proxy associated with the given EntityKey, or the - argument (the entity associated with the key) if no proxy exists. - (slower than the form above) - - - - Get the entity that owns this persistent collection - - - Get the entity that owned this persistent collection when it was loaded - The persistent collection - - The owner, if its entity ID is available from the collection's loaded key - and the owner entity is in the persistence context; otherwise, returns null - - - - Get the ID for the entity that owned this persistent collection when it was loaded - The persistent collection - the owner ID if available from the collection's loaded key; otherwise, returns null - - - Get the ID for the entity that owned this persistent collection when it was loaded - The collection entry - the owner ID if available from the collection's loaded key; otherwise, returns null - - - add a collection we just loaded up (still needs initializing) - - - add a detached uninitialized collection - - - - Add a new collection (ie. a newly created one, just instantiated by the - application, with no database state or snapshot) - - The collection to be associated with the persistence context - - - - Add an collection to the cache, with a given collection entry. - The collection for which we are adding an entry. - The entry representing the collection. - The key of the collection's entry. - - - Add a collection to the cache, creating a new collection entry for it - The collection for which we are adding an entry. - The collection persister - - - - add an (initialized) collection that was created by another session and passed - into update() (ie. one with a snapshot and existing state on the database) - - - - add a collection we just pulled out of the cache (does not need initializing) - - - Get the collection instance associated with the CollectionKey - - - - Register a collection for non-lazy loading at the end of the two-phase load - - - - - Force initialization of all non-lazy collections encountered during - the current two-phase load (actually, this is a no-op, unless this - is the "outermost" load) - - - - Get the PersistentCollection object for an array - - - Register a PersistentCollection object for an array. - Associates a holder with an array - MUST be called after loading - array, since the array instance is not created until endLoad(). - - - - - Remove the mapping of collection to holder during eviction of the owning entity - - - - Get the snapshot of the pre-flush collection state - - - - Get the collection entry for a collection passed to filter, - which might be a collection wrapper, an array, or an unwrapped - collection. Return null if there is no entry. - - - - Get an existing proxy by key - - - Add a proxy to the session cache - - - Remove a proxy from the session cache - - - Called before cascading - - - Called after cascading - - - Call this before begining a two-phase load - - - Call this after finishing a two-phase load - - - - Search the persistence context for an owner for the child object, - given a collection role - - - - - Search the persistence context for an index of the child object, given a collection role - - - - - Record the fact that the association belonging to the keyed entity is null. - - - - Is the association property belonging to the keyed entity null? - - - Set the object to read only and discard it's snapshot - - - - Get the session to which this persistence context is bound. - - - - - Retrieve this persistence context's managed load context. - - - - - Get the BatchFetchQueue, instantiating one if necessary. - - - - Retrieve the set of EntityKeys representing nullifiable references - - - Get the mapping from key value to entity instance - - - Get the mapping from entity instance to entity entry - - - Get the mapping from collection instance to collection entry - - - Get the mapping from collection key to collection instance - - - How deep are we cascaded? - - - Is a flush cycle currently in process? - Called before and after the flushcycle - - - False if we know for certain that all the entities are read-only - - - - Represents the status of an entity with respect to - this session. These statuses are for internal - book-keeping only and are not intended to represent - any notion that is visible to the application. - - - - - The Entity is snapshotted in the Session with the same state as the database - (called Managed in H3). - - - - - The Entity is in the Session and has been marked for deletion but not - deleted from the database yet. - - - - - The Entity has been deleted from database. - - - - - The Entity is in the process of being loaded. - - - - - The Entity is in the process of being saved. - - - - - The entity is read-only. - - - - - Allows work to be done outside the current transaction, by suspending it, - and performing work in a new transaction - - - - The work to be done - - - Suspend the current transaction and perform work in a new transaction - - - - Functionality relating to Hibernate's two-phase loading process, - that may be reused by persisters that do not use the Loader - framework - - - - - Register the "hydrated" state of an entity instance, after the first step of 2-phase loading. - - Add the "hydrated state" (an array) of an uninitialized entity to the session. We don't try - to resolve any associations yet, because there might be other entities waiting to be - read from the JDBC result set we are currently processing - - - - - Perform the second step of 2-phase load. Fully initialize the entity instance. - After processing a JDBC result set, we "resolve" all the associations - between the entities which were instantiated and had their state - "hydrated" into an array - - - - - Add an uninitialized instance of an entity class, as a placeholder to ensure object - identity. Must be called before postHydrate(). - Create a "temporary" entry for a newly instantiated entity. The entity is uninitialized, - but we need the mapping from id to instance in order to guarantee uniqueness. - - - - An ordered pair of a value and its Hibernate type. - - - - Return an IdentifierValue for the specified unsaved-value. If none is specified, - guess the unsaved value by instantiating a test instance of the class and - reading it's id property, or if that is not possible, using the java default - value for the type - - - - - An enum of the different ways a value might be "included". - - - This is really an expanded true/false notion with Partial being the - expansion. Partial deals with components in the cases where - parts of the referenced component might define inclusion, but the - component overall does not. - - - - - Utility methods for managing versions and timestamps - - - - - Increment the given version number - - The value of the current version. - The of the versioned property. - The current . - Returns the next value for the version. - - - - Create an initial version number - - The of the versioned property. - The current . - A seed value to initialize the versioned property with. - - - - Seed the given instance state snapshot with an initial version number - - An array of objects that contains a snapshot of a persistent object. - The index of the version property in the fields parameter. - The of the versioned property. - Force the version to initialize - The current session, if any. - if the version property needs to be seeded with an initial value. - - - - Set the version number of the given instance state snapshot - - An array of objects that contains a snapshot of a persistent object. - The value the version should be set to in the fields parameter. - The that is responsible for persisting the values of the fields parameter. - - - - Get the version number of the given instance state snapshot - - An array of objects that contains a snapshot of a persistent object. - The that is responsible for persisting the values of the fields parameter. - - The value of the version contained in the fields parameter or null if the - Entity is not versioned. - - - - Do we need to increment the version number, given the dirty properties? - The array of property indexes which were deemed dirty - Were any collections found to be dirty (structurally changed) - An array indicating versionability of each property. - True if a version increment is required; false otherwise. - - - - A strategy for determining if a version value is an version of - a new transient instance or a previously persistent transient instance. - The strategy is determined by the Unsaved-Value attribute in the mapping file. - - - - - - - - Assume the transient instance is newly instantiated if its version is null or - equal to Value - - - - - - Does the given identifier belong to a new instance - - - - - Assume the transient instance is newly instantiated if the version - is null, otherwise assume it is a detached instance. - - - - - Assume the transient instance is newly instantiated if the version - is null, otherwise defer to the identifier unsaved-value. - - - - - Assume the transient instance is newly instantiated if the identifier - is null. - - - - - A convenience base class for listeners whose functionality results in flushing. - - - - - Coordinates the processing necessary to get things ready for executions - as db calls by preparing the session caches and moving the appropriate - entities and collections to their respective execution queues. - - The flush event. - - - - Execute all SQL and second-level cache updates, in a - special order so that foreign-key constraints cannot - be violated: - - Inserts, in the order they were performed - Updates - Deletion of collection elements - Insertion of collection elements - Deletes, in the order they were performed - - - - - - 1. Recreate the collection key -> collection map - 2. rebuild the collection entries - 3. call Interceptor.postFlush() - - - - - A convenience base class for listeners that respond to requests to perform a - pessimistic lock upgrade on an entity. - - - - - A convenience base class for listeners that respond to requests to reassociate an entity - to a session ( such as through lock() or update() ). - - - - - Associates a given entity (either transient or associated with another session) to the given session. - - The event triggering the re-association - The entity to be associated - The id of the entity. - The entity's persister instance. - An EntityEntry representing the entity within this session. - - - - Performs a pessimistic lock upgrade on a given entity, if needed. - - The entity for which to upgrade the lock. - The entity's EntityEntry instance. - The lock mode being requested for locking. - The session which is the source of the event being processed. - - - - A convenience bas class for listeners responding to save events. - - - - - Prepares the save call using the given requested id. - - The entity to be saved. - The id to which to associate the entity. - The name of the entity being saved. - Generally cascade-specific information. - The session which is the source of this save event. - The id used to save the entity. - - - - Prepares the save call using a newly generated id. - - The entity to be saved - The entity-name for the entity to be saved - Generally cascade-specific information. - The session which is the source of this save event. - - does the event context require - access to the identifier immediately after execution of this method (if - not, post-insert style id generators may be postponed if we are outside - a transaction). - - - The id used to save the entity; may be null depending on the - type of id generator used and the requiresImmediateIdAccess value - - - - - Prepares the save call by checking the session caches for a pre-existing - entity and performing any lifecycle callbacks. - - The entity to be saved. - The id by which to save the entity. - The entity's persister instance. - Is an identity column being used? - Generally cascade-specific information. - The session from which the event originated. - - does the event context require - access to the identifier immediately after execution of this method (if - not, post-insert style id generators may be postponed if we are outside - a transaction). - - - The id used to save the entity; may be null depending on the - type of id generator used and the requiresImmediateIdAccess value - - - - - Performs all the actual work needed to save an entity (well to get the save moved to - the execution queue). - - The entity to be saved - The id to be used for saving the entity (or null, in the case of identity columns) - The entity's persister instance. - Should an identity column be used for id generation? - Generally cascade-specific information. - The session which is the source of the current event. - - Is access to the identifier required immediately - after the completion of the save? persist(), for example, does not require this... - - - The id used to save the entity; may be null depending on the - type of id generator used and the requiresImmediateIdAccess value - - - - - Perform any property value substitution that is necessary - (interceptor callback, version initialization...) - - The entity - The entity identifier - The snapshot entity state - The entity persister - The originating session - - True if the snapshot state changed such that - reinjection of the values into the entity is required. - - - - Handles the calls needed to perform pre-save cascades for the given entity. - The session from which the save event originated. - The entity's persister instance. - The entity to be saved. - Generally cascade-specific data - - - Handles to calls needed to perform post-save cascades. - The session from which the event originated. - The entity's persister instance. - The entity being saved. - Generally cascade-specific data - - - - Determine whether the entity is persistent, detached, or transient - - The entity to check - The name of the entity - The entity's entry in the persistence context - The originating session. - The state. - - - - After the save, will te version number be incremented - if the instance is modified? - - True if the version will be incremented on an entity change after save; false otherwise. - - - - Abstract superclass of algorithms that walk a tree of property values of an entity, and - perform specific functionality for collections, components and associated entities. - - - - Dispatch each property value to ProcessValue(). - - - - - - Visit a property value. Dispatch to the correct handler for the property type. - - - - - - - Visit a component. Dispatch each property to - - - - - - - - Visit a many-to-one or one-to-one associated entity. Default superclass implementation is a no-op. - - - - - - - - Visit a collection. Default superclass implementation is a no-op. - - - - - - - - Walk the tree starting from the given entity. - - - - - - - Defines the default flush event listeners used by hibernate for - flushing session state in response to generated auto-flush events. - - - - Defines the contract for handling of session auto-flush events. - - - - Handle the given auto-flush event. - - The auto-flush event to be handled. - - - - Handle the given auto-flush event. - - The auto-flush event to be handled. - - - - Defines the default delete event listener used by hibernate for deleting entities - from the datastore in response to generated delete events. - - - - Defines the contract for handling of deletion events generated from a session. - - - Handle the given delete event. - The delete event to be handled. - - - Handle the given delete event. - The delete event to be handled. - - - Called when we have recognized an attempt to delete a detached entity. - The event. - - This is perfectly valid in Hibernate usage; JPA, however, forbids this. - Thus, this is a hook for HEM to affect this behavior. - - - - - We encountered a delete request on a transient instance. -

- This is a deviation from historical Hibernate (pre-3.2) behavior to - align with the JPA spec, which states that transient entities can be - passed to remove operation in which case cascades still need to be - performed. -

- The session which is the source of the event - The entity being delete processed - Is cascading of deletes enabled - The entity persister - - A cache of already visited transient entities (to avoid infinite recursion). - -
- - - Perform the entity deletion. Well, as with most operations, does not - really perform it; just schedules an action/execution with the - for execution during flush. - - The originating session - The entity to delete - The entity's entry in the - Is delete cascading enabled? - The entity persister. - A cache of already deleted entities. - - - - Defines the default dirty-check event listener used by hibernate for - checking the session for dirtiness in response to generated dirty-check events. - - - - Defines the contract for handling of session dirty-check events. - - - Handle the given dirty-check event. - The dirty-check event to be handled. - - - - Defines the default evict event listener used by hibernate for evicting entities - in response to generated flush events. In particular, this implementation will - remove any hard references to the entity that are held by the infrastructure - (references held by application or other persistent instances are okay) - - - - Defines the contract for handling of evict events generated from a session. - - - Handle the given evict event. - The evict event to be handled. - - - - An event that occurs for each entity instance at flush time - - - - - Flushes a single entity's state to the database, by scheduling an update action, if necessary - - - - - make sure user didn't mangle the id - - The obj. - The persister. - The id. - The entity mode. - - - - Performs all necessary checking to determine if an entity needs an SQL update - to synchronize its state to the database. Modifies the event by side-effect! - Note: this method is quite slow, avoid calling if possible! - - - - Perform a dirty check, and attach the results to the event - - - - Defines the default flush event listeners used by hibernate for - flushing session state in response to generated flush events. - - - - Defines the contract for handling of session flush events. - - - Handle the given flush event. - The flush event to be handled. - - - - Defines the contract for handling of collection initialization events - generated by a session. - - - - called by a collection that wants to initialize itself - - - Try to initialize a collection from the cache - - - - Defines the default load event listeners used by hibernate for loading entities - in response to generated load events. - - - - - Defines the contract for handling of load events generated from a session. - - - - - Handle the given load event. - - The load event to be handled. - - The result (i.e., the loaded entity). - - - Perfoms the load of an entity. - The loaded entity. - - - - Based on configured options, will either return a pre-existing proxy, - generate a new proxy, or perform an actual load. - - The result of the proxy/load operation. - - - - Given that there is a pre-existing proxy. - Initialize it if necessary; narrow if necessary. - - - - - Given that there is no pre-existing proxy. - Check if the entity is already loaded. If it is, return the entity, - otherwise create and return a proxy. - - - - - If the class to be loaded has been configured with a cache, then lock - given id in that cache and then perform the load. - - The loaded entity - - - - Coordinates the efforts to load a given entity. First, an attempt is - made to load the entity from the session-level cache. If not found there, - an attempt is made to locate it in second-level cache. Lastly, an - attempt is made to load it directly from the datasource. - - The load event - The persister for the entity being requested for load - The EntityKey representing the entity to be loaded. - The load options. - The loaded entity, or null. - - - - Performs the process of loading an entity from the configured underlying datasource. - - The load event - The persister for the entity being requested for load - The EntityKey representing the entity to be loaded. - The load options. - The object loaded from the datasource, or null if not found. - - - - Attempts to locate the entity in the session-level cache. - - The load event - The EntityKey representing the entity to be loaded. - The load options. - The entity from the session-level cache, or null. - - If allowed to return nulls, then if the entity happens to be found in - the session cache, we check the entity type for proper handling - of entity hierarchies. - If checkDeleted was set to true, then if the entity is found in the - session-level cache, it's current status within the session cache - is checked to see if it has previously been scheduled for deletion. - - - - Attempts to load the entity from the second-level cache. - The load event - The persister for the entity being requested for load - The load options. - The entity from the second-level cache, or null. - - - - Defines the default lock event listeners used by hibernate to lock entities - in response to generated lock events. - - - - - Defines the contract for handling of lock events generated from a session. - - - - Handle the given lock event. - The lock event to be handled. - - - Handle the given lock event. - The lock event to be handled. - - - - Defines the default copy event listener used by hibernate for copying entities - in response to generated copy events. - - - - - Defines the contract for handling of merge events generated from a session. - - - - Handle the given merge event. - The merge event to be handled. - - - Handle the given merge event. - The merge event to be handled. - - - - - Perform any cascades needed as part of this copy event. - - The merge event being processed. - The persister of the entity being copied. - The entity being copied. - A cache of already copied instance. - - - Cascade behavior is redefined by this subclass, disable superclass behavior - - - Cascade behavior is redefined by this subclass, disable superclass behavior - - - - Defines the default create event listener used by hibernate for creating - transient entities in response to generated create events. - - - - - Defines the contract for handling of create events generated from a session. - - - - Handle the given create event. - The create event to be handled. - - - Handle the given create event. - The create event to be handled. - - - - Handle the given create event. - The save event to be handled. - - - - When persist is used as the cascade action, persistOnFlush should be used - - - Call interface if necessary - - - - Occurs after an an entity instance is fully loaded. - - - - - - - - - - - Called before injecting property values into a newly - loaded entity instance. - - - - - Called before injecting property values into a newly loaded entity instance. - - - - - - - - - - - Defines the default refresh event listener used by hibernate for refreshing entities - in response to generated refresh events. - - - - - Defines the contract for handling of refresh events generated from a session. - - - - Handle the given refresh event. - The refresh event to be handled. - - - - - - - - - - - Defines the default replicate event listener used by Hibernate to replicate - entities in response to generated replicate events. - - - - - Defines the contract for handling of replicate events generated from a session. - - - - Handle the given replicate event. - The replicate event to be handled. - - - An event handler for save() events - - - - Defines the default listener used by Hibernate for handling save-update events. - - - - - Defines the contract for handling of update events generated from a session. - - - - Handle the given update event. - The update event to be handled. - - - - The given save-update event named a transient entity. - Here, we will perform the save processing. - - The save event to be handled. - The entity's identifier after saving. - - - - Save the transient instance, assigning the right identifier - - The initiating event. - The entity's identifier value after saving. - - - - The given save-update event named a detached entity. - Here, we will perform the update processing. - - The update event to be handled. - - - Determine the id to use for updating. - The entity. - The entity persister - The requested identifier - The entity mode. - The id. - - - - Handles the calls needed to perform cascades as part of an update request - for the given entity. - - The event currently being processed. - The defined persister for the entity being updated. - The entity being updated. - - - An event handler for update() events - - - - If the user specified an id, assign it to the instance and use that, - otherwise use the id already assigned to the instance - - - - - A Visitor that determines if a dirty collection was found. - - - - - Reason for dirty collection - - - - If it is a new application-instantiated collection, return true (does not occur anymore!) - - - - - If it is a component, recurse. - - - - - If it is a wrapped collection, ask the collection entry. - - - - - - - - Gets a indicating if a dirty collection was found. - - if a dirty collection was found. - - - - Evict any collections referenced by the object from the session cache. - This will NOT pick up any collections that were dereferenced, so they - will be deleted (suboptimal but not exactly incorrect). - - - - - Process collections reachable from an entity. - This visitor assumes that wrap was already performed for the entity. - - - - - When a transient entity is passed to lock(), we must inspect all its collections and - 1. associate any uninitialized PersistentCollections with this session - 2. associate any initialized PersistentCollections with this session, using the existing snapshot - 3. throw an exception for each "new" collection - - - - - Abstract superclass of visitors that reattach collections - - - - - Reassociates uninitialized proxies with the session - - - - - Visit a many-to-one or one-to-one associated entity. Default superclass implementation is a no-op. - - - - - - - - Has the owner of the collection changed since the collection was snapshotted and detached? - - - - - Reattach a detached (disassociated) initialized or uninitialized - collection wrapper, using a snapshot carried with the collection wrapper - - - - - Schedules a collection for deletion. - - The persister representing the collection to be removed. - The collection key (differs from owner-id in the case of property-refs). - The session from which the request originated. - - - - This version is slightly different in that here we need to assume that - the owner is not yet associated with the session, and thus we cannot - rely on the owner's EntityEntry snapshot... - - The persister for the collection role being processed. - - - - - When an entity is passed to replicate(), and there is an existing row, we must - inspect all its collections and - 1. associate any uninitialized PersistentCollections with this session - 2. associate any initialized PersistentCollections with this session, using the existing snapshot - 3. execute a collection removal (SQL DELETE) for each null collection property or "new" collection - - - - - When an entity is passed to update(), we must inspect all its collections and - 1. associate any uninitialized PersistentCollections with this session - 2. associate any initialized PersistentCollections with this session, using the existing snapshot - 3. execute a collection removal (SQL DELETE) for each null collection property or "new" collection - - - - - Wrap collections in a Hibernate collection wrapper. - - - - Defines a base class for events involving collections. - - - - Defines a base class for Session generated events. - - - - - Returns the session event source for this event. - This is the underlying session from which this event was generated. - - - - - Constructs an event from the given event session. - - The session event source. - - - - Returns the session event source for this event. - This is the underlying session from which this event was generated. - - - - Constructs an AbstractCollectionEvent object. - The collection persister. - The collection - The Session source - The owner that is affected by this event; can be null if unavailable - - The ID for the owner that is affected by this event; can be null if unavailable - that is affected by this event; can be null if unavailable - - - - Get the entity name for the collection owner entity that is affected by this event. - - The entity name; if the owner is not in the PersistenceContext, the - returned value may be a superclass name, instead of the actual class name - - - - The collection owner entity that is affected by this event. - - Returns null if the entity is not in the persistence context - (e.g., because the collection from a detached entity was moved to a new owner) - - - - Get the ID for the collection owner entity that is affected by this event. - - Returns null if the ID cannot be obtained - from the collection's loaded key (e.g., a property-ref is used for the - collection and does not include the entity's ID) - - - - - Represents an operation we performed against the database. - - - - - Represents an operation we performed against the database. - - - - The entity involved in the database operation. - - - The id to be used in the database operation. - - - - The persister for the . - - - - Constructs an event containing the pertinent information. - The session from which the event originated. - The entity to be invloved in the database operation. - The entity id to be invloved in the database operation. - The entity's persister. - - - The entity involved in the database operation. - - - The id to be used in the database operation. - - - - The persister for the . - - - - - Represents an operation we are about to perform against the database. - - - - The entity involved in the database operation. - - - The id to be used in the database operation. - - - - The persister for the . - - - - Constructs an event containing the pertinent information. - The session from which the event originated. - The entity to be invloved in the database operation. - The entity id to be invloved in the database operation. - The entity's persister. - - - The entity involved in the database operation. - - - The id to be used in the database operation. - - - - The persister for the . - - - - Defines an event class for the auto-flushing of a session. - - - Defines an event class for the flushing of a session. - - - Defines an event class for the deletion of an entity. - - - Constructs a new DeleteEvent instance. - The entity to be deleted. - The session from which the delete event was generated. - - - - - Returns the encapsulated entity to be deleed. - - - - Defines an event class for the dirty-checking of a session. - - - - A convience holder for all defined session event listeners. - - - - - Call on any listeners that implement - . - - - - - Defines an event class for the evicting of an entity. - - - - Contract for listeners which require notification of SessionFactory closing, - presumably to destroy internal state. - - - - - Notification of shutdown. - - - - - The main runtime interface between a .NET application and NHibernate. This is the central - API class abstracting the notion of a persistence service. - - - - The lifecycle of a ISession is bounded by the beginning and end of a logical - transaction. (Long transactions might span several database transactions.) - - - The main function of the ISession is to offer create, find and delete operations - for instances of mapped entity classes. Instances may exist in one of two states: - - transient: not associated with any ISession - persistent: associated with a ISession - - - - Transient instances may be made persistent by calling Save(), Insert(), - or Update(). Persistent instances may be made transient by calling Delete(). - Any instance returned by a List(), Iterate(), Load(), or Create - method is persistent. - - - Save() results in an SQL INSERT, Delete() - in an SQL DELETE and Update() in an SQL UPDATE. Changes to - persistent instances are detected at flush time and also result in an SQL - UPDATE. - - - It is not intended that implementors be threadsafe. Instead each thread/transaction should obtain - its own instance from an ISessionFactory. - - - A ISession instance is serializable if its persistent classes are serializable - - - A typical transaction should use the following idiom: - - ISession sess = factory.OpenSession(); - ITransaction tx; - try { - tx = sess.BeginTransaction(); - //do some work - ... - tx.Commit(); - } catch (Exception e) { - if (tx != null) tx.Rollback(); - throw; - } finally { - sess.Close(); - } - - - - If the ISession throws an exception, the transaction must be rolled back and the session - discarded. The internal state of the ISession might not be consistent with the database - after the exception occurs. - - - - - - - Force the ISession to flush. - - - Must be called at the end of a unit of work, before commiting the transaction and closing - the session (Transaction.Commit() calls this method). Flushing if the process - of synchronising the underlying persistent store with persistable state held in memory. - - - - - Disconnect the ISession from the current ADO.NET connection. - - - If the connection was obtained by Hibernate, close it or return it to the connection - pool. Otherwise return it to the application. This is used by applications which require - long transactions. - - The connection provided by the application or - - - - Obtain a new ADO.NET connection. - - - This is used by applications which require long transactions - - - - - Reconnect to the given ADO.NET connection. - - This is used by applications which require long transactions - An ADO.NET connection - - - - End the ISession by disconnecting from the ADO.NET connection and cleaning up. - - - It is not strictly necessary to Close() the ISession but you must - at least Disconnect() it. - - The connection provided by the application or - - - - Cancel execution of the current query. - - - May be called from one thread to stop execution of a query in another thread. - Use with care! - - - - - Does this ISession contain any changes which must be - synchronized with the database? Would any SQL be executed if - we flushed this session? - - - - - Return the identifier of an entity instance cached by the ISession - - - Throws an exception if the instance is transient or associated with a different - ISession - - a persistent instance - the identifier - - - - Is this instance associated with this Session? - - an instance of a persistent class - true if the given instance is associated with this Session - - - - Remove this instance from the session cache. - - - Changes to the instance will not be synchronized with the database. - This operation cascades to associated instances if the association is mapped - with cascade="all" or cascade="all-delete-orphan". - - a persistent instance - - - - Return the persistent instance of the given entity class with the given identifier, - obtaining the specified lock mode. - - A persistent class - A valid identifier of an existing persistent instance of the class - The lock level - the persistent instance - - - - Return the persistent instance of the given entity class with the given identifier, - obtaining the specified lock mode, assuming the instance exists. - - The entity-name of a persistent class - a valid identifier of an existing persistent instance of the class - the lock level - the persistent instance or proxy - - - - Return the persistent instance of the given entity class with the given identifier, - assuming that the instance exists. - - - You should not use this method to determine if an instance exists (use a query or - instead). Use this only to retrieve an instance - that you assume exists, where non-existence would be an actual error. - - A persistent class - A valid identifier of an existing persistent instance of the class - The persistent instance or proxy - - - - Return the persistent instance of the given entity class with the given identifier, - obtaining the specified lock mode. - - A persistent class - A valid identifier of an existing persistent instance of the class - The lock level - the persistent instance - - - - Return the persistent instance of the given entity class with the given identifier, - assuming that the instance exists. - - - You should not use this method to determine if an instance exists (use a query or - instead). Use this only to retrieve an instance that you - assume exists, where non-existence would be an actual error. - - A persistent class - A valid identifier of an existing persistent instance of the class - The persistent instance or proxy - - - - Return the persistent instance of the given with the given identifier, - assuming that the instance exists. - - The entity-name of a persistent class - a valid identifier of an existing persistent instance of the class - The persistent instance or proxy - - You should not use this method to determine if an instance exists (use - instead). Use this only to retrieve an instance that you assume exists, where non-existence - would be an actual error. - - - - - Read the persistent state associated with the given identifier into the given transient - instance. - - An "empty" instance of the persistent class - A valid identifier of an existing persistent instance of the class - - - - Persist all reachable transient objects, reusing the current identifier - values. Note that this will not trigger the Interceptor of the Session. - - a detached instance of a persistent class - - - - - Persist the state of the given detached instance, reusing the current - identifier value. This operation cascades to associated instances if - the association is mapped with cascade="replicate". - - - a detached instance of a persistent class - - - - - Persist the given transient instance, first assigning a generated identifier. - - - Save will use the current value of the identifier property if the Assigned - generator is used. - - A transient instance of a persistent class - The generated identifier - - - - Persist the given transient instance, using the given identifier. - - A transient instance of a persistent class - An unused valid identifier - - - - Persist the given transient instance, first assigning a generated identifier. (Or - using the current value of the identifier property if the assigned - generator is used.) - - The Entity name. - a transient instance of a persistent class - the generated identifier - - This operation cascades to associated instances if the - association is mapped with cascade="save-update". - - - - - Either Save() or Update() the given instance, depending upon the value of - its identifier property. - - - By default the instance is always saved. This behaviour may be adjusted by specifying - an unsaved-value attribute of the identifier property mapping - - A transient instance containing new or updated state - - - - Either or - the given instance, depending upon resolution of the unsaved-value checks - (see the manual for discussion of unsaved-value checking). - - The name of the entity - a transient or detached instance containing new or updated state - - - - This operation cascades to associated instances if the association is mapped - with cascade="save-update". - - - - - Update the persistent instance with the identifier of the given transient instance. - - - If there is a persistent instance with the same identifier, an exception is thrown. If - the given transient instance has a identifier, an exception will be thrown. - - A transient instance containing updated state - - - - Update the persistent state associated with the given identifier. - - - An exception is thrown if there is a persistent instance with the same identifier - in the current session. - - A transient instance containing updated state - Identifier of persistent instance - - - - Update the persistent instance with the identifier of the given detached - instance. - - The Entity name. - a detached instance containing updated state - - If there is a persistent instance with the same identifier, - an exception is thrown. This operation cascades to associated instances - if the association is mapped with cascade="save-update". - - - - - Copy the state of the given object onto the persistent object with the same - identifier. If there is no persistent instance currently associated with - the session, it will be loaded. Return the persistent instance. If the - given instance is unsaved, save a copy of and return it as a newly persistent - instance. The given instance does not become associated with the session. - This operation cascades to associated instances if the association is mapped - with cascade="merge".
- The semantics of this method are defined by JSR-220. -
- a detached instance with state to be copied - an updated persistent instance -
- - - Copy the state of the given object onto the persistent object with the same - identifier. If there is no persistent instance currently associated with - the session, it will be loaded. Return the persistent instance. If the - given instance is unsaved, save a copy of and return it as a newly persistent - instance. The given instance does not become associated with the session. - This operation cascades to associated instances if the association is mapped - with cascade="merge".
- The semantics of this method are defined by JSR-220. - Name of the entity. - a detached instance with state to be copied - an updated persistent instance -
- -
- - - Make a transient instance persistent. This operation cascades to associated - instances if the association is mapped with cascade="persist".
- The semantics of this method are defined by JSR-220. -
- a transient instance to be made persistent -
- - - Make a transient instance persistent. This operation cascades to associated - instances if the association is mapped with cascade="persist".
- The semantics of this method are defined by JSR-220. -
- Name of the entity. - a transient instance to be made persistent -
- - - Copy the state of the given object onto the persistent object with the same - identifier. If there is no persistent instance currently associated with - the session, it will be loaded. Return the persistent instance. If the - given instance is unsaved or does not exist in the database, save it and - return it as a newly persistent instance. Otherwise, the given instance - does not become associated with the session. - - a transient instance with state to be copied - an updated persistent instance - - - - Copy the state of the given object onto the persistent object with the - given identifier. If there is no persistent instance currently associated - with the session, it will be loaded. Return the persistent instance. If - there is no database row with the given identifier, save the given instance - and return it as a newly persistent instance. Otherwise, the given instance - does not become associated with the session. - - a persistent or transient instance with state to be copied - the identifier of the instance to copy to - an updated persistent instance - - - - Remove a persistent instance from the datastore. - - - The argument may be an instance associated with the receiving ISession or a - transient instance with an identifier associated with existing persistent state. - - The instance to be removed - - - - Remove a persistent instance from the datastore. The object argument may be - an instance associated with the receiving or a transient - instance with an identifier associated with existing persistent state. - This operation cascades to associated instances if the association is mapped - with cascade="delete". - - The entity name for the instance to be removed. - the instance to be removed - - - - Delete all objects returned by the query. - - The query string - Returns the number of objects deleted. - - - - Delete all objects returned by the query. - - The query string - A value to be written to a "?" placeholer in the query - The hibernate type of value. - The number of instances deleted - - - - Delete all objects returned by the query. - - The query string - A list of values to be written to "?" placeholders in the query - A list of Hibernate types of the values - The number of instances deleted - - - - Obtain the specified lock level upon the given object. - - A persistent instance - The lock level - - - - Obtain the specified lock level upon the given object. - - The Entity name. - a persistent or transient instance - the lock level - - This may be used to perform a version check (), to upgrade to a pessimistic - lock (), or to simply reassociate a transient instance - with a session (). This operation cascades to associated - instances if the association is mapped with cascade="lock". - - - - - Re-read the state of the given instance from the underlying database. - - - - It is inadvisable to use this to implement long-running sessions that span many - business tasks. This method is, however, useful in certain special circumstances. - - - For example, - - Where a database trigger alters the object state upon insert or update - After executing direct SQL (eg. a mass update) in the same session - After inserting a Blob or Clob - - - - A persistent instance - - - - Re-read the state of the given instance from the underlying database, with - the given LockMode. - - - It is inadvisable to use this to implement long-running sessions that span many - business tasks. This method is, however, useful in certain special circumstances. - - a persistent or transient instance - the lock mode to use - - - - Determine the current lock mode of the given object - - A persistent instance - The current lock mode - - - - Begin a unit of work and return the associated ITransaction object. - - - If a new underlying transaction is required, begin the transaction. Otherwise - continue the new work in the context of the existing underlying transaction. - The class of the returned object is determined by - the property transaction_factory - - A transaction instance - - - - Begin a transaction with the specified isolationLevel - - Isolation level for the new transaction - A transaction instance having the specified isolation level - - - - Creates a new Criteria for the entity class. - - The entity class - An ICriteria object - - - - Creates a new Criteria for the entity class with a specific alias - - The entity class - The alias of the entity - An ICriteria object - - - - Creates a new Criteria for the entity class. - - The class to Query - An ICriteria object - - - - Creates a new Criteria for the entity class with a specific alias - - The class to Query - The alias of the entity - An ICriteria object - - - - Create a new Criteria instance, for the given entity name. - - The name of the entity to Query - An ICriteria object - - - - Create a new Criteria instance, for the given entity name, - with the given alias. - - The name of the entity to Query - The alias of the entity - An ICriteria object - - - - Creates a new IQueryOver<T> for the entity class. - - The entity class - An ICriteria<T> object - - - - Creates a new IQueryOver<T> for the entity class. - - The entity class - An ICriteria<T> object - - - - Create a new instance of Query for the given query string - - A hibernate query string - The query - - - - Create a new instance of Query for the given query expression - A hibernate query expression - The query - - - - - Create a new instance of Query for the given collection and filter string - - A persistent collection - A hibernate query - A query - - - - Obtain an instance of for a named query string defined in the - mapping file. - - The name of a query defined externally. - An from a named query string. - - The query can be either in HQL or SQL format. - - - - - Create a new instance of for the given SQL query string. - - a query expressed in SQL - An from the SQL string - - - - Completely clear the session. Evict all loaded instances and cancel all pending - saves, updates and deletions. Do not close open enumerables or instances of - ScrollableResults. - - - - - Return the persistent instance of the given entity class with the given identifier, or null - if there is no such persistent instance. (If the instance, or a proxy for the instance, is - already associated with the session, return that instance or proxy.) - - a persistent class - an identifier - a persistent instance or null - - - - Return the persistent instance of the given entity class with the given identifier, or null - if there is no such persistent instance. Obtain the specified lock mode if the instance - exists. - - a persistent class - an identifier - the lock mode - a persistent instance or null - - - - Return the persistent instance of the given named entity with the given identifier, - or null if there is no such persistent instance. (If the instance, or a proxy for the - instance, is already associated with the session, return that instance or proxy.) - - the entity name - an identifier - a persistent instance or null - - - - Strongly-typed version of - - - - - Strongly-typed version of - - - - - Return the entity name for a persistent entity - - a persistent entity - the entity name - - - - Enable the named filter for this current session. - - The name of the filter to be enabled. - The Filter instance representing the enabled filter. - - - - Retrieve a currently enabled filter by name. - - The name of the filter to be retrieved. - The Filter instance representing the enabled filter. - - - - Disable the named filter for the current session. - - The name of the filter to be disabled. - - - - Create a multi query, a query that can send several - queries to the server, and return all their results in a single - call. - - - An that can return - a list of all the results of all the queries. - Note that each query result is itself usually a list. - - - - - Sets the batch size of the session - - - - - - - Gets the session implementation. - - - This method is provided in order to get the NHibernate implementation of the session from wrapper implementions. - Implementors of the interface should return the NHibernate implementation of this method. - - - An NHibernate implementation of the interface - - - - - An that can return a list of all the results - of all the criterias. - - - - - - Starts a new Session with the given entity mode in effect. This secondary - Session inherits the connection, transaction, and other context - information from the primary Session. It doesn't need to be flushed - or closed by the developer. - - The entity mode to use for the new session. - The new session - - - The entity mode in effect for this session. - - - - Determines at which points Hibernate automatically flushes the session. - - - For a readonly session, it is reasonable to set the flush mode to FlushMode.Never - at the start of the session (in order to achieve some extra performance). - - - - The current cache mode. - - Cache mode determines the manner in which this session can interact with - the second level cache. - - - - - Get the that created this instance. - - - - - Gets the ADO.NET connection. - - - Applications are responsible for calling commit/rollback upon the connection before - closing the ISession. - - - - - Is the ISession still open? - - - - - Is the ISession currently connected? - - - - - Get the current Unit of Work and return the associated ITransaction object. - - - - Get the statistics for this session. - - - - Instantiate an entity instance, using either an interceptor, - or the given persister - - - - Force an immediate flush - - - Cascade merge an entity instance - - - Cascade persist an entity instance - - - Cascade persist an entity instance during the flush process - - - Cascade refresh an entity instance - - - Cascade copy an entity instance - - - Cascade delete an entity instance - - - Get the ActionQueue for this session - - - - An event listener that requires access to mappings to - initialize state at initialization time. - - - - - An event that occurs when a collection wants to be initialized - - - - Called after recreating a collection - - - Called after removing a collection - - - Called after updating a collection - - - Called after deleting an item from the datastore - - - - - - - - - Called after inserting an item in the datastore - - - - - - - - - - Called after updating the datastore - - - - - - - - - - Called before recreating a collection - - - Called before removing a collection - - - Called before updating a collection - - - - Called before deleting an item from the datastore - - - - Return true if the operation should be vetoed - - - - - Called before inserting an item in the datastore - - - - Return true if the operation should be vetoed - - - - - Called before updating the datastore - - - - Return true if the operation should be vetoed - - - - - Values for listener type property. - - - - Not allowed in Xml. It represents the default value when an explicit type is assigned. - - - Xml value: auto-flush - - - Xml value: merge - - - Xml value: create - - - Xml value: create-onflush - - - Xml value: delete - - - Xml value: dirty-check - - - Xml value: evict - - - Xml value: flush - - - Xml value: flush-entity - - - Xml value: load - - - Xml value: load-collection - - - Xml value: lock - - - Xml value: refresh - - - Xml value: replicate - - - Xml value: save-update - - - Xml value: save - - - Xml value: pre-update - - - Xml value: update - - - Xml value: pre-load - - - Xml value: pre-delete - - - Xml value: pre-insert - - - Xml value: pre-collection-recreate - - - Xml value: pre-collection-remove - - - Xml value: pre-collection-update - - - Xml value: post-load - - - Xml value: post-insert - - - Xml value: post-update - - - Xml value: post-delete - - - Xml value: post-commit-update - - - Xml value: post-commit-insert - - - Xml value: post-commit-delete - - - Xml value: post-collection-recreate - - - Xml value: post-collection-remove - - - Xml value: post-collection-update - - - Defines an event class for the loading of an entity. - - - - Defines an event class for the locking of an entity. - - - - - An event class for merge() and saveOrUpdateCopy() - - - - An event class for persist() - - - An event that occurs after a collection is recreated - - - An event that occurs after a collection is removed - - - An event that occurs after a collection is updated - - - - Occurs after deleting an item from the datastore - - - - - Occurs after inserting an item in the datastore - - - - - Occurs after an an entity instance is fully loaded. - - - - - Occurs after the datastore is updated - - - - An event that occurs before a collection is recreated - - - An event that occurs before a collection is removed - - - An event that occurs before a collection is updated - - - - Represents a pre-delete event, which occurs just prior to - performing the deletion of an entity from the database. - - - - - Constructs an event containing the pertinent information. - - The entity to be deleted. - The id to use in the deletion. - The entity's state at deletion time. - The entity's persister. - The session from which the event originated. - - - - This is the entity state at the - time of deletion (useful for optomistic locking and such). - - - - - Represents a pre-insert event, which occurs just prior to - performing the insert of an entity into the database. - - - - - These are the values to be inserted. - - - - - Called before injecting property values into a newly loaded entity instance. - - - - - Represents a pre-update event, which occurs just prior to - performing the update of an entity in the database. - - - - - Retrieves the state to be used in the update. - - - - - The old state of the entity at the time it was last loaded from the - database; can be null in the case of detached entities. - - - - - Defines an event class for the refreshing of an object. - - - - - Defines an event class for the replication of an entity. - - - - - An event class for saveOrUpdate() - - - - - Implementation of ADOException indicating problems with communicating with the - database (can also include incorrect ADO setup). - - - - - Wraps exceptions that occur during ADO.NET calls. - - - Exceptions thrown by various ADO.NET providers are not derived from - a common base class (SQLException in Java), so - is used instead in NHibernate. - - - - - Initializes a new instance of the class. - - The message that describes the error. - - The exception that is the cause of the current exception. If the innerException parameter - is not a null reference, the current exception is raised in a catch block that handles - the inner exception. - - - - - Initializes a new instance of the class. - - - The that holds the serialized object - data about the exception being thrown. - - - The that contains contextual information about the source or destination. - - - - - Collect data of an to be converted. - - - - - The to be converted. - - - - - An optional error message. - - - - - The SQL that generate the exception - - - - - Optional EntityName where available in the original exception context. - - - - - Optional EntityId where available in the original exception context. - - - - - Converts the given SQLException into Exception hierarchy, as well as performing - appropriate logging. - - The converter to use. - The exception to convert. - An optional error message. - The SQL executed. - The converted . - - - - Converts the given SQLException into Exception hierarchy, as well as performing - appropriate logging. - - The converter to use. - The exception to convert. - An optional error message. - The converted . - - - For the given , locates the . - The exception from which to extract the - The , or null. - - - - Implementation of ADOException indicating that the requested DML operation - resulted in a violation of a defined integrity constraint. - - - - - Returns the name of the violated constraint, if known. - - The name of the violated constraint, or null if not known. - - - - Implementation of ADOException indicating that evaluation of the - valid SQL statement against the given data resulted in some - illegal operation, mismatched types or incorrect cardinality. - - - - - The Configurable interface defines the contract for impls that - want to be configured prior to usage given the currently defined Hibernate properties. - - - - Configure the component, using the given settings and properties. - All defined startup properties. - - - - Defines a contract for implementations that know how to convert a - into NHibernate's hierarchy. - - - Inspired by Spring's SQLExceptionTranslator. - - Implementations must have a constructor which takes a - parameter. - - Implementations may implement if they need to perform - configuration steps prior to first use. - - - - - - Convert the given into custom Exception. - - Available information during exception throw. - The resulting Exception to throw. - - - - Implementation of ADOException indicating a problem acquiring lock - on the database. - - - - A factory for building SQLExceptionConverter instances. - - - Build a SQLExceptionConverter instance. - The defined dialect. - The configuration properties. - An appropriate instance. - - First, looks for a property to see - if the configuration specified the class of a specific converter to use. If this - property is set, attempt to construct an instance of that class. If not set, or - if construction fails, the converter specific to the dialect will be used. - - - - - Builds a minimal converter. The instance returned here just always converts to . - - The minimal converter. - - - - Implementation of ADOException indicating that the SQL sent to the database - server was invalid (syntax error, invalid object references, etc). - - - - - A SQLExceptionConverter implementation which performs no conversion of - the underlying . - Interpretation of a SQL error based on - is not possible as using the ErrorCode (which is, however, vendor- - specific). Use of a ErrorCode-based converter should be preferred approach - for converting/interpreting SQLExceptions. - - - - Handle an exception not converted to a specific type based on the SQLState. - The exception to be handled. - An optional message - Optionally, the sql being performed when the exception occurred. - The converted exception; should never be null. - - - - Encapsulates the strategy required to execute various types of update, delete, - and insert statements issued through HQL. - - - - - Execute the sql managed by this executor using the given parameters. - - Essentially bind information for this processing. - The session originating the request. - The number of entities updated/deleted. - - - - True if this is a filter query (allow no FROM clause). * - - - - Returns to the previous 'FROM' context. - - - - - - Implementations will report or handle errors invoked by an ANTLR base parser. - Author: josh - Ported by: Steve Strong - - - - all append invocations on the buf should go through this Output instance variable. - The value of this variable may be temporarily substitued by sql function processing code - to catch generated arguments. - This is because sql function templates need arguments as seperate string chunks - that will be assembled into the target dialect-specific function call. - - - - Handles parser errors. - - - - - Add a aspace if the previous token was not a space or a parenthesis. - - - - - The default SQL writer. - - - - - Writes SQL fragments. - - - - todo remove this hack - The parameter is either ", " or " , ". This is needed to pass sql generating tests as the old - sql generator uses " , " in the WHERE and ", " in SELECT. - - @param comma either " , " or ", " - - - - Abstract superclass of object loading (and querying) strategies. - - -

- This class implements useful common functionality that concrete loaders would delegate to. - It is not intended that this functionality would be directly accessed by client code (Hence, - all methods of this class are declared protected or private.) This class relies heavily upon the - interface, which is the contract between this class and - s that may be loaded by it. -

-

- The present implementation is able to load any number of columns of entities and at most - one collection role per query. -

-
- -
- - - What lock mode does this load entities with? - - A Collection of lock modes specified dynamically via the Query Interface - - - - - Append FOR UPDATE OF clause, if necessary. This - empty superclass implementation merely returns its first - argument. - - - - - Does this query return objects that might be already cached by - the session, whose lock mode may need upgrading. - - - - - - Modify the SQL, adding lock hints and comments, if necessary - - - - - Execute an SQL query and attempt to instantiate instances of the class mapped by the given - persister from each row of the DataReader. If an object is supplied, will attempt to - initialize that object. If a collection is supplied, attempt to initialize that collection. - - - - - Loads a single row from the result set. This is the processing used from the - ScrollableResults where no collection fetches were encountered. - - The result set from which to do the load. - The session from which the request originated. - The query parameters specified by the user. - Should proxies be generated - The loaded "row". - - - - - Read any collection elements contained in a single row of the result set - - - - - Get the actual object that is returned in the user-visible result list. - - - This empty implementation merely returns its first argument. This is - overridden by some subclasses. - - - - - For missing objects associated by one-to-one with another object in the - result set, register the fact that the the object is missing with the - session. - - - - - Read one collection element from the current row of the ADO.NET result set - - - - - If this is a collection initializer, we need to tell the session that a collection - is being initilized, to account for the possibility of the collection having - no elements (hence no rows in the result set). - - - - - Read a row of EntityKeys from the IDataReader into the given array. - - - Warning: this method is side-effecty. If an id is given, don't bother going - to the IDataReader - - - - - Check the version of the object in the IDataReader against - the object version in the session cache, throwing an exception - if the version numbers are different. - - - - - - Resolve any ids for currently loaded objects, duplications within the IDataReader, - etc. Instanciate empty objects to be initialized from the IDataReader. Return an - array of objects (a row of results) and an array of booleans (by side-effect) that determine - wheter the corresponding object should be initialized - - - - - The entity instance is already in the session cache - - - - - The entity instance is not in the session cache - - - - - Hydrate the state of an object from the SQL IDataReader, into - an array of "hydrated" values (do not resolve associations yet), - and pass the hydrated state to the session. - - - - - Determine the concrete class of an instance for the IDataReader - - - - - Advance the cursor to the first required row of the IDataReader - - - - - Should we pre-process the SQL string, adding a dialect-specific - LIMIT clause. - - - - - - - - Obtain an IDbCommand with all parameters pre-bound. Bind positional parameters, - named parameters, and limit parameters. - - - Creates an IDbCommand object and populates it with the values necessary to execute it against the - database to Load an Entity. - - The to use for the IDbCommand. - TODO: find out where this is used... - The SessionImpl this Command is being prepared in. - A CommandWrapper wrapping an IDbCommand that is ready to be executed. - - - - Some dialect-specific LIMIT clauses require the maximium last row number - (aka, first_row_number + total_row_count), while others require the maximum - returned row count (the total maximum number of rows to return). - - The selection criteria - The dialect - The appropriate value to bind into the limit clause. - - - - Bind parameters needed by the dialect-specific LIMIT clause - - The number of parameters bound - - - - Limits the number of rows returned by the Sql query if necessary. - - The IDbCommand to limit. - The RowSelection that contains the MaxResults info. - TODO: This does not apply to ADO.NET at all - - - - Bind all parameter values into the prepared statement in preparation for execution. - - The ADO prepared statement - The encapsulation of the parameter values to be bound. - The position from which to start binding parameter values. - The originating session. - The number of ADO bind positions actually bound during this method execution. - - - - Fetch a IDbCommand, call SetMaxRows and then execute it, - advance to the first result and return an SQL IDataReader - - The to execute. - The to apply to the and . - true if result types need to be auto-discovered by the loader; false otherwise. - The to load in. - - An IDataReader advanced to the first record in RowSelection. - - - - Called by subclasses that load entities - - - - - Called by subclasses that batch load entities - - - - - Called by subclasses that load collections - - - - - Called by wrappers that batch initialize collections - - - - - Called by subclasses that batch initialize collections - - - - - Return the query results, using the query cache, called - by subclasses that implement cacheable queries - - - - - - - - - - Actually execute a query, ignoring the query cache - - - - - - - - Calculate and cache select-clause suffixes. Must be - called by subclasses after instantiation. - - - - - An array indicating whether the entities have eager property fetching - enabled. - - Eager property fetching indicators. - - - - An array of indexes of the entity that owns a one-to-one association - to the entity at the given index (-1 if there is no "owner") - - - The indexes contained here are relative to the result of . - - - - - An array of the owner types corresponding to the - returns. Indices indicating no owner would be null here. - - - - - Get the index of the entity that owns the collection, or -1 - if there is no owner in the query results (i.e. in the case of a - collection initializer) or no collection. - - - - - Return false is this loader is a batch entity loader - - - - - Get the result set descriptor - - - - - The SqlString to be called; implemented by all subclasses - - - - The setter was added so that class inheriting from Loader could write a - value using the Property instead of directly to the field. - - - The scope is protected internal because the needs to - be able to get the SqlString of the when - it is parsing a subquery. - - - - - - An array of persisters of entity classes contained in each row of results; - implemented by all subclasses - - - The setter was added so that classes inheriting from Loader could write a - value using the Property instead of directly to the field. - - - - - An (optional) persister for a collection to be initialized; only collection loaders - return a non-null value - - - - - Get the SQL table aliases of entities whose - associations are subselect-loadable, returning - null if this loader does not support subselect - loading - - - - - Identifies the query for statistics reporting, if null, - no statistics will be reported - - - - - Utility method that generates 0_, 1_ suffixes. Subclasses don't - necessarily need to use this algorithm, but it is intended that - they will in most cases. - - - - - Returns the locations of all occurrences of the named parameter. - - - - - - - - - a collection of lock modes specified dynamically via the Query interface - - - - - Base class for nodes dealing 'is null' and 'is not null' operators. - todo : a good deal of this is copied from BinaryLogicOperatorNode; look at consolidating these code fragments - - Author: Steve Ebersole - Ported by: Steve Strong - - - - - Represents a unary operator node. - - Author: Steve Ebersole - Ported by: Steve Strong - - - - - A semantic analysis node, that points back to the main analyzer. - Authoer: josh - Ported by: Steve Strong - - - - - A base AST node for the intermediate tree. - - - - The original text for the node, mostly for debugging. - - - The data type of this node. Null for 'no type'. - - - - Retrieve the text to be used for rendering this particular node. - - The session factory - The text to use for rendering - - - - An interface for initializeable AST nodes. - - - - - Initializes the node with the parameter. - - the initialization parameter. - - - A pointer back to the phase 2 processor. - - - - Contract for nodes representing unary operators. - - Author: Steve Ebersole - Ported by: Steve Strong - - - - - Contract for nodes representing operators (logic or arithmetic). - Author: Steve Ebersole - Ported by: Steve Strong - - - - - Called by the tree walker during hql-sql semantic analysis - after the operator sub-tree is completely built. - - - - - Retrieves the data type for the overall operator expression. - - The expression's data type. - - - - Retrieves the node representing the operator's single operand. - - - - - When (if) we need to expand a row value constructor, what is the type of connector to use between the - expansion fragments. - - The expansion connector type. - - - - When (if) we need to expand a row value constructor, what is the text of connector to use between the - expansion fragments. - - The expansion connector text. - - - - Convenience implementation of Statement to centralize common functionality. - Author: Steve Ebersole - Ported by: Steve Strong - - - - - Implementors will return additional display text, which will be used - by the ASTPrinter to display information (besides the node type and node - text). - - - - - Returns additional display text for the AST node. - - The additional display text. - - - - Common interface modeling the different HQL statements (i.e., INSERT, UPDATE, DELETE, SELECT). - Author: Steve Ebersole - Ported by: Steve Strong - - - - - The "phase 2" walker which generated this statement tree. - - - - - The main token type representing the type of this statement. - - - - - Does this statement require the StatementExecutor? - Essentially, at the JDBC level, does this require an executeUpdate()? - - - - - Returns additional display text for the AST node. - - The additional display text. - - - - Type definition for Statements which are restrictable via a where-clause (and - thus also having a from-clause). - Author: Steve Ebersole - Ported by: Steve Strong - - - - - Retreives the from-clause in effect for this statement; could be null if the from-clause - has not yet been parsed/generated. - - - - - Does this statement tree currently contain a where clause? - Returns True if a where-clause is found in the statement tree and - that where clause actually defines restrictions; false otherwise. - - - - - Retreives the where-clause defining the restriction(s) in effect for - this statement. - Note that this will generate a where-clause if one was not found, so caution - needs to taken prior to calling this that restrictions will actually exist - in the resulting statement tree (otherwise "unexpected end of subtree" errors - might occur during rendering). - - - - - Represents an element of a projection list, i.e. a select expression. - Author: josh - Ported by: Steve Strong - - - - - Appends AST nodes that represent the columns after the current AST node. - (e.g. 'as col0_O_') - - The index of the select expression in the projection list. - - - - Returns the data type of the select expression. - - - - - Returns the FROM element that this expression refers to. - - - - - Returns true if the element is a constructor (e.g. new Foo). - - - - - Returns true if this select expression represents an entity that can be returned. - - - - - Sets the text of the node. - - - - - Represents an aggregate function i.e. min, max, sum, avg. - - Author: Joshua Davis - Ported by: Steve Strong - - - - - Encapsulates the information relating to an individual assignment within the - set clause of an HQL update statement. This information is used during execution - of the update statements when the updates occur against "multi-table" stuff. - - - - - Contract for nodes representing logcial BETWEEN (ternary) operators. - - - - - Nodes which represent binary arithmetic operators. - - - - - Contract for nodes representing binary operators. - Author: Steve Ebersole - Ported by: Steve Strong - - - - - The left-hand operand of the operator. - - - - - The right-hand operand of the operator. - - - - Retrieves the left-hand operand of the operator. - - @return The left-hand operand - - - Retrieves the right-hand operand of the operator. - - @return The right-hand operand - - - - Contract for nodes representing binary operators. - Author: Steve Ebersole - Ported by: Steve Strong - - - - - Performs the operator node initialization by seeking out any parameter - nodes and setting their expected type, if possible. - - - - Mutate the subtree relating to a row-value-constructor to instead use - a series of ANDed predicates. This allows multi-column type comparisons - and explicit row-value-constructor syntax even on databases which do - not support row-value-constructor. -

- For example, here we'd mutate "... where (col1, col2) = ('val1', 'val2) ..." to - "... where col1 = 'val1' and col2 = 'val2' ..." - - @param valueElements The number of elements in the row value constructor list. - - -

- Represents a boolean literal within a query. - -
- - - Represents a literal. - - Author: josh - Ported by: Steve Strong - - - - - Interface for nodes which wish to be made aware of any determined "expected - type" based on the context within they appear in the query. - Author: Steve Ebersole - Ported by: Steve Strong - - - - Expected-types really only pertinent here for boolean literals... - - @param expectedType - - - - Represents a case ... when .. then ... else ... end expression in a select. - - - - - Represents a case ... when .. then ... else ... end expression in a select. - - Author: Gavin King - Ported by: Steve Strong - - - - - Represents 'elements()' or 'indices()'. - Author: josh - Ported by: Steve strong - - - - - Represents a method call - Author: josh - Ported by: Steve Strong - - - - - Common behavior - a node that contains a list of select expressions. - Author: josh - Ported by: Steve Strong - - - - - Returns an array of SelectExpressions gathered from the children of the given parent AST node. - - - - - Returns an array of SelectExpressions gathered from the children of the given parent AST node. - - - - - Returns the first select expression node that should be considered when building the array of select - expressions. - - - - - Represents a COUNT expression in a select. - Author: josh - Ported by: Steve Strong - - - - - Defines a top-level AST node representing an HQL delete statement. - - - - - Represents a reference to a property or alias expression. This should duplicate the relevant behaviors in - PathExpressionParser. - Author: Joshua Davis - Ported by: Steve Strong - - - - - The contract for expression sub-trees that can resolve themselves. - Author: josh - Ported by: Steve Strong - - - - - Does the work of resolving an identifier or a dot - - - - - Does the work of resolving an identifier or a dot, but without a parent node - - - - - Does the work of resolving an identifier or a dot, but without a parent node or alias - - - - - Does the work of resolving inside of the scope of a function call - - - - - Does the work of resolving an an index []. - - - - - An AST node with a path property. This path property will be the fully qualified name. - Author: josh - Ported by: Steve Strong - - - - - Returns the full path name represented by the node. - - the full path name represented by the node. - - - - Sub-classes can override this method if they produce implied joins (e.g. DotNode). - - an implied join created by this from reference. - - - - The full path, to the root alias of this dot node. - - - - - The type of dereference that hapened (DEREF_xxx). - - - - - The identifier that is the name of the property. - - - - - The unresolved property path relative to this dot node. - - - - - The column names that this resolves to. - - - - - Fetch join or not. - - - - - The type of join to create. Default is an inner join. - - - - - Is the given property name a reference to the primary key of the associated - entity construed by the given entity type? - For example, consider a fragment like order.customer.id - (where order is a from-element alias). Here, we'd have: - propertyName = "id" AND - owningType = ManyToOneType(Customer) - and are being asked to determine whether "customer.id" is a reference - to customer's PK... - - The name of the property to check. - The type represeting the entity "owning" the property - True if propertyName references the entity's (owningType->associatedEntity) primary key; false otherwise. - - - - Sets the join type for this '.' node structure. - - - - - Returns the full path of the node. - - - - - Represents the 'FROM' part of a query or subquery, containing all mapped class references. - Author: josh - Ported by: Steve Strong - - - - - Counts the from elements as they are added. - - - - - All of the implicit FROM xxx JOIN yyy elements that are the destination of a collection. These are created from - index operators on collection property references. - - - - - Pointer to the parent FROM clause, if there is one. - - - - - Collection of FROM clauses of which this is the parent. - - - - - Convenience method to check whether a given token represents a from-element alias. - - The potential from-element alias to check. - True if the possibleAlias is an alias to a from-element visible from this point in the query graph. - - - - Returns true if the from node contains the class alias name. - - The HQL class alias name. - true if the from node contains the class alias name. - - - - Returns true if the from node contains the table alias name. - - The SQL table alias name. - true if the from node contains the table alias name. - - - - Adds a new from element to the from node. - - The reference to the class. - The alias AST. - The new FROM element. - - - - Retreives the from-element represented by the given alias. - - The alias by which to locate the from-element. - The from-element assigned the given alias, or null if none. - - - - Returns the list of from elements in order. - - The list of from elements (instances of FromElement). - - - - Returns the list of from elements that will be part of the result set. - - the list of from elements that will be part of the result set. - - - - Look for an existing implicit or explicit join by the given path. - - - - - Currently this is needed in order to deal with {@link FromElement FromElements} which - contain "hidden" JDBC parameters from applying filters. - Would love for this to go away, but that would require that Hibernate's - internal {@link org.hibernate.engine.JoinSequence join handling} be able to either:
    -
  • render the same AST structures
  • -
  • render structures capable of being converted to these AST structures
  • -
- In the interim, this allows us to at least treat these "hidden" parameters properly which is - the most pressing need. - Author: Steve Ebersole - Ported by: Steve Strong -
-
- - - Adds a parameter specification for a parameter encountered within this node. We use the term 'embedded' here - because of the fact that the parameter was simply encountered as part of the node's text; it does not exist - as part of a subtree as it might in a true AST. - - The generated specification. - - - - Retrieve all embedded parameter specifications. - - All embedded parameter specifications; may return null. - - - - Set the renderable text of this node. - - - - - Determine whether this node contans embedded parameters. The implication is that - {@link #getEmbeddedParameters()} is allowed to return null if this method returns false. - - - - - Returns the identifier select SQL fragment. - - The total number of returned types. - The sequence of the current returned type. - the identifier select SQL fragment. - - - - Returns the property select SQL fragment. - - The total number of returned types. - The sequence of the current returned type. - the property select SQL fragment. - - - - Render the identifier select, but in a 'scalar' context (i.e. generate the column alias). - - the sequence of the returned type - the identifier select with the column alias. - - - - Returns true if this FromElement was implied by a path, or false if this FROM element is explicitly declared in - the FROM clause. - - - - - Creates entity from elements. - - - - - - - - Creates collection from elements. - - - - - - - - - - - Delegate that handles the type and join sequence information for a FromElement. - Author: josh - Ported by: Steve Strong - - - - - Returns the identifier select SQL fragment. - - The total number of returned types. - The sequence of the current returned type. - the identifier select SQL fragment. - - - - Render the identifier select, but in a 'scalar' context (i.e. generate the column alias). - - the sequence of the returned type - the identifier select with the column alias. - - - - Returns the property select SQL fragment. - - The total number of returned types. - The sequence of the current returned type. - - the property select SQL fragment. - - - - Returns the type of a property, given it's name (the last part) and the full path. - - The last part of the full path to the property. - The full property path. - The type - - - - This accounts for a quirk in Queryable, where it sometimes generates ', ' in front of the - SQL fragment. :-P - - A SQL fragment. - The fragment, without the leading comma and spaces. - - - - Returns the Hibernate queryable implementation for the HQL class. - - - - - Insert a new node into both the Tree and the Node Array. Add DOWN and UP nodes if needed. - - The parent node - The child node - - - - Count the number of child nodes (including DOWNs and UPs) of a parent node - - The index of the parent in the node array - The number of child nodes - - - - Represents the [] operator and provides it's semantics. - Author: josh - Ported by: Steve Strong - - - - - Author: Steve Ebersole - Ported by: Steve Strong - - - - - Defines a top-level AST node representing an HQL "insert select" statement. - - - - Performs detailed semantic validation on this insert statement tree. - Indicates validation failure. - - - Retreive this insert statement's into-clause. - The into-clause - - - Retreive this insert statement's select-clause. - The select-clause. - - - - Represents an entity referenced in the INTO clause of an HQL - INSERT statement. - - Author: Steve Ebersole - Ported by: Steve Strong - - - - - Returns additional display text for the AST node. - - The additional display text. - - - - Determine whether the two types are "assignment compatible". - - The type defined in the into-clause. - The type defined in the select clause. - True if they are assignment compatible. - - - - Interface for nodes which require access to the SessionFactory - - Author: Steve Ebersole - Ported by: Steve Strong - - - - - IsNotNullLogicOperatorNode implementation - - Author: Steve Ebersole - Ported by: Steve Strong - - - - - Represents a 'is null' check. - - - - - A node representing a static Java constant. - - Author: Steve Ebersole - Ported by: Steve Strong - - - - - Implementation of OrderByClause. - Author: Steve Ebersole - Ported by: Steve Strong - - - - - Implementation of ParameterNode. - Author: Steve Ebersole - Ported by: Steve Strong - - - - - Locate the select clause that is part of this select statement. - Note, that this might return null as derived select clauses (i.e., no - select clause at the HQL-level) get generated much later than when we - get created; thus it depends upon lifecycle. - - Our select clause, or null. - - - - Represents the list of expressions in a SELECT clause. - Author: josh - Ported by: Steve Strong - - - - Prepares a derived (i.e., not explicitly defined in the query) select clause. - - @param fromClause The from clause to which this select clause is linked. - - - Prepares an explicitly defined select clause. - - @param fromClause The from clause linked to this select clause. - @throws SemanticException - - - - FromElements which need to be accounted for in the load phase (either for return or for fetch). - - - - - The column alias names being used in the generated SQL. - - - - - The constructor to use for dynamic instantiation queries. - - - - - The HQL aliases, or generated aliases - - - - - The types actually being returned from this query at the "object level". - - - - - A select expression that was generated by a FROM element. - Author: josh - Ported by: Steve Strong - - - - - Represents an SQL fragment in the AST. - Author: josh - Ported by: Steve Strong - - - - - Defines a top-level AST node representing an HQL update statement. - - - - - Generates class/table/column aliases during semantic analysis and SQL rendering. - Its essential purpose is to keep an internal counter to ensure that the - generated aliases are unique. - - - - - Appends child nodes to a parent efficiently. - - - - - Depth first iteration of an ANTLR AST. - Author: josh - Ported by: Steve Strong - - - - - Returns the 'list' representation with some brackets around it for debugging. - - The tree. - The list representation of the tree. - - - - Determine if a given node (test) is contained anywhere in the subtree - of another given node (fixture). - - The node against which to be checked for children. - The node to be tested as being a subtree child of the parent. - True if child is contained in the parent's collection of children. - - - - Finds the first node of the specified type in the chain of children. - - The parent - The type to find. - The first node of the specified type, or null if not found. - - - - Filters nodes in/out of a tree. - - The node to check. - true to keep the node, false if the node should be filtered out. - - - - Generates the scalar column AST nodes for a given array of SQL columns - - - - - Performs the post-processing of the join information gathered during semantic analysis. - The join generating classes are complex, this encapsulates some of the JoinSequence-related - code. - Author: Joshua Davis - Ported by: Steve Strong - - - - - Constructs a new JoinProcessor. - - The walker to which we are bound, giving us access to needed resources. - - - - Translates an AST join type (i.e., the token type) into a JoinFragment.XXX join type. - - The AST join type (from HqlSqlWalker) - a JoinType.XXX join type. - - - - Indicates that Float and Double literal values should - be treated using the SQL "exact" format (i.e., '.001') - - - - - Indicates that Float and Double literal values should - be treated using the SQL "approximate" format (i.e., '1E-3') - - - - - In what format should Float and Double literal values be sent - to the database? - See #EXACT, #APPROXIMATE - - - - - Traverse the AST tree depth first. Note that the AST passed in is not visited itself. Visitation starts - with its children. - - ast - - - - Turns a path into an AST. - - The path. - The AST factory to use. - An HQL AST representing the path. - - - - Creates synthetic and nodes based on the where fragment part of a JoinSequence. - Author: josh - Ported by: Steve Strong - - - - - Generates translators which uses the Antlr-based parser to perform - the translation. - - Author: Gavin King - Ported by: Steve Strong - - - - - Facade for generation of - and instances. - - - - - Facade for generation of - and instances. - - - - - Construct a instance - capable of translating an HQL query string. - - The query string to be translated - - - Currently enabled filters - The session factory - An appropriate translator. - - - - Construct a instance - capable of translating a Linq expression. - - - The query-identifier (used in collection). - This is typically the same as the queryString parameter except for the case of - split polymorphic queries which result in multiple physical sql queries. - - The query expression to be translated - - - Currently enabled filters - The session factory - An appropriate translator. - - - - Look ahead for tokenizing is all lowercase, whereas the original case of an input stream is preserved. - Copied from http://www.antlr.org/wiki/pages/viewpage.action?pageId=1782 - - - - - Provides a map of collection function names to the corresponding property names. - Authoer: josh - Ported by: Steve Strong - - - - - A problem occurred translating a Hibernate query to SQL due to invalid query syntax, etc. - - - - - Initializes a new instance of the class. - - The message that describes the error. - - - - Initializes a new instance of the class. - - The message that describes the error. - - The exception that is the cause of the current exception. If the innerException parameter - is not a null reference, the current exception is raised in a catch block that handles - the inner exception. - - - - - Initializes a new instance of the class. - - The message that describes the error. - The query that contains the error. - - - - Initializes a new instance of the class. - - - The exception that is the cause of the current exception. If the innerException parameter - is not a null reference, the current exception is raised in a catch block that handles - the inner exception. - - - - - Initializes a new instance of the class - with serialized data. - - - The that holds the serialized object - data about the exception being thrown. - - - The that contains contextual information about the source or destination. - - - - - Sets the serialization info for after - getting the info from the base Exception. - - - The that holds the serialized object - data about the exception being thrown. - - - The that contains contextual information about the source or destination. - - - - - Gets or sets the of HQL that caused the Exception. - - - - - Gets a message that describes the current . - - The error message that explains the reason for this exception including the HQL. - - - - An error handler that counts parsing errors and warnings. - - - - - Defines the behavior of an error handler for the HQL parsers. - Author: josh - Ported by: Steve Strong - - - - - A custom token class for the HQL grammar. - - - - - The previous token type. - - - - - Public constructor - - - - - Public constructor - - - - - Returns a string representation of the object. - - The debug string - - - - Indicates if the token could be an identifier. - - - - - Gets or Sets the type of the token, remembering the previous type on Sets. - - - - - Returns the previous token type. - - - - - Exception thrown when an invalid path is found in a query. - Author: josh - Ported by: Steve Strong - - - - - Specialized interface for filters. - - - - - Defines the constract of an HQL->SQL translator. - - - - - Compile a "normal" query. This method may be called multiple times. Subsequent invocations are no-ops. - - Defined query substitutions. - Does this represent a shallow (scalar or entity-id) select? - There was a problem parsing the query string. - There was a problem querying defined mappings. - - - - Perform a list operation given the underlying query definition. - - The session owning this query. - The query bind parameters. - The query list results. - - - - - Perform a bulk update/delete operation given the underlying query defintion. - - The query bind parameters. - The session owning this query. - The number of entities updated or deleted. - - - - - Returns the column names in the generated SQL. - - the column names in the generated SQL. - - - - Information about any parameters encountered during translation. - - - - - The set of query spaces (table names) that the query referrs to. - - - - - The SQL string generated by the translator. - - - - - The HQL string processed by the translator. - - - - - Returns the filters enabled for this query translator. - - Filters enabled for this query execution. - - - - Returns an array of Types represented in the query result. - - Query return types. - - - - Returns an array of HQL aliases - - Returns an array of HQL aliases - - - - Does the translated query contain collection fetches? - - True if the query does contain collection fetched; false otherwise. - - - - Compile a filter. This method may be called multiple - times. Subsequent invocations are no-ops. - - the role name of the collection used as the basis for the filter. - Defined query substitutions. - Does this represent a shallow (scalar or entity-id) select? - - - - Creates a new AST-based query translator. - - The query-identifier (used in stats collection) - The hql query to translate - Currently enabled filters - The session factory constructing this translator instance. - - - - Compile a "normal" query. This method may be called multiple - times. Subsequent invocations are no-ops. - - Defined query substitutions. - Does this represent a shallow (scalar or entity-id) select? - - - - Compile a filter. This method may be called multiple - times. Subsequent invocations are no-ops. - - the role name of the collection used as the basis for the filter. - Defined query substitutions. - Does this represent a shallow (scalar or entity-id) select? - - - - Performs both filter and non-filter compiling. - - Defined query substitutions. - Does this represent a shallow (scalar or entity-id) select? - the role name of the collection used as the basis for the filter, NULL if this is not a filter. - - - - Construct a new SessionFactoryHelperExtensions instance. - - The SessionFactory impl to be encapsulated. - - - - Locate a registered sql function by name. - - The name of the function to locate - The sql function, or null if not found. - - - - Locate a registered sql function by name. - - The name of the function to locate - The sql function, or throws QueryException if no matching sql functions could be found. - - - - Find the function return type given the function name and the first argument expression node. - - The function name. - The first argument expression. - the function return type given the function name and the first argument expression node. - - - - Given a (potentially unqualified) class name, locate its imported qualified name. - - The potentially unqualified class name - The qualified class name. - - - - Does the given persister define a physical discriminator column - for the purpose of inheritence discrimination? - - The persister to be checked. - True if the persister does define an actual discriminator column. - - - - Locate the collection persister by the collection role. - - The collection role name. - The defined CollectionPersister for this collection role, or null. - - - - Determine the name of the property for the entity encapsulated by the - given type which represents the id or unique-key. - - The type representing the entity. - The corresponding property name - - - - Retrieves the column names corresponding to the collection elements for the given - collection role. - - The collection role - The sql column-qualification alias (i.e., the table alias) - the collection element columns - - - - Essentially the same as GetElementType, but requiring that the - element type be an association type. - - The collection type to be checked. - The AssociationType of the elements of the collection. - - - - Locate the collection persister by the collection role, requiring that - such a persister exist. - - The collection role name. - The defined CollectionPersister for this collection role. - - - - Locate the persister by class or entity name, requiring that such a persister - exist. - - The class or entity name - The defined persister for this entity - - - - Given a (potentially unqualified) class name, locate its persister. - - The (potentially unqualified) class name. - The defined persister for this class, or null if none found. - - - - Given a (potentially unqualified) class name, locate its persister. - - The session factory implementor. - The (potentially unqualified) class name. - The defined persister for this class, or null if none found. - - - - Locate the persister by class or entity name. - - The class or entity name - The defined persister for this entity, or null if none found. - - - - Create a join sequence rooted at the given collection. - - The persister for the collection at which the join should be rooted. - The alias to use for qualifying column references. - The generated join sequence. - - - - Generate an empty join sequence instance. - - The generated join sequence. - - - - Generate a join sequence representing the given association type. - - Should implicit joins (theta-style) or explicit joins (ANSI-style) be rendered - The type representing the thing to be joined into. - The table alias to use in qualifing the join conditions - The type of join to render (inner, outer, etc) - The columns making up the condition of the join. - The generated join sequence. - - - - Retreive a PropertyMapping describing the given collection role. - - The collection role for whcih to retrieve the property mapping. - The property mapping. - - - - Given a collection type, determine the Type representing elements - within instances of that collection. - - The collection type to be checked. - The Type of the elements of the collection. - - - - Generates translators which uses the older hand-written parser to perform the translation. - - - - - Parses the hibernate query into its constituent clauses. - - - - - A parser is a state machine that accepts a string of tokens, - bounded by start() and end() and modifies a QueryTranslator. Parsers - are NOT intended to be threadsafe. They SHOULD be reuseable - for more than one token stream. - - - - - - - - - - - - - - - - - - - - - - - - Parses the from clause of a hibernate query, looking for tables and - aliases for the SQL query. - - - - - - - - FromPathExpressionParser - - - - - Parses an expression of the form foo.bar.baz and builds up an expression - involving two less table joins than there are path components. - - - - - - - - - - NOTE: we avoid joining to the next table if the named property is just the foreign key value - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Used to hold column type in nested functions. - - - - - Parses the GROUP BY clause of an aggregate query - - - - - Parses the having clause of a hibernate query and translates it to an - SQL having clause. - - - - Parses the where clause of a hibernate query and translates it to an - SQL where clause. - - - - - - - - - - - - - - - - - - - - - - - - Parses the ORDER BY clause of a query - - - - - - - HQL lexical analyzer (not really a parser) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - An instance of QueryTranslator translates a Hibernate query string to SQL. - - - - Construct a query translator - - A unique identifier for the query of which this - translation is part; typically this is the original, user-supplied query string. - - - The "preprocessed" query string; at the very least - already processed by {@link org.hibernate.hql.QuerySplitter}. - - Any enabled filters. - The session factory. - - - - Construct a query translator - - - - - Compile a subquery - - - - - - Compile a "normal" query. This method may be called multiple - times. Subsequent invocations are no-ops. - - - - - Compile a filter. This method may be called multiple - times. Subsequent invocations are no-ops. - - - - - Compile the query (generate the SQL). - - - - - WARNING: side-effecty - - - - - Extract the complete clause of function. - - The list of tokens - The index of the list that represent the founded function. - String trepresentation of each token. - Each token can be string or SqlString - - - Used for collection filters - - - - - - - Persisters for the return values of a List style query - - - The Persisters stored by QueryTranslator have to be . The - setter will attempt to cast the ILoadable array passed in into an - IQueryable array. - - - - - Types of the return values of an Enumerate() style query. - Return an array of s. - - - - - - - - Is this query called by Scroll() or Iterate()? - - true if it is, false if it is called by find() or list() - - - - - - - - - - Parsers the select clause of a hibernate query, looking - for a table (well, really class) alias. - - - - - - - - - - - - - - - - - - - - - - - Wraps SessionFactoryImpl, adding more lookup behaviors and encapsulating some of the error handling. - - - - - Locate the collection persister by the collection role. - - The collection role name. - The defined CollectionPersister for this collection role, or null. - - - - Locate the persister by class or entity name, requiring that such a persister - exists - - The class or entity name - The defined persister for this entity - - - - Locate the persister by class or entity name. - - The class or entity name - The defined persister for this entity, or null if none found. - - - - Retreive a PropertyMapping describing the given collection role. - - The collection role for whcih to retrieve the property mapping. - The property mapping. - - - - Provides utility methods for generating HQL / SQL names. - Shared by both the 'classic' and 'new' query translators. - - - - - Handle Hibernate "implicit" polymorphism, by translating the query string into - several "concrete" queries against mapped classes. - - - - - - - - - Contract for providing callback access to a , - typically from the . - - - - Retrieve the next value from the underlying source. - - - - Encapsulates definition of the underlying data structure backing a sequence-style generator. - - - - - A callback to be able to get the next value from the underlying - structure as needed. - - The session. - The next value. - - - - Prepare this structure for use. Called sometime after instantiation, - but before first use. - - The optimizer being applied to the generator. - - - Commands needed to create the underlying structures. - The database dialect being used. - The creation commands. - - - Commands needed to drop the underlying structures. - The database dialect being used. - The drop commands. - - - The name of the database structure (table or sequence). - - - How many times has this structure been accessed through this reference? - - - The configured increment size - - - - Performs optimization on an optimizable identifier generator. Typically - this optimization takes the form of trying to ensure we do not have to - hit the database on each and every request to get an identifier value. - - - - Optimizers work on constructor injection. They should provide - a constructor with the following arguments. - - - The return type for the generated values. - - int The increment size. - - - - - Generate an identifier value accounting for this specific optimization. - - Callback to access the underlying value source. - The generated identifier value. - - - - A common means to access the last value obtained from the underlying - source. This is intended for testing purposes, since accessing the - unerlying database source directly is much more difficult. - - - The last value we obtained from the underlying source; - -1 indicates we have not yet consulted with the source. - - - - - Defined increment size. - - The increment size. - - - - - Are increments to be applied to the values stored in the underlying - value source? - - - True if the values in the source are to be incremented - according to the defined increment size; false otherwise, in which - case the increment is totally an in memory construct. - - - - - Describes a sequence. - - - - - An that requires creation of database objects - All s that also implement - An have access to a special mapping parameter: schema - - - - - The general contract between a class that generates unique - identifiers and the . - - - - It is not intended that this interface ever be exposed to the - application. It is intended that users implement this interface - to provide custom identifier generation strategies. - - - Implementors should provide a public default constructor. - - - Implementations that accept configuration parameters should also - implement . - - - Implementors must be threadsafe. - - - - - - Generate a new identifier - - The this id is being generated in. - The entity for which the id is being generated. - The new identifier - - - - The SQL required to create the underlying database objects - - The to help with creating the sql. - - An array of objects that contain the sql to create the - necessary database objects. - - - - - The SQL required to remove the underlying database objects - - The to help with creating the sql. - - A that will drop the database objects. - - - - - Return a key unique to the underlying database objects. - - - A key unique to the underlying database objects. - - - Prevents us from trying to create/remove them multiple times - - - - - An IdentiferGenerator that supports "configuration". - - - - - Configure this instance, given the values of parameters - specified by the user as <param> elements. - This method is called just once, followed by instantiation. - - The the identifier should be. - An of Param values that are keyed by parameter name. - The to help with Configuration. - - - - Describes a table used to mimic sequence behavior - - - - - Abstract InsertGeneratedIdentifierDelegate implementation where the - underlying strategy causes the generated identitifer to be returned as an - effect of performing the insert statement. Thus, there is no need for an - additional sql statement to determine the generated identitifer. - - - - - Responsible for handling delegation relating to variants in how - insert-generated-identifier generator strategies dictate processing: -
    -
  • building the sql insert statement
  • -
  • determination of the generated identifier value
  • -
-
-
- - - Build a specific to the delegate's mode - of handling generated key values. - - The insert object. - - - - Perform the indicated insert SQL statement and determine the identifier value generated. - - - - - The generated identifier value. - - - - Abstract InsertGeneratedIdentifierDelegate implementation where the - underlying strategy requires an subsequent select after the insert - to determine the generated identifier. - - - - Extract the generated key value from the given result set. - The session - The result set containing the generated primay key values. - The entity being saved. - The generated identifier - - - Bind any required parameter values into the SQL command . - The session - The prepared command - The entity being saved. - - - Get the SQL statement to be used to retrieve generated key values. - The SQL command string - - - - Types of any required parameter values into the SQL command . - - - - - Nothing more than a distinguishing subclass of Insert used to indicate - intent. - Some subclasses of this also provided some additional - functionality or semantic to the genernated SQL statement string. - - - - - A class that builds an INSERT sql statement. - - - - - - - - Builds a SqlString from the internal data. - - A valid SqlString that can be converted into an IDbCommand - - - - Adds the Property's columns to the INSERT sql - - The column name for the Property - The IType of the property. - The SqlInsertBuilder. - The column will be associated with a parameter. - - - - Add a column with a specific value to the INSERT sql - - The name of the Column to add. - The value to set for the column. - The NHibernateType to use to convert the value to a sql string. - The SqlInsertBuilder. - - - - Add a column with a specific value to the INSERT sql - - The name of the Column to add. - A valid sql string to set as the value of the column. - The SqlInsertBuilder. - - - - Specialized IdentifierGeneratingInsert which appends the database - specific clause which signifies to return generated IDENTITY values - to the end of the insert statement. - - - - - Disable comments on insert. - - - - - implementation where the - underlying strategy causes the generated identitifer to be returned, as an - effect of performing the insert statement, in a Output parameter. - Thus, there is no need for an additional sql statement to determine the generated identitifer. - - - - - Specialized IdentifierGeneratingInsert which appends the database - specific clause which signifies to return generated identifier values - to the end of the insert statement. - - - - - - - The IdentityGenerator for autoincrement/identity key generation. - - The this id is being generated in. - The entity the id is being generated for. - - IdentityColumnIndicator Indicates to the Session that identity (i.e. identity/autoincrement column) - key generation should be used. - - - - - An that returns the current identifier - assigned to an instance. - - -

- This id generation strategy is specified in the mapping file as - <generator class="assigned" /> -

-
-
- - - Generates a new identifier by getting the value of the identifier - for the obj parameter. - - The this id is being generated in. - The entity for which the id is being generated. - The value that was assigned to the mapped id's property. - - Thrown when a is passed in as the obj or - if the identifier of obj is null. - - - - - An that returns a Int64 constructed from the system - time and a counter value. Not safe for use in a clustser! - - - - - An that uses the value of - the id property of an associated object - - - - This id generation strategy is specified in the mapping file as - - <generator class="foreign"> - <param name="property">AssociatedObject</param> - </generator> - - - The mapping parameter property is required. - - - - - Generates an identifer from the value of a Property. - - The this id is being generated in. - The entity for which the id is being generated. - - The identifier value from the associated object or - if the session - already contains obj. - - - - - Configures the ForeignGenerator by reading the value of property - from the parms parameter. - - The the identifier should be. - An of Param values that are keyed by parameter name. - The to help with Configuration. - - Thrown if the key property is not found in the parms parameter. - - - - - An that generates values - using a strategy suggested Jimmy Nilsson's - article - on informit.com. - - -

- This id generation strategy is specified in the mapping file as - <generator class="guid.comb" /> -

-

- The comb algorithm is designed to make the use of GUIDs as Primary Keys, Foreign Keys, - and Indexes nearly as efficient as ints. -

-

- This code was contributed by Donald Mull. -

-
-
- - - Generate a new using the comb algorithm. - - The this id is being generated in. - The entity for which the id is being generated. - The new identifier as a . - - - - Generate a new using the comb algorithm. - - - - - An that generates values - using Guid.NewGuid(). - - -

- This id generation strategy is specified in the mapping file as - <generator class="guid" /> -

-
-
- - - Generate a new for the identifier. - - The this id is being generated in. - The entity for which the id is being generated. - The new identifier as a . - - - - Thrown by implementation class when ID generation fails - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The message that describes the error. - - - - Initializes a new instance of the class. - - The message that describes the error. - - The exception that is the cause of the current exception. If the innerException parameter - is not a null reference, the current exception is raised in a catch block that handles - the inner exception. - - - - - Initializes a new instance of the class - with serialized data. - - - The that holds the serialized object - data about the exception being thrown. - - - The that contains contextual information about the source or destination. - - - - - Factory methods for IdentifierGenerator framework. - - -

The built in strategies for identifier generation in NHibernate are:

- - - strategy - Implementation of strategy - - - assigned - - - - counter - - - - foreign - - - - guid - - - - guid.comb - - - - guid.native - - - - hilo - - - - identity - - - - native - - Chooses between , - , and based on the - 's capabilities. - - - - seqhilo - - - - sequence - - - - uuid.hex - - - - uuid.string - - - -
-
- - Get the generated identifier when using identity columns - The to read the identifier value from. - The the value should be converted to. - The the value is retrieved in. - The value for the identifier. - - - - Gets the value of the identifier from the and - ensures it is the correct . - - The to read the identifier value from. - The the value should be converted to. - The the value is retrieved in. - - The value for the identifier. - - - Thrown if there is any problem getting the value from the - or with converting it to the . - - - - - An where the key is the strategy and - the value is the for the strategy. - - - - - When this is returned by Generate() it indicates that the object - has already been saved. - - - String.Empty - - - - - When this is return - - - - - Initializes the static fields in . - - - - - Creates an from the named strategy. - - - The name of the generator to create. This can be one of the NHibernate abbreviations (ie - native, - sequence, guid.comb, etc...), a full class name if the Type is in the NHibernate assembly, or - a full type name if the strategy is in an external assembly. - - The that the retured identifier should be. - An of <param> values from the mapping. - The to help with Configuration. - - An instantiated and configured . - - - Thrown if there are any exceptions while creating the . - - - - - Create the correct boxed for the identifier. - - The value of the new identifier. - The the identifier should be. - - The identifier value converted to the . - - - The type parameter must be an , , - or . - - - - - An that indicates to the that identity - (ie. identity/autoincrement column) key generation should be used. - - -

- This id generation strategy is specified in the mapping file as - <generator class="identity" /> - or if the database natively supports identity columns - <generator class="native" /> -

-

- This indicates to NHibernate that the database generates the id when - the entity is inserted. -

-
-
- - - Delegate for dealing with IDENTITY columns where the dialect supports returning - the generated IDENTITY value directly from the insert statement. - - - - - Delegate for dealing with IDENTITY columns where the dialect requires an - additional command execution to retrieve the generated IDENTITY value - - - - The configuration parameter holding the entity name - - - - An IIdentifierGenerator that returns a Int64, constructed by - counting from the maximum primary key value at startup. Not safe for use in a - cluster! - - - - java author Gavin King, .NET port Mark Holden - - - Mapping parameters supported, but not usually needed: table, column. - - - - - - - - - - - - - - - - - - - - - The configuration parameter holding the schema name - - - - The configuration parameter holding the table name for the - generated id - - - - - The configuration parameter holding the table names for all - tables for which the id must be unique - - - - - The configuration parameter holding the primary key column - name of the generated id - - - - The configuration parameter holding the catalog name - - - - A persister that may have an identity assigned by execution of a SQL INSERT. - - - - - Get a SQL select string that performs a select based on a unique - key determined by the given property name). - - - The name of the property which maps to the - column(s) to use in the select statement restriction. - - The SQL select string - - - - Get the database-specific SQL command to retrieve the last - generated IDENTITY value. - - - - The names of the primary key columns in the root table. - The primary key column names. - - - - Get the identifier type - - - - - Generates Guid values using the server side Guid function. - - - - - A generator that selects the just inserted row to determine the identifier - value assigned by the database. The correct row is located using a unique key. - - One mapping parameter is required: key (unless a natural-id is defined in the mapping). - - - The delegate for the select generation strategy. - - - - An that generates Int64 values using an - oracle-style sequence. A higher performance algorithm is - . - - -

- This id generation strategy is specified in the mapping file as - - <generator class="sequence"> - <param name="sequence">uid_sequence</param> - <param name="schema">db_schema</param> - </generator> - -

-

- The sequence parameter is required while the schema is optional. -

-
-
- - - The name of the sequence parameter. - - - - - The parameters parameter, appended to the create sequence DDL. - For example (Oracle): INCREMENT BY 1 START WITH 1 MAXVALUE 100 NOCACHE. - - - - - Configures the SequenceGenerator by reading the value of sequence and - schema from the parms parameter. - - The the identifier should be. - An of Param values that are keyed by parameter name. - The to help with Configuration. - - - - Generate an , , or - for the identifier by using a database sequence. - - The this id is being generated in. - The entity for which the id is being generated. - The new identifier as a , , or . - - - - The SQL required to create the database objects for a SequenceGenerator. - - The to help with creating the sql. - - An array of objects that contain the Dialect specific sql to - create the necessary database objects for the SequenceGenerator. - - - - - The SQL required to remove the underlying database objects for a SequenceGenerator. - - The to help with creating the sql. - - A that will drop the database objects for the SequenceGenerator. - - - - - Return a key unique to the underlying database objects for a SequenceGenerator. - - - The configured sequence name. - - - - - An that combines a hi/lo algorithm with an underlying - oracle-style sequence that generates hi values. - - -

- This id generation strategy is specified in the mapping file as - - <generator class="seqhilo"> - <param name="sequence">uid_sequence</param> - <param name="max_lo">max_lo_value</param> - <param name="schema">db_schema</param> - </generator> - -

-

- The sequence parameter is required, the max_lo and schema are optional. -

-

- The user may specify a max_lo value to determine how often new hi values are - fetched. If sequences are not avaliable, TableHiLoGenerator might be an - alternative. -

-
-
- - - The name of the maximum low value parameter. - - - - - Configures the SequenceHiLoGenerator by reading the value of sequence, max_lo, - and schema from the parms parameter. - - The the identifier should be. - An of Param values that are keyed by parameter name. - The to help with Configuration. - - - - Generate an , , or - for the identifier by using a database sequence. - - The this id is being generated in. - The entity for which the id is being generated. - The new identifier as a , , or . - - - - A generator which combines sequence generation with immediate retrieval - by attaching a output parameter to the SQL command - In this respect it works much like ANSI-SQL IDENTITY generation. - - - - - An that uses a database table to store the last - generated value. - - -

- It is not intended that applications use this strategy directly. However, - it may be used to build other (efficient) strategies. The return type is - System.Int32 -

-

- The hi value MUST be fetched in a seperate transaction to the ISession - transaction so the generator must be able to obtain a new connection and commit it. - Hence this implementation may not be used when the user is supplying connections. -

-

- The mapping parameters table and column are required. -

-
-
- - - An additional where clause that is added to - the queries against the table. - - - - - The name of the column parameter. - - - - - The name of the table parameter. - - - - Default column name - - - Default table name - - - - Configures the TableGenerator by reading the value of table, - column, and schema from the parms parameter. - - The the identifier should be. - An of Param values that are keyed by parameter name. - The to help with Configuration. - - - - Generate a , , or - for the identifier by selecting and updating a value in a table. - - The this id is being generated in. - The entity for which the id is being generated. - The new identifier as a , , or . - - - - The SQL required to create the database objects for a TableGenerator. - - The to help with creating the sql. - - An array of objects that contain the Dialect specific sql to - create the necessary database objects and to create the first value as 1 - for the TableGenerator. - - - - - The SQL required to remove the underlying database objects for a TableGenerator. - - The to help with creating the sql. - - A that will drop the database objects for the TableGenerator. - - - - - Return a key unique to the underlying database objects for a TableGenerator. - - - The configured table name. - - - - - An that returns an Int64, constructed using - a hi/lo algorithm. - - -

- This id generation strategy is specified in the mapping file as - - <generator class="hilo"> - <param name="table">table</param> - <param name="column">id_column</param> - <param name="max_lo">max_lo_value</param> - <param name="schema">db_schema</param> - </generator> - -

-

- The table and column parameters are required, the max_lo and - schema are optional. -

-

- The hi value MUST be fecthed in a seperate transaction to the ISession - transaction so the generator must be able to obtain a new connection and - commit it. Hence this implementation may not be used when the user is supplying - connections. In that case a would be a - better choice (where supported). -

-
-
- - - The name of the max lo parameter. - - - - - Configures the TableHiLoGenerator by reading the value of table, - column, max_lo, and schema from the parms parameter. - - The the identifier should be. - An of Param values that are keyed by parameter name. - The to help with Configuration. - - - - Generate a for the identifier by selecting and updating a value in a table. - - The this id is being generated in. - The entity for which the id is being generated. - The new identifier as a . - - - - An that returns a string of length - 32, 36, or 38 depending on the configuration. - - -

- This id generation strategy is specified in the mapping file as - - <generator class="uuid.hex"> - <param name="format">format_string</param> - <param name="seperator">seperator_string</param> - </generator> - -

-

- The format and seperator parameters are optional. -

-

- The identifier string will consist of only hex digits. Optionally, the identifier string - may be generated with enclosing characters and seperators between each component - of the UUID. If there are seperators then the string length will be 36. If a format - that has enclosing brackets is used, then the string length will be 38. -

-

- format is either - "N" (xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx), - "D" (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx), - "B" ({xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}), - or "P" ((xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx)). These formats are described in - the Guid.ToString(String) method. - If no format is specified the default is "N". -

-

- seperator is the char that will replace the "-" if specified. If no value is - configured then the default seperator for the format will be used. If the format "D", "B", or - "P" is specified, then the seperator will replace the "-". If the format is "N" then this - parameter will be ignored. -

-

- This class is based on -

-
-
- - - Generate a new for the identifier using the "uuid.hex" algorithm. - - The this id is being generated in. - The entity for which the id is being generated. - The new identifier as a . - - - - Configures the UUIDHexGenerator by reading the value of format and - seperator from the parms parameter. - - The the identifier should be. - An of Param values that are keyed by parameter name. - The to help with Configuration. - - - - Generate a Guid into a string using the format. - - A new Guid string - - - - An that returns a string of length - 16. - - -

- This id generation strategy is specified in the mapping file as - <generator class="uuid.string" /> -

- - The identifier string will NOT consist of only alphanumeric characters. Use - this only if you don't mind unreadable identifiers. - - - This impelementation was known to be incompatible with Postgres. - -
-
- - - Generate a new for the identifier using the "uuid.string" algorithm. - - The this id is being generated in. - The entity for which the id is being generated. - The new identifier as a . - - - - Base class to create queries in "detached mode" where the NHibernate session is not available. - - - - - The behaviour of each method is basically the same of methods. - The main difference is on : - If you mix with named parameters setter, if same param name are found, - the value of the parameter setter override the value read from the POCO. - - - - - Interface to create queries in "detached mode" where the NHibernate session is not available. - All methods have the same semantics as the corresponding methods of the interface. - - - - - Get an executable instance of , - to actually run the query. - - - - Set the maximum number of rows to retrieve. - - The maximum number of rows to retreive. - - - - Sets the first row to retrieve. - - The first row to retreive. - - - - Enable caching of this query result set. - - Should the query results be cacheable? - - - Set the name of the cache region. - The name of a query cache region, or - for the default query cache - - - - Entities retrieved by this query will be loaded in - a read-only mode where Hibernate will never dirty-check - them or make changes persistent. - - Enable/Disable read -only mode - - - - The timeout for the underlying ADO query - - - - - Set a fetch size for the underlying ADO query. - the fetch size - - - - Set the lockmode for the objects idententified by the - given alias that appears in the FROM clause. - - alias a query alias, or this for a collection filter - - - - Add a comment to the generated SQL. - a human-readable string - - - - Bind a value to an indexed parameter. - - Position of the parameter in the query, numbered from 0 - The possibly null parameter value - The Hibernate type - - - - Bind a value to a named query parameter - - The name of the parameter - The possibly null parameter value - The NHibernate . - - - - Bind a value to an indexed parameter, guessing the Hibernate type from - the class of the given object. - - The position of the parameter in the query, numbered from 0 - The non-null parameter value - - - - Bind a value to a named query parameter, guessing the NHibernate - from the class of the given object. - - The name of the parameter - The non-null parameter value - - - - Bind multiple values to a named query parameter. This is useful for binding a list - of values to an expression such as foo.bar in (:value_list) - - The name of the parameter - A collection of values to list - The Hibernate type of the values - - - - Bind multiple values to a named query parameter, guessing the Hibernate - type from the class of the first object in the collection. This is useful for binding a list - of values to an expression such as foo.bar in (:value_list) - - The name of the parameter - A collection of values to list - - - - Bind the property values of the given object to named parameters of the query, - matching property names with parameter names and mapping property types to - Hibernate types using heuristics. - - Any POCO - - - - Bind an instance of a to an indexed parameter - using an NHibernate . - - The position of the parameter in the query string, numbered from 0 - A non-null instance of a . - - - - Bind an instance of a to a named parameter - using an NHibernate . - - The name of the parameter - A non-null instance of a . - - - - Bind an instance of a array to an indexed parameter - using an NHibernate . - - The position of the parameter in the query string, numbered from 0 - A non-null instance of a array. - - - - Bind an instance of a array to a named parameter - using an NHibernate . - - The name of the parameter - A non-null instance of a array. - - - - Bind an instance of a to an indexed parameter - using an NHibernate . - - The position of the parameter in the query string, numbered from 0 - A non-null instance of a . - - - - Bind an instance of a to a named parameter - using an NHibernate . - - The name of the parameter - A non-null instance of a . - - - - Bind an instance of a to an indexed parameter - using an NHibernate . - - The position of the parameter in the query string, numbered from 0 - A non-null instance of a . - - - - Bind an instance of a to a named parameter - using an NHibernate . - - The name of the parameter - A non-null instance of a . - - - - Bind an instance of a to an indexed parameter - using an NHibernate . - - The position of the parameter in the query string, numbered from 0 - A non-null instance of a . - - - - Bind an instance of a to a named parameter - using an NHibernate . - - The name of the parameter - A non-null instance of a . - - - - Bind an instance of a to an indexed parameter - using an NHibernate . - - The position of the parameter in the query string, numbered from 0 - A non-null instance of a . - - - - Bind an instance of a to a named parameter - using an NHibernate . - - A non-null instance of a . - The name of the parameter - - - - Bind an instance of a to an indexed parameter - using an NHibernate . - - The position of the parameter in the query string, numbered from 0 - A non-null instance of a . - - - - Bind an instance of a to a named parameter - using an NHibernate . - - The name of the parameter - A non-null instance of a . - - - - Bind an instance of a to an indexed parameter - using an NHibernate . - - The position of the parameter in the query string, numbered from 0 - A non-null instance of a . - - - - Bind an instance of a to a named parameter - using an NHibernate . - - The name of the parameter - A non-null instance of a . - - - - Bind an instance of a mapped persistent class to an indexed parameter. - - Position of the parameter in the query string, numbered from 0 - A non-null instance of a persistent class - - - - Bind an instance of a mapped persistent class to a named parameter. - - The name of the parameter - A non-null instance of a persistent class - - - - Bind an instance of a persistent enumeration class to an indexed parameter - using an NHibernate . - - The position of the parameter in the query string, numbered from 0 - A non-null instance of a persistent enumeration - - - - Bind an instance of a persistent enumeration class to a named parameter - using an NHibernate . - - The name of the parameter - A non-null instance of a persistent enumeration - - - - Bind an instance of a to an indexed parameter - using an NHibernate . - - The position of the parameter in the query string, numbered from 0 - A non-null instance of a . - - - - Bind an instance of a to a named parameter - using an NHibernate . - - The name of the parameter - A non-null instance of a . - - - - Bind an instance of a to an indexed parameter - using an NHibernate . - - The position of the parameter in the query string, numbered from 0 - A non-null instance of a . - - - - Bind an instance of a to a named parameter - using an NHibernate . - - The name of the parameter - A non-null instance of a . - - - - Bind an instance of a to an indexed parameter - using an NHibernate . - - The position of the parameter in the query string, numbered from 0 - A non-null instance of a . - - - - Bind an instance of a to a named parameter - using an NHibernate . - - The name of the parameter - A non-null instance of a . - - - - Bind an instance of a to an indexed parameter - using an NHibernate . - - The position of the parameter in the query string, numbered from 0 - A non-null instance of a . - - - - Bind an instance of a to a named parameter - using an NHibernate . - - The name of the parameter - A non-null instance of a . - - - - Bind an instance of a to an indexed parameter - using an NHibernate . - - The position of the parameter in the query string, numbered from 0 - A non-null instance of a . - - - - Bind an instance of a to a named parameter - using an NHibernate . - - The name of the parameter - A non-null instance of a . - - - - Bind an instance of a to an indexed parameter - using an NHibernate . - - The position of the parameter in the query string, numbered from 0 - A non-null instance of a . - - - - Bind an instance of a to a named parameter - using an NHibernate . - - The name of the parameter - A non-null instance of a . - - - - Bind an instance of a to an indexed parameter - using an NHibernate . - - The position of the parameter in the query string, numbered from 0 - A non-null instance of a . - - - - Bind an instance of a to a named parameter - using an NHibernate . - - The name of the parameter - A non-null instance of a . - - - - Bind an instance of a to a named parameter - using an NHibernate . - - The position of the parameter in the query string, numbered from 0 - An instance of a . - - - - Bind an instance of a to a named parameter - using an NHibernate . - - The name of the parameter - An instance of a . - - - - Override the current session flush mode, just for this query. - - - - - Set a strategy for handling the query results. This can be used to change - "shape" of the query result. - - - - - Set the value to ignore unknown parameters names. - - True to ignore unknown parameters names. - - - Override the current session cache mode, just for this query. - The cache mode to use. - this (for method chaining) - - - - Interface for DetachedQuery implementors. - - - When you are working with queries in "detached mode" you may need some additional services like clone, - copy of parameters from another query and so on. - - - - - Copy all properties to a given . - - The given . - - Usually the implementation use to set properties to the . - This mean that existing properties are merged/overriden. - - - - - Set only parameters to a given . - - The given . - - Existing parameters are merged/overriden. - - - - - Override all properties reading new values from a given . - - The given origin. - - - - Override all parameters reading new values from a given . - - The given origin. - - - Override the current session cache mode, just for this query. - The cache mode to use. - this (for method chaining) - - - - Fill all properties. - - The . - - Query properties are overriden/merged. - - - - - Copy all properties to a given . - - The given . - - The method use to set properties of . - - - - - Set only parameters to a given . - - The given . - - The method use to set properties of . - Existing parameters in are merged/overriden. - - - - - Clear all existing parameters and copy new parameters from a given origin. - - The origin of parameters. - The current instance - If is null. - - - - Abstract implementation of the IQuery interface. - - - - - An object-oriented representation of a NHibernate query. - - - An IQuery instance is obtained by calling ISession.CreateQuery(). This interface - exposes some extra functionality beyond that provided by ISession.Iterate() and - ISession.List(); - - - A particular page of the result set may be selected by calling - SetMaxResults(), SetFirstResult(). The generated sql - depends on the capabilities of the . Some - Dialects are for databases that have built in paging (LIMIT) and those capabilities - will be used to limit the number of records returned by the sql statement. - If the database does not support LIMITs then all of the records will be returned, - but the objects created will be limited to the specific results requested. - - Named query parameters may be used - - - Named query parameters are tokens of the form :name in the query string. A value is bound - to the Int32 parameter :foo by calling - - SetParameter("foo", foo, NHibernateUtil.Int32); - - for example. A name may appear multiple times in the query string. - - - Unnamed parameters ? are also supported. To bind a value to an unnamed - parameter use a Set method that accepts an Int32 positional argument - numbered from - zero. - - - You may not mix and match unnamed parameters and named parameters in the same query. - - - Queries are executed by calling List() or Iterate(). A query - may be re-executed by subsequent invocations. Its lifespan is, however, bounded by the lifespan - of the ISession that created it. - - - Implementors are not intended to be threadsafe. - - - - - - Return the query results as an . If the query contains multiple results - per row, the results are returned in an instance of object[]. - - -

- Entities returned as results are initialized on demand. The first SQL query returns - identifiers only. -

-

- This is a good strategy to use if you expect a high number of the objects - returned to be already loaded in the or in the 2nd level cache. -

-
-
- - - Strongly-typed version of . - - - - - - - Return the query results as an . If the query contains multiple results per row, - the results are returned in an instance of object[]. - - The filled with the results. - - This is a good strategy to use if you expect few of the objects being returned are already loaded - or if you want to fill the 2nd level cache. - - - - - Return the query results an place them into the . - - The to place the results in. - - - - Strongly-typed version of . - - - - - Convenience method to return a single instance that matches - the query, or null if the query returns no results. - - the single result or - - Thrown when there is more than one matching result. - - - - - Strongly-typed version of . - - - - - Execute the update or delete statement. - - The number of entities updated or deleted. - - - - Set the maximum number of rows to retrieve. - - The maximum number of rows to retreive. - - - - Sets the first row to retrieve. - - The first row to retreive. - - - - Entities retrieved by this query will be loaded in - a read-only mode where NHibernate will never dirty-check - them or make changes persistent. - - - - - Enable caching of this query result set. - - Should the query results be cacheable? - - - Set the name of the cache region. - The name of a query cache region, or - for the default query cache - - - - The timeout for the underlying ADO query - - - - - Set a fetch size for the underlying ADO query. - the fetch size - - - - Set the lockmode for the objects idententified by the - given alias that appears in the FROM clause. - - alias a query alias, or this for a collection filter - - - - Add a comment to the generated SQL. - a human-readable string - - - - Override the current session flush mode, just for this query. - - - - Override the current session cache mode, just for this query. - The cache mode to use. - this (for method chaining) - - - - Bind a value to an indexed parameter. - - Position of the parameter in the query, numbered from 0 - The possibly null parameter value - The NHibernate type - - - - Bind a value to a named query parameter - - The name of the parameter - The possibly null parameter value - The NHibernate . - - - - Bind a value to an indexed parameter. - - Position of the parameter in the query, numbered from 0 - The possibly null parameter value - The parameter's - - - - Bind a value to a named query parameter - - The name of the parameter - The possibly null parameter value - The parameter's - - - - Bind a value to an indexed parameter, guessing the NHibernate type from - the class of the given object. - - The position of the parameter in the query, numbered from 0 - The non-null parameter value - - - - Bind a value to a named query parameter, guessing the NHibernate - from the class of the given object. - - The name of the parameter - The non-null parameter value - - - - Bind multiple values to a named query parameter. This is useful for binding a list - of values to an expression such as foo.bar in (:value_list) - - The name of the parameter - A collection of values to list - The NHibernate type of the values - - - - Bind multiple values to a named query parameter, guessing the NHibernate - type from the class of the first object in the collection. This is useful for binding a list - of values to an expression such as foo.bar in (:value_list) - - The name of the parameter - A collection of values to list - - - - Bind multiple values to a named query parameter. This is useful for binding - a list of values to an expression such as foo.bar in (:value_list). - - the name of the parameter - a collection of values to list - the NHibernate type of the values - - - - Bind multiple values to a named query parameter. The NHibernate type of the parameter is - first detected via the usage/position in the query and if not sufficient secondly - guessed from the class of the first object in the array. This is useful for binding a list of values - to an expression such as foo.bar in (:value_list). - - the name of the parameter - a collection of values to list - - - - Bind the property values of the given object to named parameters of the query, - matching property names with parameter names and mapping property types to - NHibernate types using heuristics. - - Any PONO - - - - Bind an instance of a to an indexed parameter - using an NHibernate . - - The position of the parameter in the query string, numbered from 0 - A non-null instance of a . - - - - Bind an instance of a to a named parameter - using an NHibernate . - - The name of the parameter - A non-null instance of a . - - - - Bind an instance of a array to an indexed parameter - using an NHibernate . - - The position of the parameter in the query string, numbered from 0 - A non-null instance of a array. - - - - Bind an instance of a array to a named parameter - using an NHibernate . - - The name of the parameter - A non-null instance of a array. - - - - Bind an instance of a to an indexed parameter - using an NHibernate . - - The position of the parameter in the query string, numbered from 0 - A non-null instance of a . - - - - Bind an instance of a to a named parameter - using an NHibernate . - - The name of the parameter - A non-null instance of a . - - - - Bind an instance of a to an indexed parameter - using an NHibernate . - - The position of the parameter in the query string, numbered from 0 - A non-null instance of a . - - - - Bind an instance of a to a named parameter - using an NHibernate . - - The name of the parameter - A non-null instance of a . - - - - Bind an instance of a to an indexed parameter - using an NHibernate . - - The position of the parameter in the query string, numbered from 0 - A non-null instance of a . - - - - Bind an instance of a to a named parameter - using an NHibernate . - - The name of the parameter - A non-null instance of a . - - - - Bind an instance of a to an indexed parameter - using an NHibernate . - - The position of the parameter in the query string, numbered from 0 - A non-null instance of a . - - - - Bind an instance of a to a named parameter - using an NHibernate . - - A non-null instance of a . - The name of the parameter - - - - Bind an instance of a to an indexed parameter - using an NHibernate . - - The position of the parameter in the query string, numbered from 0 - A non-null instance of a . - - - - Bind an instance of a to a named parameter - using an NHibernate . - - The name of the parameter - A non-null instance of a . - - - - Bind an instance of a to an indexed parameter - using an NHibernate . - - The position of the parameter in the query string, numbered from 0 - A non-null instance of a . - - - - Bind an instance of a to a named parameter - using an NHibernate . - - The name of the parameter - A non-null instance of a . - - - - Bind an instance of a persistent enumeration class to an indexed parameter - using an NHibernate . - - The position of the parameter in the query string, numbered from 0 - A non-null instance of a persistent enumeration - - - - Bind an instance of a persistent enumeration class to a named parameter - using an NHibernate . - - The name of the parameter - A non-null instance of a persistent enumeration - - - - Bind an instance of a to an indexed parameter - using an NHibernate . - - The position of the parameter in the query string, numbered from 0 - A non-null instance of a . - - - - Bind an instance of a to a named parameter - using an NHibernate . - - The name of the parameter - A non-null instance of a . - - - - Bind an instance of a to an indexed parameter - using an NHibernate . - - The position of the parameter in the query string, numbered from 0 - A non-null instance of a . - - - - Bind an instance of a to a named parameter - using an NHibernate . - - The name of the parameter - A non-null instance of a . - - - - Bind an instance of a to an indexed parameter - using an NHibernate . - - The position of the parameter in the query string, numbered from 0 - A non-null instance of a . - - - - Bind an instance of a to a named parameter - using an NHibernate . - - The name of the parameter - A non-null instance of a . - - - - Bind an instance of a to an indexed parameter - using an NHibernate . - - The position of the parameter in the query string, numbered from 0 - A non-null instance of a . - - - - Bind an instance of a to a named parameter - using an NHibernate . - - The name of the parameter - A non-null instance of a . - - - - Bind an instance of a to an indexed parameter - using an NHibernate . - - The position of the parameter in the query string, numbered from 0 - A non-null instance of a . - - - - Bind an instance of a to a named parameter - using an NHibernate . - - The name of the parameter - A non-null instance of a . - - - - Bind an instance of a to an indexed parameter - using an NHibernate . - - The position of the parameter in the query string, numbered from 0 - A non-null instance of a . - - - - Bind an instance of a to a named parameter - using an NHibernate . - - The name of the parameter - A non-null instance of a . - - - - Bind an instance of a to an indexed parameter - using an NHibernate . - - The position of the parameter in the query string, numbered from 0 - A non-null instance of a . - - - - Bind an instance of a to a named parameter - using an NHibernate . - - The name of the parameter - A non-null instance of a . - - - - Bind an instance of a to a named parameter - using an NHibernate . - - The position of the parameter in the query string, numbered from 0 - An instance of a . - - - - Bind an instance of a to a named parameter - using an NHibernate . - - The name of the parameter - An instance of a . - - - - Bind an instance of a mapped persistent class to an indexed parameter. - - Position of the parameter in the query string, numbered from 0 - A non-null instance of a persistent class - - - - Bind an instance of a mapped persistent class to a named parameter. - - The name of the parameter - A non-null instance of a persistent class - - - - Set a strategy for handling the query results. This can be used to change - "shape" of the query result. - - - - - Get a enumerable that when enumerated will execute - a batch of queries in a single database roundtrip - - - - - - - Get an IFutureValue instance, whose value can be retrieved through - its Value property. The query is not executed until the Value property - is retrieved, which will execute other Future queries as well in a - single roundtrip - - - - - - - The query string - - - - - The NHibernate types of the query result set. - - - - Return the HQL select clause aliases (if any) - an array of aliases as strings - - - - The names of all named parameters of the query - - The parameter names, in no particular order - - - - Perform parameter validation. Used prior to executing the encapsulated query. - - - if true, the first ? will not be verified since - its needed for e.g. callable statements returning a out parameter - - - - - Guesses the from the param's value. - - The object to guess the of. - An for the object. - - Thrown when the param is null because the - can't be guess from a null value. - - - - - Guesses the from the . - - The to guess the of. - An for the . - - Thrown when the clazz is null because the - can't be guess from a null type. - - - - - Warning: adds new parameters to the argument by side-effect, as well as mutating the query string! - - - - - Warning: adds new parameters to the argument by side-effect, as well as mutating the query string! - - - - Override the current session cache mode, just for this query. - - The cache mode to use. - this (for method chaining) - - - Functionality common to stateless and stateful sessions - - - - Implementation of the interface for collection filters. - - - - - Default implementation of the , - for "ordinary" HQL queries (not collection filters) - - - - - - Implementation of the interface - - - - - Criteria is a simplified API for retrieving entities by composing - objects. - - - - Using criteria is a very convenient approach for functionality like "search" screens - where there is a variable number of conditions to be placed upon the result set. - - - The Session is a factory for ICriteria. Expression instances are usually obtained via - the factory methods on . eg: - - - IList cats = session.CreateCriteria(typeof(Cat)) - .Add( Expression.Like("name", "Iz%") ) - .Add( Expression.Gt( "weight", minWeight ) ) - .AddOrder( Order.Asc("age") ) - .List(); - - You may navigate associations using or . - - IList cats = session.CreateCriteria(typeof(Cat)) - .CreateCriteria("kittens") - .Add( Expression.like("name", "Iz%") ) - .List(); - - - You may specify projection and aggregation using Projection - instances obtained via the factory methods on Projections. - - IList cats = session.CreateCriteria(typeof(Cat)) - .setProjection( Projections.ProjectionList() - .Add( Projections.RowCount() ) - .Add( Projections.Avg("weight") ) - .Add( Projections.Max("weight") ) - .Add( Projections.Min("weight") ) - .Add( Projections.GroupProperty("color") ) - ) - .AddOrder( Order.Asc("color") ) - .List(); - - - - - - - Used to specify that the query results will be a projection (scalar in - nature). Implicitly specifies the projection result transformer. - - The projection representing the overall "shape" of the - query results. - This instance (for method chaining) - - - The individual components contained within the given - determines the overall "shape" of the query result. - - - - - - Add an Expression to constrain the results to be retrieved. - - - - - - - An an Order to the result set - - - - - - Specify an association fetching strategy. Currently, only - one-to-many and one-to-one associations are supported. - - A dot seperated property path. - The Fetch mode. - - - - - Set the lock mode of the current entity - - the lock mode - - - - - Set the lock mode of the aliased entity - - an alias - the lock mode - - - - - Join an association, assigning an alias to the joined entity - - - - - - - - Join an association using the specified join-type, assigning an alias to the joined - association - - - - The type of join to use. - this (for method chaining) - - - - Join an association using the specified join-type, assigning an alias to the joined - association - - - - The type of join to use. - The criteria to be added to the join condition (ON clause) - this (for method chaining) - - - - Create a new , "rooted" at the associated entity - - - - - - - Create a new , "rooted" at the associated entity, - using the specified join type. - - A dot-seperated property path - The type of join to use - The created "sub criteria" - - - - Create a new , "rooted" at the associated entity, - assigning the given alias - - - - - - - - Create a new , "rooted" at the associated entity, - assigning the given alias and using the specified join type. - - A dot-separated property path - The alias to assign to the joined association (for later reference). - The type of join to use. - The created "sub criteria" - - - - Create a new , "rooted" at the associated entity, - assigning the given alias and using the specified join type. - - A dot-separated property path - The alias to assign to the joined association (for later reference). - The type of join to use. - The criteria to be added to the join condition (ON clause) - The created "sub criteria" - - - - Set a strategy for handling the query results. This determines the - "shape" of the query result set. - - - - - - - - - - Set a limit upon the number of objects to be retrieved - - - - - - Set the first result to be retrieved - - - - - Set a fetch size for the underlying ADO query. - the fetch size - this (for method chaining) - - - - Set a timeout for the underlying ADO.NET query - - - - - - - Enable caching of this query result set - - - - - - - Set the name of the cache region. - - the name of a query cache region, or - for the default query cache - - - - Add a comment to the generated SQL. - a human-readable string - this (for method chaining) - - - Override the flush mode for this particular query. - The flush mode to use. - this (for method chaining) - - - Override the cache mode for this particular query. - The cache mode to use. - this (for method chaining) - - - - Get the results - - - - - - Convenience method to return a single instance that matches - the query, or null if the query returns no results. - - the single result or - - If there is more than one matching result - - - - - Get a enumerable that when enumerated will execute - a batch of queries in a single database roundtrip - - - - - - - Get an IFutureValue instance, whose value can be retrieved through - its Value property. The query is not executed until the Value property - is retrieved, which will execute other Future queries as well in a - single roundtrip - - - - - - - Get the results and fill the - - The list to fill with the results. - - - - Strongly-typed version of . - - - - - Strongly-typed version of . - - - - - Clear all orders from criteria. - - - - - Allows to get a sub criteria by path. - Will return null if the criteria does not exists. - - The path. - - - - Alows to get a sub criteria by alias. - Will return null if the criteria does not exists - - The alias. - - - - - Gets the root entity type if available, throws otherwise - - - This is an NHibernate specific method, used by several dependent - frameworks for advance integration with NHibernate. - - - - - Get the alias of the entity encapsulated by this criteria instance. - - The alias for the encapsulated entity. - - - Override the cache mode for this particular query. - The cache mode to use. - this (for method chaining) - - - Override the cache mode for this particular query. - The cache mode to use. - this (for method chaining) - - - - The Clone is supported only by a root criteria. - - The clone of the root criteria. - - - - Named query in "detached mode" where the NHibernate session is not available. - - - - - - - - - Create a new instance of for a named query string defined in the mapping file. - - The name of a query defined externally. - - The query can be either in HQL or SQL format. - - - - - Get an executable instance of , to actually run the query. - - - - - Creates a new DetachedNamedQuery that is a deep copy of the current instance. - - The clone. - - - - Get the query name. - - - - - Query in "detached mode" where the NHibernate session is not available. - - - - - - - - Create a new instance of for the given query string. - - A hibernate query string - - - - Get an executable instance of , to actually run the query. - - - - - Creates a new DetachedQuery that is a deep copy of the current instance. - - The clone. - - - - Get the HQL string. - - - - - Provides an wrapper over the results of an . - - - This is the IteratorImpl in H2.0.3 - - - - - Create an wrapper over an . - - The to enumerate over. - The used to create the . - The to use to load objects. - The s contained in the . - The names of the columns in the . - The that should be applied to the . - Instantiator of the result holder (used for "select new SomeClass(...)" queries). - - The should already be positioned on the first record in . - - - - - Returns an enumerator that can iterate through the query results. - - - An that can be used to iterate through the query results. - - - - - Advances the enumerator to the next element of the query results. - - - if the enumerator was successfully advanced to the next query results - ; if the enumerator has passed the end of the query results. - - - - - - - - A flag to indicate if Dispose() has been called. - - - - - Finalizer that ensures the object is correctly disposed of. - - - - - Takes care of freeing the managed and unmanaged resources that - this class is responsible for. - - - - - Takes care of freeing the managed and unmanaged resources that - this class is responsible for. - - Indicates if this EnumerableImpl is being Disposed of or Finalized. - - The command is closed and the reader is disposed. This allows other ADO.NET - related actions to occur without needing to move all the way through the - EnumerableImpl. - - - - - Gets the current element in the query results. - - - The current element in the query results which is either an object or - an object array. - - - If the only returns one type of Entity then an object will - be returned. If this is a multi-column resultset then an object array will be - returned. - - - - - Subquery type enumeration - - - - exact - - - all - - - some - - - - Converts lambda expressions to NHibernate criterion/order - - - - - Invoke the expression to extract its runtime value - - - - - Retrieves the name of the property from a member expression - - An expression tree that can contain either a member, or a conversion from a member. - If the member is referenced from a null valued object, then the container is treated as an alias. - The name of the member property - - - - Retrieves the name of the property from a member expression (without leading member access) - - - - - Retrieves a detached criteria from an appropriate lambda expression - - Expresson for detached criteria using .As<>() extension"/> - Evaluated detached criteria - - - - Convert a lambda expression to NHibernate ICriterion - - The type of the lambda expression - The lambda expression to convert - NHibernate ICriterion - - - - Convert a lambda expression to NHibernate ICriterion - - The lambda expression to convert - NHibernate ICriterion - - - - Convert a lambda expression to NHibernate Order - - The type of the lambda expression - The lambda expression to convert - The appropriate order delegate (order direction) - NHibernate Order - - - - Convert a lambda expression to NHibernate Order - - The lambda expression to convert - The appropriate order delegate (order direction) - NHibernate Order - - - - Convert a lambda expression to NHibernate Order - - The lambda expression to convert - The appropriate order delegate (order direction) - Indicates if the path is an aliased projection - NHibernate Order - - - - Convert a lambda expression to NHibernate subquery AbstractCriterion - - type of member expression - type of subquery - lambda expression to convert - NHibernate.ICriterion.AbstractCriterion - - - - Convert a lambda expression to NHibernate subquery AbstractCriterion - - type of subquery - lambda expression to convert - NHibernate.ICriterion.AbstractCriterion - - - - Register a custom method for use in a QueryOver expression - - Lambda expression demonstrating call of custom method - function to convert MethodCallExpression to ICriterion - - - - Warning: adds new parameters to the argument by side-effect, as well as mutating the query expression tree! - - - - - - - - - Type definition of Filter. Filter defines the user's view into enabled dynamic filters, - allowing them to set filter parameter values. - - - - - Set the named parameter's value list for this filter. - - The parameter's name. - The values to be applied. - This FilterImpl instance (for method chaining). - - - - Set the named parameter's value list for this filter. Used - in conjunction with IN-style filter criteria. - - The parameter's name. - The values to be expanded into an SQL IN list. - This FilterImpl instance (for method chaining). - - - - Set the named parameter's value list for this filter. Used - in conjunction with IN-style filter criteria. - - The parameter's name. - The values to be expanded into an SQL IN list. - This FilterImpl instance (for method chaining). - - - - Perform validation of the filter state. This is used to verify the - state of the filter after its enablement and before its use. - - - - - - Get the name of this filter. - - This filter's name. - - - - Get the filter definition containing additional information about the - filter (such as default-condition and expected parameter names/types). - - The filter definition - - - - Set the named parameter's value for this filter. - - The parameter's name. - The value to be applied. - This FilterImpl instance (for method chaining). - - - - Set the named parameter's value list for this filter. Used - in conjunction with IN-style filter criteria. - - The parameter's name. - The values to be expanded into an SQL IN list. - This FilterImpl instance (for method chaining). - - - - Set the named parameter's value list for this filter. Used - in conjunction with IN-style filter criteria. - - The parameter's name. - The values to be expanded into an SQL IN list. - This FilterImpl instance (for method chaining). - - - - Perform validation of the filter state. This is used to verify the - state of the filter after its enablement and before its use. - - - - - Get the name of this filter. - - - - - Helper methods for rendering log messages and exception messages - - - - - Generate small message that can be used in traces and exception messages. - - The to create the string from. - The identifier of the object. - A descriptive in the format of [classname#id] - - - - Generate small message that can be used in traces and exception messages. - - The for the class in question. - The identifier of the object. - The . - A descriptive in the format of [classname#id] - - - - Generate small message that can be used in traces and exception messages. - - The for the class in question. - The identifier of the object. - The . - The NHibernate type of the identifier. - A descriptive in the format of [classname#id] - - - - Generate small message that can be used in traces and exception messages. - - The for the class in question - The id - A descriptive in the form [FooBar#id] - - - - Generate small message that can be used in traces and exception messages. - - The for the class in question - A descriptive in the form [FooBar] - - - - Generate small message that can be used in traces and exception messages. - - The for the class in question - The id - A descriptive in the form [collectionrole#id] - - - - Generate an info message string relating to a given property value - for an entity. - - The entity name - The name of the property - The property value. - An info string, in the form [Foo.bars#1] - - - - Generate an info message string relating to a particular managed - collection. - - The persister for the collection - The id value of the owner - The session factory - An info string, in the form [Foo.bars#1] - - - - Generate an info message string relating to a particular entity, - based on the given entityName and id. - - The defined entity name. - The entity id value. - An info string, in the form [FooBar#1]. - - - - Combines several queries into a single DB call - - - - - Get all the results - - - - - Adds the specified criteria to the query. The result will be contained in a - - Return results in a - The criteria. - - - - - Adds the specified criteria to the query. The result will be contained in a - - The criteria. - - - - - Adds the specified criteria to the query, and associates it with the given key. The result will be contained in a - - The key - The criteria - - - - - Adds the specified detached criteria. The result will be contained in a - - The detached criteria. - - - - - Adds the specified detached criteria, and associates it with the given key. The result will be contained in a - - The key - The detached criteria - - - - - Adds the specified criteria to the query - - The criteria. - - - - - Adds the specified criteria to the query, and associates it with the given key - - The key - The criteria - - - - - Adds the specified detached criteria. - - The detached criteria. - - - - - Adds the specified detached criteria, and associates it with the given key - - The key - The detached criteria - - - - - Adds the specified IQueryOver to the query. The result will be contained in a - - Return results in a - The IQueryOver. - - - - - Adds the specified IQueryOver to the query. The result will be contained in a - - The IQueryOver. - - - - - Adds the specified IQueryOver to the query. The result will be contained in a - - The IQueryOver. - - - - - Adds the specified IQueryOver to the query, and associates it with the given key. The result will be contained in a - - The key - The IQueryOver - - - - - Adds the specified IQueryOver to the query, and associates it with the given key. The result will be contained in a - - The key - The IQueryOver - - - - - Sets whatevert this criteria is cacheable. - - if set to true [cachable]. - - - - Set the cache region for thie criteria - - The region - - - - - Force a cache refresh - - - - - - - Sets the result transformer for all the results in this mutli criteria instance - - The result transformer. - - - - - Returns the result of one of the Criteria based on the key - - The key - - - - - Initializes a new instance of the class. - - The session. - The factory. - - - Return a cacheable "disassembled" representation of the object. - the value to cache - the session - optional parent entity object (needed for collections) - the disassembled, deep cloned state - - - Reconstruct the object from its cached "disassembled" state. - the disassembled state from the cache - the session - the parent entity object - the the object - - - - Called before assembling a query result set from the query cache, to allow batch fetching - of entities missing from the second-level cache. - - - - - Combines sevaral queries into a single database call - - - - - Get all the results - - - The result is a IList of IList. - - - - - Adds the specified query to the query. The result will be contained in a - - Return results in a - The query. - The instance for method chain. - - - - Add the specified HQL query to the multi query. The result will be contained in a - - The query - - - - Add the specified HQL query to the multi query, and associate it with the given key. The result will be contained in a - - The key to get results of the specific query. - The query - The instance for method chain. - - - - - Add the specified HQL Query to the multi query, and associate it with the given key. The result will be contained in a - - The key to get results of the specific query. - The query - The instance for method chain. - - - - - Add the specified HQL query to the multi query. The result will be contained in a - - The query - The instance for method chain. - - - - Add a named query to the multi query. The result will be contained in a - - The query - The instance for method chain. - - - - Add a named query to the multi query, and associate it with the given key. The result will be contained in a - - The key to get results of the specific query. - The query - The instance for method chain. - - - - - Add the specified HQL query to the multi query, and associate it with the given key - - The key to get results of the specific query. - The query - The instance for method chain. - - - - - Add the specified HQL query to the multi query - - The query - The instance for method chain. - - - - Add the specified HQL Query to the multi query, and associate it with the given key - - The key to get results of the specific query. - The query - The instance for method chain. - - - - - Add the specified HQL query to the multi query - - The instance for method chain. - - - - Add a named query to the multi query - - The query - The instance for method chain. - - - - Add a named query to the multi query, and associate it with the given key - - The key to get results of the specific query. - The query - The instance for method chain. - - - - - Enable caching of this query result set. - - Should the query results be cacheable? - The instance for method chain. - - - Set the name of the cache region. - The name of a query cache region, or - for the default query cache - The instance for method chain. - - - Should the query force a refresh of the specified query cache region? - This is particularly useful in cases where underlying data may have been - updated via a seperate process (i.e., not modified through Hibernate) and - allows the application to selectively refresh the query cache regions - based on its knowledge of those events. - Should the query result in a forcible refresh of - the query cache? - The instance for method chain. - - - - The timeout for the underlying ADO query - - - The instance for method chain. - - - - Bind a value to a named query parameter - - The name of the parameter - The possibly null parameter value - The NHibernate . - The instance for method chain. - - - - Bind a value to a named query parameter, guessing the NHibernate - from the class of the given object. - - The name of the parameter - The non-null parameter value - The instance for method chain. - - - - Bind multiple values to a named query parameter. This is useful for binding a list - of values to an expression such as foo.bar in (:value_list) - - The name of the parameter - A collection of values to list - The Hibernate type of the values - The instance for method chain. - - - - Bind multiple values to a named query parameter, guessing the Hibernate - type from the class of the first object in the collection. This is useful for binding a list - of values to an expression such as foo.bar in (:value_list) - - The name of the parameter - A collection of values to list - The instance for method chain. - - - - Bind an instance of a to a named parameter - using an NHibernate . - - The name of the parameter - A non-null instance of a . - The instance for method chain. - - - - Bind an instance of a array to a named parameter - using an NHibernate . - - The name of the parameter - A non-null instance of a array. - The instance for method chain. - - - - Bind an instance of a to a named parameter - using an NHibernate . - - The name of the parameter - A non-null instance of a . - The instance for method chain. - - - - Bind an instance of a to a named parameter - using an NHibernate . - - The name of the parameter - A non-null instance of a . - The instance for method chain. - - - - Bind an instance of a to a named parameter - using an NHibernate . - - The name of the parameter - A non-null instance of a . - The instance for method chain. - - - - Bind an instance of a to a named parameter - using an NHibernate . - - A non-null instance of a . - The name of the parameter - The instance for method chain. - - - - Bind an instance of a to a named parameter - using an NHibernate . - - The name of the parameter - A non-null instance of a . - The instance for method chain. - - - - Bind an instance of a to a named parameter - using an NHibernate . - - The name of the parameter - A non-null instance of a . - The instance for method chain. - - - - Bind an instance of a mapped persistent class to a named parameter. - - The name of the parameter - A non-null instance of a persistent class - The instance for method chain. - - - - Bind an instance of a persistent enumeration class to a named parameter - using an NHibernate . - - The name of the parameter - A non-null instance of a persistent enumeration - The instance for method chain. - - - - Bind an instance of a to a named parameter - using an NHibernate . - - The name of the parameter - A non-null instance of a . - The instance for method chain. - - - - Bind an instance of a to a named parameter - using an NHibernate . - - The name of the parameter - A non-null instance of a . - The instance for method chain. - - - - Bind an instance of a to a named parameter - using an NHibernate . - - The name of the parameter - A non-null instance of a . - The instance for method chain. - - - - Bind an instance of a to a named parameter - using an NHibernate . - - The name of the parameter - A non-null instance of a . - The instance for method chain. - - - - Bind an instance of a to a named parameter - using an NHibernate . - - The name of the parameter - A non-null instance of a . - The instance for method chain. - - - - Bind an instance of a to a named parameter - using an NHibernate . - - The name of the parameter - An instance of a . - The instance for method chain. - - - - Bind an instance of a to a named parameter - using an NHibernate . - - The name of the parameter - A non-null instance of a . - The instance for method chain. - - - - Bind an instance of a to a named parameter - using an NHibernate . - - The name of the parameter - A non-null instance of a . - The instance for method chain. - - - - Override the current session flush mode, just for this query. - - The instance for method chain. - - - - Set a strategy for handling the query results. This can be used to change - "shape" of the query result. - - - The will be applied after the transformer of each single query. - - The instance for method chain. - - - - Returns the result of one of the query based on the key - - The key - The instance for method chain. - - - - Return the query results of all the queries - - - - - - - an actual entity object, not a proxy! - - - - - - Concrete implementation of a SessionFactory. - - - Has the following responsibilities: - - - Caches configuration settings (immutably) - - Caches "compiled" mappings - ie. - and - - - Caches "compiled" queries (memory sensitive cache) - - - Manages PreparedStatements/IDbCommands - how true in NH? - - - Delegates IDbConnection management to the - - - Factory for instances of - - - - This class must appear immutable to clients, even if it does all kinds of caching - and pooling under the covers. It is crucial that the class is not only thread safe - , but also highly concurrent. Synchronization must be used extremely sparingly. - - - - - - - - - - - NH specific : to avoid the use of entityName for generic implementation - - this is a shortcut. - - - - Gets the hql query identified by the name. - - The name of that identifies the query. - - A hql query or if the named - query does not exist. - - - - Get the return aliases of a query - - - - Return the names of all persistent (mapped) classes that extend or implement the - given class or interface, accounting for implicit/explicit polymorphism settings - and excluding mapped subclasses/joined-subclasses of other classes in the result. - - - - - - - - - - - Closes the session factory, releasing all held resources. - - cleans up used cache regions and "stops" the cache provider. - close the ADO.NET connection - - - - - Get a new stateless session. - - - Get a new stateless session for the given ADO.NET connection. - - - - - - - - - Statistics SPI - - - Get the statistics for this session factory - - - - Gets the ICurrentSessionContext instance attached to this session factory. - - - - - Delegate to handle the scenario of an entity not found by a specified id. - - - - - Delegate method to handle the scenario of an entity not found. - - The entityName (may be the class fullname) - The requested id not founded. - - - - Resolves lookups and deserialization. - - - - This is used heavily be Deserialization. Currently a SessionFactory is not really serialized. - All that is serialized is it's name and uid. During Deserializaiton the serialized SessionFactory - is converted to the one contained in this object. So if you are serializing across AppDomains - you should make sure that "name" is specified for the SessionFactory in the hbm.xml file and that the - other AppDomain has a configured SessionFactory with the same name. If - you are serializing in the same AppDomain then there will be no problem because the uid will - be in this object. - - - - - - - - - Adds an Instance of the SessionFactory to the local "cache". - - The identifier of the ISessionFactory. - The name of the ISessionFactory. - The ISessionFactory. - The configured properties for the ISessionFactory. - - - - Removes the Instance of the SessionFactory from the local "cache". - - The identifier of the ISessionFactory. - The name of the ISessionFactory. - The configured properties for the ISessionFactory. - - - - Returns a Named Instance of the SessionFactory from the local "cache" identified by name. - - The name of the ISessionFactory. - An instantiated ISessionFactory. - - - - Returns an Instance of the SessionFactory from the local "cache" identified by UUID. - - The identifier of the ISessionFactory. - An instantiated ISessionFactory. - - - - We always set the result to use a thread static variable, on the face of it, - it looks like it is not a valid choice, since ASP.Net and WCF may decide to switch - threads on us. But, since SessionIdLoggingContext is only used inside NH calls, and since - NH calls are never async, this isn't an issue for us. - In addition to that, attempting to match to the current context has proven to be performance hit. - - - - - Concrete implementation of a Session, also the central, organizing component - of Hibernate's internal implementation. - - - Exposes two interfaces: ISession itself, to the application and ISessionImplementor - to other components of hibernate. This is where the hard stuff is... - NOT THREADSAFE - - - - - Constructor used to recreate the Session during the deserialization. - - - - - This is needed because we have to do some checking before the serialization process - begins. I don't know how to add logic in ISerializable.GetObjectData and have .net - write all of the serializable fields out. - - - - - Verify the ISession can be serialized and write the fields to the Serializer. - - - - - The fields are marked with [NonSerializable] as just a point of reference. This method - has complete control and what is serialized and those attributes are ignored. However, - this method should be in synch with the attributes for easy readability. - - - - - Once the entire object graph has been deserialized then we can hook the - collections, proxies, and entities back up to the ISession. - - - - - - Constructor used for OpenSession(...) processing, as well as construction - of sessions for GetCurrentSession(). - - The user-supplied connection to use for this session. - The factory from which this session was obtained - NOT USED - The timestamp for this session - The interceptor to be applied to this session - The entity-mode for this session - Should we auto flush before completion of transaction - Should we auto close after completion of transaction - The mode by which we should release JDBC connections. - - - - Constructor used in building "child sessions". - - The parent Session - The entity mode - - - - Close the session and release all resources - - Do not call this method inside a transaction scope, use Dispose instead, since - Close() is not aware of distributed transactions - - - - - - Ensure that the locks are downgraded to - and that all of the softlocks in the have - been released. - - - - - Save a transient object. An id is generated, assigned to the object and returned - - - - - - - Save a transient object with a manually assigned ID - - - - - - - Delete a persistent object - - - - - Delete a persistent object (by explicit entity name) - - - - - - - - - - - - Give the interceptor an opportunity to override the default instantiation - - - - - - - Force an immediate flush - - - Cascade merge an entity instance - - - Cascade persist an entity instance - - - Cascade persist an entity instance during the flush process - - - Cascade refresh an entity instance - - - Cascade copy an entity instance - - - Cascade delete an entity instance - - - - detect in-memory changes, determine if the changes are to tables - named in the query and, if so, complete execution the flush - - - - - - - Load the data for the object with the specified id into a newly created object - using "for update", if supported. A new key will be assigned to the object. - This should return an existing proxy where appropriate. - - If the object does not exist in the database, an exception is thrown. - - - - - - - Thrown when the object with the specified id does not exist in the database. - - - - - Load the data for the object with the specified id into a newly created object - using "for update", if supported. A new key will be assigned to the object. - This should return an existing proxy where appropriate. - - If the object does not exist in the database, null is returned. - - - - - - - - - Load the data for the object with the specified id into a newly created object. - This is only called when lazily initializing a proxy. - Do NOT return a proxy. - - - - - Return the object with the specified id or throw exception if no row with that id exists. Defer the load, - return a new proxy or return an existing proxy if possible. Do not check if the object was deleted. - - - - - - - - This can be called from commit() or at the start of a List() method. - - Perform all the necessary SQL statements in a sensible order, to allow - users to repect foreign key constraints: - - Inserts, in the order they were performed - Updates - Deletion of collection elements - Insertion of collection elements - Deletes, in the order they were performed - - - - Go through all the persistent objects and look for collections they might be - holding. If they had a nonpersistable collection, substitute a persistable one - - - - - - Not for internal use - - - - - - - Get the id value for an object that is actually associated with the session. - This is a bit stricter than GetEntityIdentifierIfNotUnsaved(). - - - - - - - called by a collection that wants to initialize itself - - - - - - - - - - Finalizer that ensures the object is correctly disposed of. - - - - - Perform a soft (distributed transaction aware) close of the session - - - - - Takes care of freeing the managed and unmanaged resources that - this class is responsible for. - - Indicates if this Session is being Disposed of or Finalized. - - If this Session is being Finalized (isDisposing==false) then make sure not - to call any methods that could potentially bring this Session back to life. - - - - - remove any hard references to the entity that are held by the infrastructure - (references held by application or other persistant instances are okay) - - - - - - - - - - - - - - - - - - - - - Get the ActionQueue for this session - - - - - - - Gets if the ISession is connected. - - - if the ISession is connected. - - - An ISession is considered connected if there is an (regardless - of its state) or if it the field connect is true. Meaning that it will connect - at the next operation that requires a connection. - - - - Get the statistics for this session. - - - Retrieves the configured event listeners from this event source. - - - - Implements SQL query passthrough - - - An example mapping is: - - <sql-query-name name="mySqlQuery"> - <return alias="person" class="eg.Person" /> - SELECT {person}.NAME AS {person.name}, {person}.AGE AS {person.age}, {person}.SEX AS {person.sex} - FROM PERSON {person} WHERE {person}.NAME LIKE 'Hiber%' - </sql-query-name> - - - - - - Declare a "root" entity, without specifying an alias - - - - - Declare a "root" entity - - - - - Declare a "root" entity, specifying a lock mode - - - - - Declare a "root" entity, without specifying an alias - - - - - Declare a "root" entity - - - - - Declare a "root" entity, specifying a lock mode - - - - - Declare a "joined" entity - - - - - Declare a "joined" entity, specifying a lock mode - - - - - Declare a scalar query result - - - - - Use a predefined named ResultSetMapping - - - - Constructs a SQLQueryImpl given a sql query defined in the mappings. - The representation of the defined sql-query. - The session to which this SQLQueryImpl belongs. - Metadata about parameters found in the query. - - - - A command-oriented API for performing bulk operations against a database. - - - A stateless session does not implement a first-level cache nor - interact with any second-level cache, nor does it implement - transactional write-behind or automatic dirty checking, nor do - operations cascade to associated instances. Collections are - ignored by a stateless session. Operations performed via a - stateless session bypass Hibernate's event model and - interceptors. Stateless sessions are vulnerable to data - aliasing effects, due to the lack of a first-level cache. - - For certain kinds of transactions, a stateless session may - perform slightly faster than a stateful session. - - - - Close the stateless session and release the ADO.NET connection. - - - Insert a entity. - A new transient instance - the identifier of the instance - - - Insert a row. - The entityName for the entity to be inserted - a new transient instance - the identifier of the instance - - - Update a entity. - a detached entity instance - - - Update a entity. - The entityName for the entity to be updated - a detached entity instance - - - Delete a entity. - a detached entity instance - - - Delete a entity. - The entityName for the entity to be deleted - a detached entity instance - - - Retrieve a entity. - a detached entity instance - - - Retrieve a entity. - - - a detached entity instance - - - - - Retrieve a entity, obtaining the specified lock mode. - - a detached entity instance - - - - Retrieve a entity, obtaining the specified lock mode. - - a detached entity instance - - - - Refresh the entity instance state from the database. - - The entity to be refreshed. - - - - Refresh the entity instance state from the database. - - The entityName for the entity to be refreshed. - The entity to be refreshed. - - - - Refresh the entity instance state from the database. - - The entity to be refreshed. - The LockMode to be applied. - - - - Refresh the entity instance state from the database. - - The entityName for the entity to be refreshed. - The entity to be refreshed. - The LockMode to be applied. - - - - Create a new instance of Query for the given HQL query string. - - Entities returned by the query are detached. - - - - Obtain an instance of for a named query string defined in - the mapping file. - - - The query can be either in HQL or SQL format. - Entities returned by the query are detached. - - - - - Create a new instance, for the given entity class, - or a superclass of an entity class. - - A class, which is persistent, or has persistent subclasses - The . - Entities returned by the query are detached. - - - - Create a new instance, for the given entity class, - or a superclass of an entity class, with the given alias. - - A class, which is persistent, or has persistent subclasses - The alias of the entity - The . - Entities returned by the query are detached. - - - - Create a new instance, for the given entity class, - or a superclass of an entity class. - - A class, which is persistent, or has persistent subclasses - The . - Entities returned by the query are detached. - - - - Create a new instance, for the given entity class, - or a superclass of an entity class, with the given alias. - - A class, which is persistent, or has persistent subclasses - The alias of the entity - The . - Entities returned by the query are detached. - - - - Create a new instance, for the given entity name. - - The entity name. - The . - Entities returned by the query are detached. - - - - Create a new instance, for the given entity name, - with the given alias. - - The entity name. - The alias of the entity - The . - Entities returned by the query are detached. - - - - Create a new instance of for the given SQL query string. - Entities returned by the query are detached. - - a SQL query - The - - - Begin a NHibernate transaction. - - - Get the current Hibernate transaction. - - - - Returns the current ADO.NET connection associated with this instance. - - - If the session is using aggressive connection release (as in a - CMT environment), it is the application's responsibility to - close the connection returned by this call. Otherwise, the - application should not close the connection. - - - - Close the stateless session and release the ADO.NET connection. - - - Insert a entity. - A new transient instance - the identifier of the instance - - - Insert a row. - The entityName for the entity to be inserted - a new transient instance - the identifier of the instance - - - Update a entity. - a detached entity instance - - - Update a entity. - The entityName for the entity to be updated - a detached entity instance - - - Delete a entity. - a detached entity instance - - - Delete a entity. - The entityName for the entity to be deleted - a detached entity instance - - - Retrieve a entity. - a detached entity instance - - - Retrieve a entity. - - - a detached entity instance - - - - - Retrieve a entity, obtaining the specified lock mode. - - a detached entity instance - - - - Retrieve a entity, obtaining the specified lock mode. - - a detached entity instance - - - - Refresh the entity instance state from the database. - - The entity to be refreshed. - - - - Refresh the entity instance state from the database. - - The entityName for the entity to be refreshed. - The entity to be refreshed. - - - - Refresh the entity instance state from the database. - - The entity to be refreshed. - The LockMode to be applied. - - - - Refresh the entity instance state from the database. - - The entityName for the entity to be refreshed. - The entity to be refreshed. - The LockMode to be applied. - - - - Create a new instance, for the given entity class, - or a superclass of an entity class. - - A class, which is persistent, or has persistent subclasses - The . - Entities returned by the query are detached. - - - - Create a new instance, for the given entity class, - or a superclass of an entity class, with the given alias. - - A class, which is persistent, or has persistent subclasses - The alias of the entity - The . - Entities returned by the query are detached. - - - - Create a new instance, for the given entity name. - - The entity name. - The . - Entities returned by the query are detached. - - - - Create a new instance, for the given entity name, - with the given alias. - - The entity name. - The alias of the entity - The . - Entities returned by the query are detached. - - - Begin a NHibernate transaction. - - - - Finalizer that ensures the object is correctly disposed of. - - - - - Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. - - 2 - - - Get the current Hibernate transaction. - - - Contract for field interception handlers. - - - Use to associate the entity to which we are bound to the given session. - The session to which we are now associated. - - - The the given field initialized for the entity to which we are bound? - The name of the field to check - True if the given field is initialized; otherwise false. - - - Forcefully mark the entity as being dirty. - - - Clear the internal dirty flag. - - - Intercept field set/get - - - Is the entity considered dirty? - True if the entity is dirty; otherwise false. - - - Is the entity to which we are bound completely initialized? - - - Get the entity-name of the field DeclaringType. - - - Get the MappedClass (field container). - - - Helper class for dealing with enhanced entity classes. - - - Marker value for uninitialized properties - - - Contract for controlling how lazy properties get initialized. - - - Initialize the property, and return its new value - - - - An AggregatingGroupBy is a query such as: - - from p in db.Products - group p by p.Category.CategoryId - into g - select new - { - g.Key, - MaxPrice = g.Max(p => p.UnitPrice) - }; - - Where the grouping operation is being fully aggregated and hence does not create any form of heirarchy. - This class takes such queries, flattens out the re-linq sub-query and re-writes the outer select - - - - - Detects if an expression tree contains aggregate functions - - - - - An AggregatingGroupJoin is a query such as: - - from c in db.Customers - join o in db.Orders on c.CustomerId equals o.Customer.CustomerId into ords - join e in db.Employees on c.Address.City equals e.Address.City into emps - select new { c.ContactName, ords = ords.Count(), emps = emps.Count() }; - - where the results of the joins are being fully aggregated and hence do not create any form of hierarchy. - This class takes such expressions and turns them into this form: - - from c in db.Customers - select new - { - c.ContactName, - ords = (from o2 in db.Orders where o2.Customer.CustomerId == c.CustomerId select o2).Count(), - emps = (from e2 in db.Employees where e2.Address.City == c.Address.City select e2).Count() - }; - - - - - - Builds HQL Equality nodes and used in joins - - - - - Performs the equivalent of a ToString() on an expression. Swaps out constants for - parameters so that, for example: - from c in Customers where c.City = "London" - generate the same key as - from c in Customers where c.City = "Madrid" - - - - - Locates constants in the expression tree and generates parameters for each one - - - - - Performs bottom-up analysis to determine which nodes that match a certain predicate - - - - - Extract the from a given expression. - - The declaring-type of the method. - The method. - The of the no-generic method or the generic-definition for a generic-method. - - - - - Extract the from a given expression. - - The method. - The of the no-generic method or the generic-definition for a generic-method. - - - - - Gets the field or property to be accessed. - - The declaring-type of the property. - The type of the property. - The expression representing the property getter. - The of the property. - - - - Check if a method is declared in a given . - - The method to check. - The where the method is really declared. - True if the method is an implementation of the method declared in ; false otherwise. - - - - Provides the main entry point to a LINQ query. - - - - - Implementors define a strategy for transforming criteria query - results into the actual application-visible query result list. - - - - - - - - - - - - - - - - - - - - - Walker for collections of values and many-to-many associations - - - - - Superclass of walkers for collection initializers - - - - - - - - Add on association (one-to-one, many-to-one, or a collection) to a list - of associations to be fetched by outerjoin (if necessary) - - - - - Add on association (one-to-one, many-to-one, or a collection) to a list - of associations to be fetched by outerjoin - - - - - For an entity class, return a list of associations to be fetched by outerjoin - - - - - For a collection role, return a list of associations to be fetched by outerjoin - - - - - For a collection role, return a list of associations to be fetched by outerjoin - - - - - For an entity class, add to a list of associations to be fetched - by outerjoin - - - - - For a component, add to a list of associations to be fetched by outerjoin - - - - - For a composite element, add to a list of associations to be fetched by outerjoin - - - - - Extend the path by the given property name - - - - - Get the join type (inner, outer, etc) or -1 if the - association should not be joined. Override on - subclasses. - - - - - Use an inner join if it is a non-null association and this - is the "first" join in a series - - - - - Does the mapping, and Hibernate default semantics, specify that - this association should be fetched by outer joining - - - - - Override on subclasses to enable or suppress joining - of certain association types - - - - - Used to detect circularities in the joined graph, note that - this method is side-effecty - - - - - Used to detect circularities in the joined graph, note that - this method is side-effecty - - - - - Should we join this association? - - - - - Generate a sequence of LEFT OUTER JOIN clauses for the given associations. - - - - - Count the number of instances of IJoinable which are actually - also instances of ILoadable, or are one-to-many associations - - - - - Count the number of instances of which - are actually also instances of - which are being fetched by outer join - - - - - Get the order by string required for collection fetching - - - - - Render the where condition for a (batch) load by identifier / collection key - - - - - Generate a select list of columns containing all properties of the entity classes - - - - - Uniquely identifier a foreign key, so that we don't - join it more than once, and create circularities - - - - - We can use an inner join for first many-to-many association - - - - - Loads a collection of values or a many-to-many association. - - - The collection persister must implement . For - other collections, create a customized subclass of - - - - - - Superclass for loaders that initialize collections - - - - - - - Implements logic for walking a tree of associated classes. - - - Generates an SQL select string containing all properties of those classes. - Tablse are joined using an ANSI-style left outer join. - - - - - An interface for collection loaders - - - - - - - Initialize the given collection - - - - - "Batch" loads collections, using multiple foreign key values in the SQL Where clause - - - - - - - Walker for one-to-many associations - - - - - - Loads one-to-many associations - - - The collection persister must implement . - For other collections, create a customized subclass of . - - - - - Implements subselect fetching for a collection - - - - Implements subselect fetching for a one to many association - - - - - A for queries. - - - - - - The superclass deliberately excludes collections - - - - - Don't bother with the discriminator, unless overridden by subclass - - - - - Use the discriminator, to narrow the select to instances - of the queried subclass, also applying any filters. - - - - - A Loader for queries. - - - Note that criteria - queries are more like multi-object Load()s than like HQL queries. - - - - - Get the names of the columns constrained by this criterion. - - - - - Get the a typed value for the given property value. - - - - - Get the aliases of the columns constrained - by this criterion (for use in ORDER BY clause). - - - - Implements Hibernate's built-in support for native SQL queries. - This support is built on top of the notion of "custom queries"... - - - - Extension point allowing any SQL query with named and positional parameters - to be executed by Hibernate, returning managed entities, collections and - simple scalar values. - - - - The SQL query string to be performed. - - - - Any query spaces to apply to the query execution. Query spaces are - used in Hibernate's auto-flushing mechanism to determine which - entities need to be checked for pending changes. - - - - - A map representing positions within the supplied query to - which we need to bind named parameters. - - - Optional, may return null if no named parameters. - The structure of the returned map (if one) as follows: -
    -
  1. The keys into the map are the named parameter names
  2. -
  3. The corresponding value is either an if the - parameter occurs only once in the query; or a List of int if the - parameter occurs more than once
  4. -
-
-
- - - A collection of descriptors describing the - ADO result set to be expected and how to map this result set. - - - - - Substitues ADO parameter placeholders (?) for all encountered - parameter specifications. It also tracks the positions of these - parameter specifications within the query string. This accounts for - ordinal-params, named-params, and ejb3-positional-params. - - The query string. - The SQL query with parameter substitution complete. - - - Spefically a fetch return that refers to a collection association. - - - Represents a return which names a fetched association. - - - Represents some non-scalar (entity/collection) return within the query result. - - - Represents a return in a custom query. - - - Retrieves the return descriptor for the owner of this fetch. - - - The name of the property on the owner which represents this association. - - - - Represents a return which names a collection role; it - is used in defining a custom query for loading an entity's - collection in non-fetching scenarios (i.e., loading the collection - itself as the "root" of the result). - - - - Returns the class owning the collection. - - - Returns the name of the property representing the collection from the . - - - - that uses columnnames instead of generated aliases. - Aliases can still be overwritten via <return-property> - - - - - Type definition of CollectionAliases. - - - - - Returns the suffixed result-set column-aliases for columns making - up the key for this collection (i.e., its FK to its owner). - - The key result-set column aliases. - - - - Returns the suffixed result-set column-aliases for the columns - making up the collection's index (map or list). - - The index result-set column aliases. - - - - Returns the suffixed result-set column-aliases for the columns - making up the collection's elements. - - The element result-set column aliases. - - - - Returns the suffixed result-set column-aliases for the column - defining the collection's identifier (if any). - - The identifier result-set column aliases. - - - - Returns the suffix used to unique the column aliases for this - particular alias set. - - The uniqued column alias suffix. - - - - Returns the suffixed result-set column-aliases for columns making up the key for this collection (i.e., its FK to - its owner). - - The key result-set column aliases. - - - - Returns the suffixed result-set column-aliases for the columns making up the collection's index (map or list). - - The index result-set column aliases. - - - - Returns the suffixed result-set column-aliases for the columns making up the collection's elements. - - The element result-set column aliases. - - - - Returns the suffixed result-set column-aliases for the column defining the collection's identifier (if any). - - The identifier result-set column aliases. - - - - Returns the suffix used to unique the column aliases for this particular alias set. - - The uniqued column alias suffix. - - - - that chooses the column names over the alias names. - - - - - EntityAliases which handles the logic of selecting user provided aliases (via return-property), - before using the default aliases. - - - - - Metadata describing the SQL result set column aliases - for a particular entity - - - - - The result set column aliases for the property columns of a subclass - - - - - The result set column aliases for the primary key columns - - - - - The result set column aliases for the discriminator columns - - - - - The result set column aliases for the version columns - - - - - The result set column alias for the Oracle row id - - - - - The result set column aliases for the property columns - - - - - Calculate and cache select-clause suffixes. - - - - - Extension point for loaders which use a SQL result set with "unexpected" column aliases. - - - - Build a logical result row. - - Entity data defined as "root returns" and already handled by the normal Loader mechanism. - - The ADO result set (positioned at the row currently being processed). - Does this query have an associated . - The session from which the query request originated. - The logical result row - - At this point, Loader has already processed all non-scalar result data. We - just need to account for scalar result data here... - - - - - Encapsulates the metadata available from the database result set. - - - - - Initializes a new instance of the class. - - The result set. - - - - Gets the column count in the result set. - - The column count. - - - - Gets the (zero-based) position of the column with the specified name. - - Name of the column. - The column position. - - - - Gets the name of the column at the specified position. - - The (zero-based) position. - The column name. - - - - Gets the Hibernate type of the specified column. - - The column position. - The Hibernate type. - - - Specifically a fetch return that refers to an entity association. - - - - Represents a return which names a "root" entity. - - - A root entity means it is explicitly a "column" in the result, as opposed to - a fetched association. - - - - Represent a scalar (AKA simple value) return within a query result. - - - - Abstract superclass for entity loaders that use outer joins - - - - - Loads entities for a - - - - - Load an entity instance. If OptionalObject is supplied, load the entity - state into the given (uninitialized) object - - - - - "Batch" loads entities, using multiple primary key values in the - SQL where clause. - - - - - - A walker for loaders that fetch entities - - - - - - Override to use the persister to change the table-alias for columns in join-tables - - - - - Disable outer join fetching if this loader obtains an - upgrade lock mode - - - - - Load an entity using outerjoin fetching to fetch associated entities. - - - The must implement . For other entities, - create a customized subclass of . - - - - - CollectionAliases which handles the logic of selecting user provided aliases (via return-property), - before using the default aliases. - - - - - Returns the suffixed result-set column-aliases for columns making up the key for this collection (i.e., its FK to - its owner). - - - - - Returns the suffixed result-set column-aliases for the columns making up the collection's index (map or list). - - - - - Returns the suffixed result-set column-aliases for the columns making up the collection's elements. - - - - - Returns the suffixed result-set column-aliases for the column defining the collection's identifier (if any). - - - - - Returns the suffix used to unique the column aliases for this particular alias set. - - - - - Get the position of the join with the given alias in the - list of joins - - - - - Convenience base class for AuxiliaryDatabaseObjects. - - - This implementation performs dialect scoping checks strictly based on - dialect name comparisons. Custom implementations might want to do - instanceof-type checks. - - - - - Auxiliary database objects (i.e., triggers, stored procedures, etc) defined - in the mappings. Allows Hibernate to manage their lifecycle as part of - creating/dropping the schema. - - - - - Operations to create/drop the mapping element in the database. - - - - - When implemented by a class, generates the SQL string to create - the mapping element in the database. - - The to use for SQL rules. - - - - - A string that contains the SQL to create an object. - - - - - When implemented by a class, generates the SQL string to drop - the mapping element from the database. - - The to use for SQL rules. - - - - A string that contains the SQL to drop an object. - - - - - Add the given dialect name to the scope of dialects to which - this database object applies. - - The name of a dialect. - - - - Does this database object apply to the given dialect? - - The dialect to check against. - True if this database object does apply to the given dialect. - - - - Gets called by NHibernate to pass the configured type parameters to the implementation. - - - - - A NHibernate any type. - - - Polymorphic association to one of several tables. - - - - - Any value that maps to columns. - - - - - Represents an identifying key of a table: the value for primary key - of an entity, or a foreign key of a collection or join table or - joined subclass table. - - - - - A value is anything that is persisted by value, instead of - by reference. It is essentially a Hibernate IType, together - with zero or more columns. Values are wrapped by things with - higher level semantics, for example properties, collections, - classes. - - - - - - - - - - Determines if the Value is part of a valid mapping. - - The to validate. - - if the Value is part of a valid mapping, - otherwise. - - - - Mainly used to make sure that Value maps to the correct number - of columns. - - - - - Gets the number of columns that this value spans in the table. - - - - - Gets an of objects - that this value is stored in. - - - - - Gets the to read/write the Values. - - - - - Gets the this Value is stored in. - - - - - Gets a indicating if this Value is unique. - - - - - Gets a indicating if this Value can have - null values. - - - - - Gets a indicating if this is a SimpleValue - that does not involve foreign keys. - - - - - Get or set the identifier type name - - - - - Get or set the metatype - - - - - Represent the relation between a meta-value and the related entityName - - - - - An array has a primary key consisting of the key columns + index column - - - - - A list has a primary key consisting of the key columns + index column - - - - - Indexed collections include IList, IDictionary, Arrays - and primitive Arrays. - - - - - Base class that stores the mapping information for <array>, <bag>, - <id-bag>, <list>, <map>, and <set> - collections. - - - Subclasses are responsible for the specialization required for the particular - collection style. - - - - - Any mapping with an outer-join attribute - - - - - Defines mapping elements to which filters may be applied. - - - - - Gets or sets a indicating if this is a - mapping for a generic collection. - - - if a collection from the System.Collections.Generic namespace - should be used, if a collection from the System.Collections - namespace should be used. - - - This has no affect on any versions of the .net framework before .net-2.0. - - - - - Gets or sets an array of that contains the arguments - needed to construct an instance of a closed type. - - - - - Initializes a new instance of the class. - - The that contains this list mapping. - - - - Gets the appropriate that is - specialized for this list mapping. - - - - - Mapping for a property of a .NET class (entity - or component). - - - - Common interface for things that can handle meta attributes. - - - - Retrieve the - - The attribute name - The if exists; null otherwise - - - - Meta-Attribute collection. - - - - - Gets the number of columns this property uses in the db. - - - - - Gets an of s. - - - - - Gets or Sets the name of the Property in the class. - - - - - - - - A bag permits duplicates, so it has no primary key - - - - - A bag permits duplicates, so it has no primary key. - - The that contains this bag mapping. - - - - Gets the appropriate that is - specialized for this bag mapping. - - - - - Represents the mapping to a column in a database. - - - - - Initializes a new instance of . - - - - - Initializes a new instance of . - - The name of the column. - - - - Gets the name of this Column in quoted form if it is necessary. - - - The that knows how to quote - the column name. - - - The column name in a form that is safe to use inside of a SQL statement. - Quoted if it needs to be, not quoted if it does not need to be. - - - - For any column name, generate an alias that is unique - to that column name, and also 10 characters or less - in length. - - - - Gets the name of the data type for the column. - - The to use to get the valid data types. - - - The name of the data type for the column. - - - If the mapping file contains a value of the attribute sql-type this will - return the string contained in that attribute. Otherwise it will use the - typename from the of the object. - - - - - Determines if this instance of and a specified object, - which must be a Column can be considered the same. - - An that should be a . - - if the name of this Column and the other Column are the same, - otherwise . - - - - - Determines if this instance of and the specified Column - can be considered the same. - - A to compare to this Column. - - if the name of this Column and the other Column are the same, - otherwise . - - - - - Returns the hash code for this instance. - - - - returns quoted name as it would be in the mapping file. - - - Shallow copy, the value is not copied - - - - Gets or sets the length of the datatype in the database. - - The length of the datatype in the database. - - - - Gets or sets the name of the column in the database. - - - The name of the column in the database. The get does - not return a Quoted column name. - - -

- If a value is passed in that is wrapped by ` then - NHibernate will Quote the column whenever SQL is generated - for it. How the column is quoted depends on the Dialect. -

-

- The value returned by the getter is not Quoted. To get the - column name in quoted form use . -

-
-
- - - Gets or sets if the column can have null values in it. - - if the column can have a null value in it. - - - - Gets or sets the index of the column in the . - - - The index of the column in the . - - - - - Gets or sets if the column contains unique values. - - if the column contains unique values. - - - - Gets or sets the sql data type name of the column. - - - The sql data type name of the column. - - - This is usually read from the sql-type attribute. - - - - - Gets or sets if the column needs to be quoted in SQL statements. - - if the column is quoted. - - - - Gets or sets whether the column is unique. - - - - - Gets or sets a check constraint on the column - - - - - Do we have a check constraint? - - - - - The underlying columns SqlType. - - - If null, it is because the sqltype code is unknown. - - Use to retreive the sqltypecode used - for the columns associated Value/Type. - - - - - The mapping for a component, composite element, composite identifier, - etc. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Base class for relational constraints in the database. - - - - - Adds the to the of - Columns that are part of the constraint. - - The to include in the Constraint. - - - - Generates the SQL string to drop this Constraint in the database. - - The to use for SQL rules. - - - - A string that contains the SQL to drop this Constraint. - - - - - Generates the SQL string to create this Constraint in the database. - - The to use for SQL rules. - - - - - A string that contains the SQL to create this Constraint. - - - - - When implemented by a class, generates the SQL string to create the named - Constraint in the database. - - The to use for SQL rules. - The name to use as the identifier of the constraint in the database. - - - - A string that contains the SQL to create the named Constraint. - - - - - Gets or sets the Name used to identify the constraint in the database. - - The Name used to identify the constraint in the database. - - - - Gets an of objects that are part of the constraint. - - - An of objects that are part of the constraint. - - - - - Gets the number of columns that this Constraint contains. - - - The number of columns that this Constraint contains. - - - - - Gets or sets the this Constraint is in. - - - The this Constraint is in. - - - - - Represents a Table in a database that an object gets mapped against. - - - - - Initializes a new instance of . - - - - - Generates the SQL string to create this Table in the database. - - The to use for SQL rules. - - - - - A string that contains the SQL to create this Table, Primary Key Constraints - , and Unique Key Constraints. - - - - - Generates the SQL string to drop this Table in the database. - - The to use for SQL rules. - - - - A string that contains the SQL to drop this Table and to cascade the drop to - the constraints if the database supports it. - - - - - Gets the schema qualified name of the Table. - - The that knows how to Quote the Table name. - The name of the table qualified with the schema if one is specified. - - - - Gets the schema qualified name of the Table using the specified qualifier - - The that knows how to Quote the Table name. - The catalog name. - The schema name. - A String representing the Qualified name. - If this were used with MSSQL it would return a dbo.table_name. - - - returns quoted name as it would be in the mapping file. - - - - Gets the name of this Table in quoted form if it is necessary. - - - The that knows how to quote the Table name. - - - The Table name in a form that is safe to use inside of a SQL statement. - Quoted if it needs to be, not quoted if it does not need to be. - - - - returns quoted name as it is in the mapping file. - - - - Gets the schema for this table in quoted form if it is necessary. - - - The that knows how to quote the table name. - - - The schema name for this table in a form that is safe to use inside - of a SQL statement. Quoted if it needs to be, not quoted if it does not need to be. - - - - - Gets the at the specified index. - - The index of the Column to get. - - The at the specified index. - - - - - Adds the to the of - Columns that are part of the Table. - - The to include in the Table. - - - - Gets the identified by the name. - - The name of the to get. - - The identified by the name. If the - identified by the name does not exist then it is created. - - - - - Gets the identified by the name. - - The name of the to get. - - The identified by the name. If the - identified by the name does not exist then it is created. - - - - - Create a for the columns in the Table. - - - An of objects. - - - - A for the columns in the Table. - - - This does not necessarily create a , if - one already exists for the columns then it will return an - existing . - - - - - Generates a unique string for an of - objects. - - An of objects. - - An unique string for the objects. - - - - - Sets the Identifier of the Table. - - The that represents the Identifier. - - - - - - - - - Return the column which is identified by column provided as argument. - column with atleast a name. - - The underlying column or null if not inside this table. - Note: the instance *can* be different than the input parameter, but the name will be the same. - - - - - Gets or sets the name of the Table in the database. - - - The name of the Table in the database. The get does - not return a Quoted Table name. - - -

- If a value is passed in that is wrapped by ` then - NHibernate will Quote the Table whenever SQL is generated - for it. How the Table is quoted depends on the Dialect. -

-

- The value returned by the getter is not Quoted. To get the - column name in quoted form use . -

-
-
- - - Gets the number of columns that this Table contains. - - - The number of columns that this Table contains. - - - - - Gets an of objects that - are part of the Table. - - - An of objects that are - part of the Table. - - - - - Gets an of objects that - are part of the Table. - - - An of objects that are - part of the Table. - - - - - Gets an of objects that - are part of the Table. - - - An of objects that are - part of the Table. - - - - - Gets an of objects that - are part of the Table. - - - An of objects that are - part of the Table. - - - - - Gets or sets the of the Table. - - The of the Table. - - - - Gets or sets the schema the table is in. - - - The schema the table is in or if no schema is specified. - - - - - Gets the unique number of the Table. - - The unique number of the Table. - - - - Gets or sets if the column needs to be quoted in SQL statements. - - if the column is quoted. - - - - A value which is "typed" by reference to some other value - (for example, a foreign key is typed by the referenced primary key). - - - - - A Foreign Key constraint in the database. - - - - - Generates the SQL string to create the named Foreign Key Constraint in the database. - - The to use for SQL rules. - The name to use as the identifier of the constraint in the database. - - - - A string that contains the SQL to create the named Foreign Key Constraint. - - - - - Get the SQL string to drop this Constraint in the database. - - The to use for SQL rules. - - - - A string that contains the SQL to drop this Constraint. - - - - - Validates that columnspan of the foreignkey and the primarykey is the same. - Furthermore it aligns the length of the underlying tables columns. - - - - - Gets or sets the that the Foreign Key is referencing. - - The the Foreign Key is referencing. - - Thrown when the number of columns in this Foreign Key is not the same - amount of columns as the Primary Key in the ReferencedTable. - - - - Does this foreignkey reference the primary key of the reference table - - - - A formula is a derived column value. - - - - - - - - - - - - - - - - - - - An PersistentIdentifierBag has a primary key consistenting of just - the identifier column. - - - - - A collection with a synthetic "identifier" column. - - - - - - - - - - - - - - - - - - - - - - - - - - An Index in the database. - - - - - Generates the SQL string to create this Index in the database. - - The to use for SQL rules. - - - - - A string that contains the SQL to create this Index. - - - - - Generates the SQL string to drop this Index in the database. - - The to use for SQL rules. - - - - A string that contains the SQL to drop this Index. - - - - - Adds the to the of - Columns that are part of the Index. - - The to include in the Index. - - - - Gets or sets the this Index is in. - - - The this Index is in. - - - - - Gets an of objects that are - part of the Index. - - - An of objects that are - part of the Index. - - - - - Gets or sets the Name used to identify the Index in the database. - - The Name used to identify the Index in the database. - - - - Declaration of a System.Type mapped with the <subclass> or - <joined-subclass> element. - - - - - Base class for the mapped by <class> and a - that is mapped by <subclass> or - <joined-subclass>. - - - - - - - - - - - Adds a to the class hierarchy. - - The to add to the hierarchy. - - - - Change the property definition or add a new property definition - - The to add. - - - - Adds a that is implemented by a subclass. - - The implemented by a subclass. - - - - Adds a that a subclass is stored in. - - The the subclass is stored in. - - - - Creates the for the - this type is persisted in. - - The that is used to Alias columns. - - - - Given a property path, locate the appropriate referenceable property reference. - - - A referenceable property is a property which can be a target of a foreign-key - mapping (an identifier or explicitly named in a property-ref). - - The property path to resolve into a property reference. - The property reference (never null). - If the property could not be found. - - - - - - - - - - Gets the that is being mapped. - - The that is being mapped. - - The value of this is set by the name attribute on the <class> - element. - - - - - Gets or sets the to use as a Proxy. - - The to use as a Proxy. - - The value of this is set by the proxy attribute. - - - - - Gets or Sets if the Insert Sql is built dynamically. - - if the Sql is built at runtime. - - The value of this is set by the dynamic-insert attribute. - - - - - Gets or Sets if the Update Sql is built dynamically. - - if the Sql is built at runtime. - - The value of this is set by the dynamic-update attribute. - - - - - Gets or Sets the value to use as the discriminator for the Class. - - - A value that distinguishes this subclass in the database. - - - The value of this is set by the discriminator-value attribute. Each <subclass> - in a hierarchy must define a unique discriminator-value. The default value - is the class name if no value is supplied. - - - - - Gets the number of subclasses that inherit either directly or indirectly. - - The number of subclasses that inherit from this PersistentClass. - - - - Iterate over subclasses in a special 'order', most derived subclasses first. - - - It will recursively go through Subclasses so that if a SubclassType has Subclasses - it will pick those up also. - - - - - Gets an of objects - that directly inherit from this PersistentClass. - - - An of objects - that directly inherit from this PersistentClass. - - - - - When implemented by a class, gets a boolean indicating if this - mapped class is inherited from another. - - - if this class is a subclass or joined-subclass - that inherited from another class. - - - - - When implemented by a class, gets a boolean indicating if the mapped class - has a version property. - - if there is a <version> property. - - - - When implemented by a class, gets an - of objects that this mapped class contains. - - - An of objects that - this mapped class contains. - - - This is all of the properties of this mapped class and each mapped class that - it is inheriting from. - - - - - When implemented by a class, gets an - of objects that this mapped class reads from - and writes to. - - - An of objects that - this mapped class reads from and writes to. - - - This is all of the tables of this mapped class and each mapped class that - it is inheriting from. - - - - - Gets an of objects that - this mapped class contains and that all of its subclasses contain. - - - An of objects that - this mapped class contains and that all of its subclasses contain. - - - - - Gets an of all of the objects that the - subclass finds its information in. - - An of objects. - It adds the TableClosureIterator and the subclassTables into the IEnumerable. - - - - When implemented by a class, gets or sets the of the Persister. - - - - - When implemented by a class, gets the of the class - that is mapped in the class element. - - - The of the class that is mapped in the class element. - - - - - - - - - - - - - - - Build a collection of properties which are "referenceable". - - - See for a discussion of "referenceable". - - - - - - - - - - - - - - - Build an iterator over the properties defined on this class. The returned - iterator only accounts for "normal" properties (i.e. non-identifier - properties). - - - An of objects. - - - Differs from in that the iterator - we return here will include properties defined as part of a join. - - - - - Build an enumerable over the properties defined on this class which - are not defined as part of a join. - As with the returned iterator only accounts - for non-identifier properties. - - An enumerable over the non-joined "normal" properties. - - - - - - - - - Gets a boolean indicating if this PersistentClass has any subclasses. - - if this PeristentClass has any subclasses. - - - - Gets or Sets the that this class is stored in. - - The this class is stored in. - - The value of this is set by the table attribute. - - - - - When implemented by a class, gets or set a boolean indicating - if the mapped class has properties that can be changed. - - if the object is mutable. - - The value of this is set by the mutable attribute. - - - - - When implemented by a class, gets a boolean indicating - if the mapped class has a Property for the id. - - if there is a Property for the id. - - - - When implemented by a class, gets or sets the - that is used as the id. - - - The that is used as the id. - - - - - When implemented by a class, gets or sets the - that contains information about the identifier. - - The that contains information about the identifier. - - - - When implemented by a class, gets or sets the - that is used as the version. - - The that is used as the version. - - - - When implemented by a class, gets or sets the - that contains information about the discriminator. - - The that contains information about the discriminator. - - - - When implemented by a class, gets or sets if the mapped class has subclasses or is - a subclass. - - - if the mapped class has subclasses or is a subclass. - - - - - When implemented by a class, gets or sets the CacheConcurrencyStrategy - to use to read/write instances of the persistent class to the Cache. - - The CacheConcurrencyStrategy used with the Cache. - - - - When implemented by a class, gets or sets the - that this mapped class is extending. - - - The that this mapped class is extending. - - - - - When implemented by a class, gets or sets a boolean indicating if - explicit polymorphism should be used in Queries. - - - if only classes queried on should be returned, - if any class in the heirarchy should implicitly be returned. - - The value of this is set by the polymorphism attribute. - - - - - - - - - - When implemented by a class, gets or sets a boolean indicating if the identifier is - embedded in the class. - - if the class identifies itself. - - An embedded identifier is true when using a composite-id specifying - properties of the class as the key-property instead of using a class - as the composite-id. - - - - - When implemented by a class, gets the of the class - that is mapped in the class element. - - - The of the class that is mapped in the class element. - - - - - When implemented by a class, gets or sets the - that contains information about the Key. - - The that contains information about the Key. - - - - When implemented by a class, gets or sets the sql string that should - be a part of the where clause. - - - The sql string that should be a part of the where clause. - - - The value of this is set by the where attribute. - - - - - Gets or sets a boolean indicating if only values in the discriminator column that - are mapped will be included in the sql. - - if the mapped discriminator values should be forced. - - The value of this is set by the force attribute on the discriminator element. - - - - - Initializes a new instance of the class. - - The that is the superclass. - - - - Add the to this PersistentClass. - - The to add. - - This also adds the to the Superclass' collection - of SubclassType Properties. - - - - - Adds a that is implemented by a subclass. - - The implemented by a subclass. - - This also adds the to the Superclass' collection - of SubclassType Properties. - - - - - Adds a that a subclass is stored in. - - The the subclass is stored in. - - This also adds the to the Superclass' collection - of SubclassType Tables. - - - - - - - - - - Gets a boolean indicating if this mapped class is inherited from another. - - - because this is a SubclassType. - - - - - Gets an of objects that this mapped class contains. - - - An of objects that - this mapped class contains. - - - This is all of the properties of this mapped class and each mapped class that - it is inheriting from. - - - - - Gets an of objects that this - mapped class reads from and writes to. - - - An of objects that - this mapped class reads from and writes to. - - - This is all of the tables of this mapped class and each mapped class that - it is inheriting from. - - - - - Gets a boolean indicating if the mapped class has a version property. - - if for the Superclass there is a Property for a version. - - - - - - - - - Gets the of the class - that is mapped in the class element. - - - The of the Superclass that is mapped in the class element. - - - - - - - - - - Gets or sets the CacheConcurrencyStrategy - to use to read/write instances of the persistent class to the Cache. - - The CacheConcurrencyStrategy used with the Cache. - - - - Gets the of the class that is mapped in the class element. - - - The of the Superclass that is mapped in the class element. - - - - - Gets or sets the that this mapped class is extending. - - - The that this mapped class is extending. - - - - - Gets or sets the that is used as the id. - - - The from the Superclass that is used as the id. - - - - - Gets or sets the that contains information about the identifier. - - The from the Superclass that contains information about the identifier. - - - - Gets a boolean indicating if the mapped class has a Property for the id. - - if in the Superclass there is a Property for the id. - - - - Gets or sets the that contains information about the discriminator. - - The from the Superclass that contains information about the discriminator. - - - - Gets or set a boolean indicating if the mapped class has properties that can be changed. - - if the Superclass is mutable. - - - - Gets or sets if the mapped class is a subclass. - - - since this mapped class is a subclass. - - - The setter should not be used to set the value to anything but . - - - - - Gets or sets the that is used as the version. - - The from the Superclass that is used as the version. - - - - Gets or sets a boolean indicating if the identifier is - embedded in the class. - - if the Superclass has an embedded identifier. - - An embedded identifier is true when using a composite-id specifying - properties of the class as the key-property instead of using a class - as the composite-id. - - - - - Gets or sets the that contains information about the Key. - - The that contains information about the Key. - - - - Gets or sets a boolean indicating if explicit polymorphism should be used in Queries. - - - The value of the Superclasses IsExplicitPolymorphism property. - - - - - Gets the sql string that should be a part of the where clause. - - - The sql string that should be a part of the where clause. - - - Thrown when the setter is called. The where clause can not be set on the - SubclassType, only the RootClass. - - - - - Gets or Sets the that this class is stored in. - - The this class is stored in. - - This also adds the to the Superclass' collection - of SubclassType Tables. - - - - - - - - - A many-to-one association mapping - - - - A simple-point association (ie. a reference to another entity). - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - A map has a primary key consisting of the key columns - + index columns. - - - - - Initializes a new instance of the class. - - The that contains this map mapping. - - - - Gets the appropriate that is - specialized for this list mapping. - - - - - A meta attribute is a named value or values. - - - - - A mapping for a one-to-many association. - - - - - - - - - - No foreign key element for a one-to-many - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - A mapping for a one-to-one association. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - A Primary Key constraint in the database. - - - - - Generates the SQL string to create the Primary Key Constraint in the database. - - The to use for SQL rules. - - - A string that contains the SQL to create the Primary Key Constraint. - - - - - Generates the SQL string to create the named Primary Key Constraint in the database. - - The to use for SQL rules. - The name to use as the identifier of the constraint in the database. - - - - A string that contains the SQL to create the named Primary Key Constraint. - - - - - Get the SQL string to drop this Constraint in the database. - - The to use for SQL rules. - - - - A string that contains the SQL to drop this Constraint. - - - - - A primitive array has a primary key consisting - of the key columns + index column. - - - - - Indicates whether given properties are generated by the database and, if - so, at what time(s) they are generated. - - - - - Values for this property are never generated by the database. - - - - - Values for this property are generated by the database on insert. - - - - - Values for this property are generated by the database on both insert and update. - - - - - Declaration of a System.Type mapped with the <class> element that - is the root class of a table-per-subclass, or table-per-concrete-class - inheritance heirarchy. - - - - - The default name of the column for the Identifier - - id is the default column name for the Identifier. - - - - The default name of the column for the Discriminator - - class is the default column name for the Discriminator. - - - - Adds a to the class hierarchy. - - The to add to the hierarchy. - - When a is added this mapped class has the property - set to . - - - - - - - - - - - Gets a boolean indicating if this mapped class is inherited from another. - - - because this is the root mapped class. - - - - - Gets an of objects that this mapped class contains. - - - An of objects that - this mapped class contains. - - - - - Gets an of objects that this - mapped class reads from and writes to. - - - An of objects that - this mapped class reads from and writes to. - - - There is only one in the since - this is the root class. - - - - - Gets a boolean indicating if the mapped class has a version property. - - if there is a Property for a version. - - - - Gets the of the class - that is mapped in the class element. - - - The of the class this mapped class. - - - - - Gets or sets a boolean indicating if the identifier is - embedded in the class. - - if the class identifies itself. - - An embedded identifier is true when using a composite-id specifying - properties of the class as the key-property instead of using a class - as the composite-id. - - - - - Gets or sets the cache region name. - - The region name used with the Cache. - - - - - - - - - Gets or sets the that is used as the id. - - - The that is used as the id. - - - - - Gets or sets the that contains information about the identifier. - - The that contains information about the identifier. - - - - Gets a boolean indicating if the mapped class has a Property for the id. - - if there is a Property for the id. - - - - Gets or sets the that contains information about the discriminator. - - The that contains information about the discriminator. - - - - Gets or sets if the mapped class has subclasses. - - - if the mapped class has subclasses. - - - - - Gets the of the class that is mapped in the class element. - - - this since this is the root mapped class. - - - - - Gets or sets a boolean indicating if explicit polymorphism should be used in Queries. - - - if only classes queried on should be returned, - if any class in the hierarchy should implicitly be returned. - - - - - Gets or sets the that is used as the version. - - The that is used as the version. - - - - Gets or set a boolean indicating if the mapped class has properties that can be changed. - - if the object is mutable. - - - - Gets or sets the that this mapped class is extending. - - - since this is the root class. - - - Thrown when the setter is called. The Superclass can not be set on the - RootClass, only the SubclassType can have a Superclass set. - - - - - Gets or sets the that contains information about the Key. - - The that contains information about the Key. - - - - - - - - - Gets or sets a boolean indicating if only values in the discriminator column that - are mapped will be included in the sql. - - if the mapped discriminator values should be forced. - - - - Gets or sets the sql string that should be a part of the where clause. - - - The sql string that should be a part of the where clause. - - - - - Gets or sets the CacheConcurrencyStrategy - to use to read/write instances of the persistent class to the Cache. - - The CacheConcurrencyStrategy used with the Cache. - - - - A Set with no nullable element columns will have a primary - key consisting of all table columns (ie - key columns + - element columns). - - - - - A simple implementation of AbstractAuxiliaryDatabaseObject in which the CREATE and DROP strings are - provided up front. - - - Contains simple facilities for templating the catalog and schema - names into the provided strings. - This is the form created when the mapping documents use <create/> and <drop/>. - - - - Placeholder for typedef information - - - - An Unique Key constraint in the database. - - - - - Generates the SQL string to create the Unique Key Constraint in the database. - - The to use for SQL rules. - A string that contains the SQL to create the Unique Key Constraint. - - - - Generates the SQL string to create the Unique Key Constraint in the database. - - The to use for SQL rules. - - - - - A string that contains the SQL to create the Unique Key Constraint. - - - - - Get the SQL string to drop this Constraint in the database. - - The to use for SQL rules. - - - - A string that contains the SQL to drop this Constraint. - - - - - Exposes entity class metadata to the application - - - - - Get the type of a particular (named) property - - - Return the values of the mapped properties of the object - - - - The persistent class - - - - - Create a class instance initialized with the given identifier - - - - - Get the value of a particular (named) property - - - - Extract the property values from the given entity. - The entity from which to extract the property values. - The entity-mode of the given entity - The property values. - - - - Set the value of a particular (named) property - - - - - Set the given values to the mapped properties of the given object - - - - - Get the identifier of an instance (throw an exception if no identifier property) - - - - - Set the identifier of an instance (or do nothing if no identifier property) - - - - Does the class implement the interface? - - - Does the class implement the interface? - - - - Get the version number (or timestamp) from the object's version property - (or return null if not versioned) - - - - - The name of the entity - - - - - The name of the identifier property (or return null) - - - - - The names of the class' persistent properties - - - - - The identifier Hibernate type - - - - - The Hibernate types of the classes properties - - - - - Are instances of this class mutable? - - - - - Are instances of this class versioned by a timestamp or version number column? - - - - - Gets the index of the version property - - - - - Get the nullability of the class' persistent properties - - - - Get the "laziness" of the properties of this class - - - Which properties hold the natural id? - - - Does this entity extend a mapped superclass? - - - Does the class support dynamic proxies? - - - Does the class have an identifier property? - - - Does this entity declare a natural id? - - - Does this entity have mapped subclasses? - - - - Exposes collection metadata to the application - - - - - The collection key type - - - - - The collection element type - - - - - The collection index type (or null if the collection has no index) - - - - - Is the collection indexed? - - - - - The name of this collection role - - - - - Is the collection an array? - - - - - Is the collection a primitive array? - - - - - Is the collection lazily initialized? - - - - - An additional contract for parameters which originate from parameters explicitly encountered in the source statement - (HQL or native-SQL). - Author: Steve Ebersole - Ported by: Steve Strong - - - - - Maintains information relating to parameters which need to get bound into a - JDBC {@link PreparedStatement}. - Author: Steve Ebersole - Ported by: Steve Strong - - - - - Bind the appropriate value into the given statement at the specified position. - - The statement into which the value should be bound. - The defined values for the current query execution. - The session against which the current execution is occuring. - The position from which to start binding value(s). - The number of sql bind positions "eaten" by this bind operation. - - - - Render this parameter into displayable info (for logging, etc). - - The displayable info - - - - Get or set the type which we are expeting for a bind into this parameter based - on translated contextual information. - - - - - Retrieves the line number on which this parameter occurs in the source query. - - - - - Retrieves the column number (within the {@link #getSourceLine()}) where this parameter occurs. - - - - - Constructs an AbstractExplicitParameterSpecification. - - sourceLine - sourceColumn - - - - Creates a specialized collection-filter collection-key parameter spec. - - The collection role being filtered. - The mapped collection-key type. - The position within QueryParameters where we can find the appropriate param value to bind. - - - - Constructs a parameter specification for a particular filter parameter. - - The name of the filter - The name of the parameter - The paremeter type specified on the filter metadata - - - - Parameter bind specification for an explicit named parameter. - Author: Steve Ebersole - Ported by: Steve Strong - - - - - Constructs a named parameter bind specification. - - sourceLine - sourceColumn - The named parameter name. - - - - Bind the appropriate value into the given statement at the specified position. - - The statement into which the value should be bound. - The defined values for the current query execution. - The session against which the current execution is occuring. - The position from which to start binding value(s). - The number of sql bind positions "eaten" by this bind operation. - - - - Getter for property 'name'. - - - - - Defines the information available for parameters encountered during - query translation through the antlr-based parser. - Author: Steve Ebersole - Ported by: Steve Strong - - - - - Parameter bind specification for an explicit positional (or ordinal) parameter. - Author: Steve Ebersole - Ported by: Steve Strong - - - - - Constructs a position/ordinal parameter bind specification. - - sourceLine - sourceColumn - The position in the source query, relative to the other source positional parameters. - - - - Bind the appropriate value into the given statement at the specified position. - - The statement into which the value should be bound. - The defined values for the current query execution. - The session against which the current execution is occuring. - The position from which to start binding value(s). - The number of sql bind positions "eaten" by this bind operation. - - - - Getter for property 'hqlPosition'. - - - - - Summary description for AbstractCollectionPersister. - - - - - A collection role that may be queried or loaded by outer join. - - - - - Abstraction of all mappings that define properties: entities, collection elements. - - - - - Given a component path expression, get the type of the property - - - - - - - Given a component path expression, get the type of the property. - - - - true if a type was found, false if not - - - - Given a query alias and a property path, return the qualified column name - - - - - - - Given a property path, return the corresponding column name(s). - - - - Get the type of the thing containing the properties - - - - - Anything that can be loaded by outer join - namely persisters for classes or collections. - - - - - All columns to select, when loading. - - - - - Get the where clause part of any joins (optional operation) - - - - - - - - - Get the from clause part of any joins (optional operation) - - - - - - - - - Get the where clause filter, given a query alias and considering enabled session filters - - - - - Very, very, very ugly... - - Does this persister "consume" entity column aliases in the result - set? - - - - Very, very, very ugly... - - Does this persister "consume" collection column aliases in the result - set? - - - - An identifying name; a class name or collection role name. - - - - - The columns to join on. - - - - - Is this instance actually a ICollectionPersister? - - - - - The table to join to. - - - - - A strategy for persisting a collection role. - - - Defines a contract between the persistence strategy and the actual persistent collection framework - and session. Does not define operations that are required for querying collections, or loading by outer join. - - Implements persistence of a collection instance while the instance is - referenced in a particular role. - - This class is highly coupled to the - hierarchy, since double dispatch is used to load and update collection - elements. - - May be considered an immutable view of the mapping object - - - - - Initialize the given collection with the given key - - - - - - - Read the key from a row of the - - - - - Read the element from a row of the - - - - - Read the index from a row of the - - - - - Read the identifier from a row of the - - - - - Completely remove the persistent state of the collection - - - - - - - (Re)create the collection's persistent state - - - - - - - - Delete the persistent state of any elements that were removed from the collection - - - - - - - - Update the persistent state of any elements that were modified - - - - - - - - Insert the persistent state of any new collection elements - - - - - - - - Generates the collection's key column aliases, based on the given - suffix. - - The suffix to use in the key column alias generation. - The key column aliases. - - - - Generates the collection's index column aliases, based on the given - suffix. - - The suffix to use in the index column alias generation. - The index column aliases, or null if not indexed. - - - - Generates the collection's element column aliases, based on the given - suffix. - - The suffix to use in the element column alias generation. - The element column aliases. - - - - Generates the collection's identifier column aliases, based on the given - suffix. - - The suffix to use in the identifier column alias generation. - The identifier column aliases. - - - - Get the cache - - - - Get the cache structure - - - - Get the associated IType - - - - - Get the "key" type (the type of the foreign key) - - - - - Get the "index" type for a list or map (optional operation) - - - - - Get the "element" type - - - - - Return the element class of an array, or null otherwise - - - - - Is this an array or primitive values? - - - - - Is this an array? - - - - Is this a one-to-many association? - - - - Is this a many-to-many association? Note that this is mainly - a convenience feature as the single persister does not - contain all the information needed to handle a many-to-many - itself, as internally it is looked at as two many-to-ones. - - - - - Is this collection lazily initialized? - - - - - Is this collection "inverse", so state changes are not propogated to the database. - - - - - Get the name of this collection role (the fully qualified class name, extended by a "property path") - - - - Get the persister of the entity that "owns" this collection - - - - Get the surrogate key generation strategy (optional operation) - - - - - Get the type of the surrogate key - - - - Get the "space" that holds the persistent state - - - - Is cascade delete handled by the database-level - foreign key constraint definition? - - - - - Does this collection cause version increment of the owning entity? - - - - Can the elements of this collection change? - - - - Is this collection role cacheable - - - - - Is this an "indexed" collection? (list or map) - - - - - Does this collection implement "orphan delete"? - - - - - Is this an ordered collection? (An ordered collection is - ordered by the initialization operation, not by sorting - that happens in memory, as in the case of a sorted collection.) - - - - - Generate a list of collection index and element columns - - - - - Get the names of the collection index columns if - this is an indexed collection (optional operation), - aliased by the given table alias - - - - - Get the names of the collection element columns (or the primary - key columns in the case of a one-to-many association), - aliased by the given table alias - - - - - Get the extra where clause filter SQL - - - - - - - Get the order by SQL - - - - - - - Get the order-by to be applied at the target table of a many to many - - The alias for the many-to-many target table - Appropriate order-by fragment or empty string. - - - - Get the index formulas if this is an indexed collection - (optional operation) - - - - - Get the persister of the element class, if this is a - collection of entities (optional operation). Note that - for a one-to-many association, the returned persister - must be OuterJoinLoadable. - - - - - Should we load this collection role by outer joining? - - - - - Get the names of the collection index columns if this is an indexed collection (optional operation) - - - - - Get the names of the collection element columns (or the primary key columns in the case of a one-to-many association) - - - - - Does this collection role have a where clause filter? - - - - - Reads the Element from the IDataReader. The IDataReader will probably only contain - the id of the Element. - - See ReadElementIdentifier for an explanation of why this method will be depreciated. - - - - Perform an SQL INSERT, and then retrieve a generated identifier. - - the id of the collection entry - - This form is used for PostInsertIdentifierGenerator-style ids (IDENTITY, select, etc). - - - - - Return the element class of an array, or null otherwise - - - - - Get the name of this collection role (the fully qualified class name, - extended by a "property path") - - - - - Collection persister for collections of values and many-to-many associations. - - - - - Generate the SQL DELETE that deletes all rows - - - - - - Generate the SQL INSERT that creates a new row - - - - - - Generate the SQL UPDATE that updates a row - - - - - - Generate the SQL DELETE that deletes a particular row - - - - - - Create the - - - - - Summary description for CollectionPropertyMapping. - - - - - The names of all the collection properties. - - - - - Summary description for CompositeElementPropertyMapping. - - - - - Base implementation of a PropertyMapping. - - - - - Summary description for ElementPropertyMapping. - - - - - Summary description for OneToManyPersister. - - - - - Generate the SQL UPDATE that updates all the foreign keys to null - - - - - - Generate the SQL UPDATE that updates a foreign key to a value - - - - - - Not needed for one-to-many association - - - - - - Generate the SQL UPDATE that updates a particular row's foreign - key to null - - - - - - Create the - - - - - Superclass for built-in mapping strategies. Implements functionalty common to both mapping - strategies - - - May be considered an immutable view of the mapping object - - - - - A ClassPersister that may be loaded by outer join using - the OuterJoinLoader hierarchy and may be an element - of a one-to-many association. - - - - - Implemented by ClassPersister that uses Loader. There are several optional - operations used only by loaders that inherit OuterJoinLoader - - - - - Concrete IEntityPersisters implement mapping and persistence logic for a particular class. - - - Implementors must be threadsafe (preferably immutable) and must provide a constructor of type - matching the signature of: (PersistentClass, SessionFactoryImplementor) - - - - - Finish the initialization of this object, once all ClassPersisters have been - instantiated. Called only once, before any other method. - - - - - Determine whether the given name represents a subclass entity - (or this entity itself) of the entity mapped by this persister. - - The entity name to be checked. - - True if the given entity name represents either the entity mapped by this persister or one of its subclass entities; - false otherwise. - - - - - Get the type of a particular property - - - - - - Locate the property-indices of all properties considered to be dirty. - The current state of the entity (the state to be checked). - The previous state of the entity (the state to be checked against). - The entity for which we are checking state dirtiness. - The session in which the check is ccurring. - or the indices of the dirty properties - - - Locate the property-indices of all properties considered to be dirty. - The old state of the entity. - The current state of the entity. - The entity for which we are checking state modification. - The session in which the check is ccurring. - return or the indicies of the modified properties - - - - Retrieve the current state of the natural-id properties from the database. - - - The identifier of the entity for which to retrieve the naturak-id values. - - - The session from which the request originated. - - The natural-id snapshot. - - - - Load an instance of the persistent class. - - - - - Do a version check (optional operation) - - - - - Persist an instance - - - - - Persist an instance, using a natively generated identifier (optional operation) - - - - - Delete a persistent instance - - - - - Update a persistent instance - - The id. - The fields. - The dirty fields. - if set to [has dirty collection]. - The old fields. - The old version. - The obj. - The rowId - The session. - - - - Get the current database state of the object, in a "hydrated" form, without resolving identifiers - - - - if select-before-update is not enabled or not supported - - - - Get the current version of the object, or return null if there is no row for - the given identifier. In the case of unversioned data, return any object - if the row exists. - - - - - - - Try to discover the entity mode from the entity instance - - - Has the class actually been bytecode instrumented? - - - Called just after the entities properties have been initialized - - - Called just after the entity has been reassociated with the session - - - - Create a new proxy instance - - - - - - - Is this a new transient instance? - - - Return the values of the insertable properties of the object (including backrefs) - - - - Perform a select to retrieve the values of any generated properties - back from the database, injecting these generated values into the - given entity as well as writing this state to the persistence context. - - - Note, that because we update the persistence context here, callers - need to take care that they have already written the initial snapshot - to the persistence context before calling this method. - - The entity's id value. - The entity for which to get the state. - The entity state (at the time of Save). - The session. - - - - Perform a select to retrieve the values of any generated properties - back from the database, injecting these generated values into the - given entity as well as writing this state to the persistence context. - - - Note, that because we update the persistence context here, callers - need to take care that they have already written the initial snapshot - to the persistence context before calling this method. - - The entity's id value. - The entity for which to get the state. - The entity state (at the time of Save). - The session. - - - - The persistent class, or null - - - - - Does the class implement the ILifecycle inteface? - - - - - Does the class implement the IValidatable interface? - - - - - Get the proxy interface that instances of this concrete class will be cast to - - - - - Set the given values to the mapped properties of the given object - - - - - Set the value of a particular property - - - - - Return the values of the mapped properties of the object - - - - - Get the value of a particular property - - - - - Get the value of a particular property - - - - - Get the identifier of an instance ( throw an exception if no identifier property) - - - - - Set the identifier of an instance (or do nothing if no identifier property) - - The object to set the Id property on. - The value to set the Id property to. - The EntityMode - - - - Get the version number (or timestamp) from the object's version property (or return null if not versioned) - - - - - Create a class instance initialized with the given identifier - - - - - Determines whether the specified entity is an instance of the class - managed by this persister. - - The entity. - The EntityMode - - if the specified entity is an instance; otherwise, . - - - - Does the given instance have any uninitialized lazy properties? - - - - Set the identifier and version of the given instance back - to its "unsaved" value, returning the id - - - - Get the persister for an instance of this class or a subclass - - - - Check the version value trough . - - The snapshot entity state - The result of . - NHibernate-specific feature, not present in H3.2 - - - - The ISessionFactory to which this persister "belongs". - - - - - Returns an object that identifies the space in which identifiers of - this entity hierarchy are unique. - - - - - The entity name which this persister maps. - - - - - Retrieve the underlying entity metamodel instance... - - The metamodel - - - - Returns an array of objects that identify spaces in which properties of - this entity are persisted, for instances of this class only. - - The property spaces. - - For most implementations, this returns the complete set of table names - to which instances of the mapped entity are persisted (not accounting - for superclass entity mappings). - - - - - Returns an array of objects that identify spaces in which properties of - this entity are persisted, for instances of this class and its subclasses. - - - Much like , except that here we include subclass - entity spaces. - - The query spaces. - - - - Are instances of this class mutable? - - - - - Determine whether the entity is inherited one or more other entities. - In other words, is this entity a subclass of other entities. - - True if other entities extend this entity; false otherwise. - - - - Is the identifier assigned before the insert by an IDGenerator or is it returned - by the Insert() method? - - - This determines which form of Insert() will be called. - - - - - Are instances of this class versioned by a timestamp or version number column? - - - - - Get the type of versioning (optional operation) - - - - - Which property holds the version number? (optional operation) - - - - - If the entity defines a natural id (), which - properties make up the natural id. - - - The indices of the properties making of the natural id; or - null, if no natural id is defined. - - - - - Return the IIdentifierGenerator for the class - - - - - Get the Hibernate types of the class properties - - - - - Get the names of the class properties - doesn't have to be the names of the actual - .NET properties (used for XML generation only) - - - - - Gets if the Property is insertable. - - if the Property's value can be inserted. - - This is for formula columns and if the user sets the insert attribute on the <property> element. - - - - Which of the properties of this class are database generated values on insert? - - - Which of the properties of this class are database generated values on update? - - - - Properties that may be dirty (and thus should be dirty-checked). These - include all updatable properties and some associations. - - - - - Get the nullability of the properties of this class - - - - - Get the "versionability" of the properties of this class (is the property optimistic-locked) - - if the property is optimistic-locked; otherwise, . - - - - Get the cascade styles of the properties (optional operation) - - - - - Get the identifier type - - - - - Get the name of the indentifier property (or return null) - need not return the - name of an actual .NET property - - - - - Should we always invalidate the cache instead of recaching updated state - - - - - Should lazy properties of this entity be cached? - - - - - Get the cache (optional operation) - - - - Get the cache structure - - - - Get the user-visible metadata for the class (optional operation) - - - - - Is batch loading enabled? - - - - Is select snapshot before update enabled? - - - - Does this entity contain a version property that is defined - to be database generated? - - - - - Does this class support dynamic proxies? - - - - - Do instances of this class contain collections? - - - - - Determine whether any properties of this entity are considered mutable. - - - True if any properties of the entity are mutable; false otherwise (meaning none are). - - - - - Determine whether this entity contains references to persistent collections - which are fetchable by subselect? - - - True if the entity contains collections fetchable by subselect; false otherwise. - - - - - Does this class declare any cascading save/update/deletes? - - - - - Does the class have a property holding the identifier value? - - - - - Determine whether detahced instances of this entity carry their own - identifier value. - - - True if either (1) or - (2) the identifier is an embedded composite identifier; false otherwise. - - - The other option is the deprecated feature where users could supply - the id during session calls. - - - - - Determine whether this entity defines a natural identifier. - - True if the entity defines a natural id; false otherwise. - - - - Determine whether this entity defines any lazy properties (ala - bytecode instrumentation). - - - True if the entity has properties mapped as lazy; false otherwise. - - - - - Gets if the Property is updatable - - if the Property's value can be updated. - - This is for formula columns and if the user sets the update attribute on the <property> element. - - - - - Does this class have a cache? - - - - - Does this entity define any properties as being database-generated on insert? - - - - - Does this entity define any properties as being database-generated on update? - - - - - Get the concrete subclass corresponding to the given discriminator value - - - - - Get the result set aliases used for the identifier columns, given a suffix - - - - - Get the result set aliases used for the property columns, given a suffix (properties of this class, only). - - - - - Get the result set column names mapped for this property (properties of this class, only). - - - - - Get the alias used for the discriminator column, given a suffix - - - - - Retrieve property values from one row of a result set - - - - - The discriminator type - - - - - Get the names of columns used to persist the identifier - - - - - Get the name of the column used as a discriminator - - - - - Does the persistent class have subclasses? - - - - Does the result set contain rowids? - - - - Generate a list of collection index and element columns - - - - - - - - How many properties are there, for this class and all subclasses? (optional operation) - - - - - - May this property be fetched using an SQL outerjoin? - - - - - - - Get the cascade style of this (subclass closure) property - - - - - Is this property defined on a subclass of the mapped class? - - - - - - - Get an array of the types of all properties of all subclasses (optional operation) - - - - - - - Get the name of the numbered property of the class or a subclass - (optional operation) - - - - - - - Is the numbered property of the class of subclass nullable? - - - - - Return the column names used to persist all properties of all sublasses of the persistent class - (optional operation) - - - - - Return the table name used to persist the numbered property of - the class or a subclass - (optional operation) - - - - - Given the number of a property of a subclass, and a table alias, return the aliased column names - (optional operation) - - - - - - - - Get the main from table fragment, given a query alias (optional operation) - - - - - - - Get the column names for the given property path - - - - - Get the table name for the given property path - - - - - Return the alised identifier column names - - - - - Get the table alias used for the supplied column - - - - - Extends the generic ILoadable contract to add operations required by HQL - - - - - Given a query alias and an identifying suffix, render the intentifier select fragment. - - - - - - - - Given a query alias and an identifying suffix, render the property select fragment. - - - - - Given a property name, determine the number of the table which contains the column - to which this property is mapped. - - The name of the property. - The number of the table to which the property is mapped. - - Note that this is not relative to the results from {@link #getConstraintOrderedTableNameClosure()}. - It is relative to the subclass table name closure maintained internal to the persister (yick!). - It is also relative to the indexing used to resolve {@link #getSubclassTableName}... - - - - Determine whether the given property is declared by our - mapped class, our super class, or one of our subclasses... -

- Note: the method is called 'subclass property...' simply - for consistency sake (e.g. {@link #getSubclassPropertyTableNumber} -

- The property name. - The property declarer -
- - - Get the name of the table with the given index from the internal array. - - The index into the internal array. - - - - - The alias used for any filter conditions (mapped where-fragments or - enabled-filters). - - The root alias - The alias used for "filter conditions" within the where clause. - - This may or may not be different from the root alias depending upon the - inheritance mapping strategy. - - - - - Is this class explicit polymorphism only? - - - - - The class that this class is mapped as a subclass of - not necessarily the direct superclass - - - - - The discriminator value for this particular concrete subclass, as a string that may be - embedded in a select statement - - - - - The discriminator value for this particular concrete subclass - - The DiscriminatorValue is specific of NH since we are using strongly typed parameters for SQL query. - - - - Is the inheritance hierarchy described by this persister contained across - multiple tables? - - True if the inheritance hierarchy is spread across multiple tables; false otherwise. - - - - Get the names of all tables used in the hierarchy (up and down) ordered such - that deletes in the given order would not cause constraint violations. - - The ordered array of table names. - - - - For each table specified in , get - the columns that define the key between the various hierarchy classes. - - - The first dimension here corresponds to the table indexes returned in - . - - The second dimension should have the same length across all the elements in - the first dimension. If not, that'd be a problem ;) - - - - - Get the name of the temporary table to be used to (potentially) store id values - when performing bulk update/deletes. - - The appropriate temporary table name. - - - - Get the appropriate DDL command for generating the temporary table to - be used to (potentially) store id values when performing bulk update/deletes. - - The appropriate temporary table creation command. - - - Is the version property included in insert statements? - - - - Describes a class that may be loaded via a unique key. - - - - - Load an instance of the persistent class, by a unique key other than the primary key. - - - - - Get the property number of the unique key property - - - - - A class persister that supports queries expressed in the platform native SQL dialect. - - - - - Returns the column alias names used to persist/query the numbered property of the class or a subclass (optional operation). - - - - - Return the column names used to persist/query the named property of the class or a subclass (optional operation). - - - - - All columns to select, when loading. - - - - - Get the type - - - - - Contract for things that can be locked via a . - - - Currently only the root table gets locked, except for the case of HQL and Criteria queries - against dialects which do not support either (1) FOR UPDATE OF or (2) support hint locking - (in which case *all* queried tables would be locked). - - - - - Get the SQL alias this persister would use for the root table - given the passed driving alias. - - - The driving alias; or the alias for the table mapped by this persister in the hierarchy. - - The root table alias. - - - - Locks are always applied to the "root table". - - - - - Get the names of columns on the root table used to persist the identifier. - - - - - For versioned entities, get the name of the column (again, expected on the - root table) used to store the version values. - - - - - To build the SQL command in pessimistic lock - - - - - Decide which tables need to be updated - - The indices of all the entity properties considered dirty. - Whether any collections owned by the entity which were considered dirty. - Array of booleans indicating which table require updating. - - The return here is an array of boolean values with each index corresponding - to a given table in the scope of this persister. - - - - - Generate the SQL that selects the version number by id - - - - - Retrieve the version number - - - - - Warning: - When there are duplicated property names in the subclasses - of the class, this method may return the wrong table - number for the duplicated subclass property (note that - SingleTableEntityPersister defines an overloaded form - which takes the entity name. - - - - - Get the column names for the numbered property of this class - - - - - Must be called by subclasses, at the end of their constructors - - - - Generate the SQL that updates a row by id (and version) - - - Generate the SQL that inserts a row - - - Marshall the fields of a persistent instance to a prepared statement - - - - Unmarshall the fields of a persistent instance from a result set, - without resolving associations or collections - - - - - Perform an SQL INSERT, and then retrieve a generated identifier. - - - This form is used for PostInsertIdentifierGenerator-style ids (IDENTITY, select, etc). - - - - - Perform an SQL INSERT. - - - This for is used for all non-root tables as well as the root table - in cases where the identifier value is known before the insert occurs. - - - - Perform an SQL UPDATE or SQL INSERT - - - - Perform an SQL DELETE - - - - - Load an instance using the appropriate loader (as determined by - - - - - Transform the array of property indexes to an array of booleans, true when the property is dirty - - - - Which properties appear in the SQL update? (Initialized, updateable ones!) - - - - Determines whether the specified entity is an instance of the class - managed by this persister. - - The entity. - The entity mode. - - if the specified entity is an instance; otherwise, . - - - - - The queries that delete rows by id (and version) - - - - - The queries that insert rows with a given id - - - - - The queries that update rows by id (and version) - - - - - The query that inserts a row, letting the database generate an id - - The IDENTITY-based insertion query. - - - - We can't immediately add to the cache if we have formulas - which must be evaluated, or if we have the possibility of - two concurrent updates to the same item being merged on - the database. This can happen if (a) the item is not - versioned and either (b) we have dynamic update enabled - or (c) we have multiple tables holding the state of the - item. - - - - The property name of the "special" identifier property in HQL - - - - A IEntityPersister implementing the normalized "table-per-subclass" mapping strategy - - - - - Constructs the NormalizedEntityPerister for the PersistentClass. - - The PersistentClass to create the EntityPersister for. - The configured . - The SessionFactory that this EntityPersister will be stored in. - The mapping used to retrieve type information. - - - - Find the Index of the table name from a list of table names. - - The name of the table to find. - The array of table names - The Index of the table in the array. - Thrown when the tableName specified can't be found - - - - Not really a Loader, just a wrapper around a named query. - - - - - Default implementation of the ClassPersister interface. Implements the - "table-per-class hierarchy" mapping strategy for an entity class. - - - - Generate the SQL that selects a row by id - - - - Factory for IEntityPersister and ICollectionPersister instances. - - - - - Creates a built in Entity Persister or a custom Persister. - - - - - Creates a specific Persister - could be a built in or custom persister. - - - - - A Strategy for converting a mapped property name to a Field name. - - - - - When implemented by a class, converts the Property's name into a Field name - - The name of the mapped property. - The name of the Field. - - - Represents a "back-reference" to the id of a collection owner. - - - - Abstracts the notion of a "property". Defines a strategy for accessing the - value of a mapped property. - - - - - When implemented by a class, create a "getter" for the mapped property. - - The to find the Property in. - The name of the mapped Property to get. - - The to use to get the value of the Property from an - instance of the . - - Thrown when a Property specified by the propertyName could not - be found in the . - - - - - When implemented by a class, create a "setter" for the mapped property. - - The to find the Property in. - The name of the mapped Property to set. - - The to use to set the value of the Property on an - instance of the . - - - Thrown when a Property specified by the propertyName could not - be found in the . - - - - - Allow embedded and custom accessors to define if the ReflectionOptimizer can be used. - - - - The Setter implementation for id backrefs. - - - - Sets values of a particular mapped property. - - - - - When implemented by a class, sets the value of the Property/Field on the object. - - The object to set the Property value in. - The value to set the Property to. - - Thrown when there is a problem setting the value in the target. - - - - - When implemented by a class, gets the name of the Property. - - The name of the Property or . - - This is an optional operation - if it is not implemented then - is an acceptable value to return. - - - - - When implemented by a class, gets the for the set - accessor of the property. - - - This is an optional operation - if the is not - for a property set then is an acceptable value to return. - It is used by the proxies to determine which setter to intercept for the - identifier property. - - - - The Getter implementation for id backrefs. - - - - Gets values of a particular mapped property. - - - - - When implemented by a class, gets the value of the Property/Field from the object. - - The object to get the Property/Field value from. - - The value of the Property for the target. - - - Thrown when there is a problem getting the value from the target. - - - - Get the property value from the given owner instance. - The instance containing the value to be retrieved. - a map of merged persistent instances to detached instances - The session from which this request originated. - The extracted value. - - - - When implemented by a class, gets the that the Property/Field returns. - - The that the Property returns. - - - - When implemented by a class, gets the name of the Property. - - The name of the Property or . - - This is an optional operation - if the is not - for a Property get then is an acceptable value to return. - - - - - When implemented by a class, gets the for the get - accessor of the property. - - - This is an optional operation - if the is not - for a property get then is an acceptable value to return. - It is used by the proxies to determine which getter to intercept for the - identifier property. - - - - - Accesses mapped property values via a get/set pair, which may be nonpublic. - The default (and recommended strategy). - - - - - Create a for the mapped property. - - The to find the Property in. - The name of the mapped Property to get. - - The to use to get the value of the Property from an - instance of the . - - Thrown when a Property specified by the propertyName could not - be found in the . - - - - - Create a for the mapped property. - - The to find the Property in. - The name of the mapped Property to get. - - The to use to set the value of the Property on an - instance of the . - - - Thrown when a Property specified by the propertyName could not - be found in the . - - - - - Helper method to find the Property get. - - The to find the Property in. - The name of the mapped Property to get. - - The for the Property get or - if the Property could not be found. - - - - - Helper method to find the Property set. - - The to find the Property in. - The name of the mapped Property to set. - - The for the Property set or - if the Property could not be found. - - - - - An for a Property get. - - - - - An that can emit IL to get the property value. - - - - - Emit IL to get the property value from the object on top of the stack. - - - - - Initializes a new instance of . - - The that contains the Property get. - The for reflection. - The name of the Property. - - - - Gets the value of the Property from the object. - - The object to get the Property value from. - - The value of the Property for the target. - - - - - Gets the that the Property returns. - - The that the Property returns. - - - - Gets the name of the Property. - - The name of the Property. - - - - Gets the for the Property. - - - The for the Property. - - - - - An for a Property set. - - - - - An that can emit IL to set the property value. - - - - - Emit IL to set the property of an object to the value. The object - is loaded onto the stack first, then the value, then this method - is called. - - - - - Initializes a new instance of . - - The that contains the Property set. - The for reflection. - The name of the mapped Property. - - - - Sets the value of the Property on the object. - - The object to set the Property value in. - The value to set the Property to. - - Thrown when there is a problem setting the value in the target. - - - - - Gets the name of the mapped Property. - - The name of the mapped Property or . - - - - Gets the for the mapped Property. - - The for the mapped Property. - - - - Implementation of for fields that are the - camelCase version of the PropertyName - - - - - Converts the Property's name into a Field name by making the first character - lower case. - - The name of the mapped property. - The name of the Field in CamelCase format. - - - - Implementation of for fields that are prefixed with - an underscore and the PropertyName is changed to camelCase. - - - - - Converts the Property's name into a Field name by making the first character - of the propertyName lowercase and prefixing it with an underscore. - - The name of the mapped property. - The name of the Field in CamelCase format prefixed with an underscore. - - - - Access the mapped property by using a Field to get and set the value. - - - The is useful when you expose getter and setters - for a Property, but they have extra code in them that shouldn't be executed when NHibernate - is setting or getting the values for loads or saves. - - - - - Initializes a new instance of . - - - - - Initializes a new instance of . - - The to use. - - - - Create a to get the value of the mapped Property - through a Field. - - The to find the Property in. - The name of the mapped Property to get. - - The to use to get the value of the Property from an - instance of the . - - Thrown when a Field specified by the propertyName could not - be found in the . - - - - - Create a to set the value of the mapped Property - through a Field. - - The to find the mapped Property in. - The name of the mapped Property to set. - - The to use to set the value of the Property on an - instance of the . - - - Thrown when a Field for the Property specified by the propertyName using the - could not be found in the . - - - - - Helper method to find the Field. - - The to find the Field in. - The name of the Field to find. - - The for the field. - - - Thrown when a field could not be found. - - - - - Converts the mapped property's name into a Field using - the if one exists. - - The name of the Property. - The name of the Field. - - - - Gets the used to convert the name of the - mapped Property in the hbm.xml file to the name of the field in the class. - - The or . - - - - An that uses a Field instead of the Property get. - - - - - Initializes a new instance of . - - The that contains the field to use for the Property get. - The for reflection. - The name of the Field. - - - - Gets the value of the Field from the object. - - The object to get the Field value from. - - The value of the Field for the target. - - - - - Gets the that the Field returns. - - The that the Field returns. - - - - Gets the name of the Property. - - since this is a Field - not a Property. - - - - Gets the for the Property. - - since this is a Field - not a Property. - - - - An that uses a Field instead of the Property set. - - - - - Initializes a new instance of . - - The that contains the Field to use for the Property set. - The for reflection. - The name of the Field. - - - - Sets the value of the Field on the object. - - The object to set the Field value in. - The value to set the Field to. - - Thrown when there is a problem setting the value in the target. - - - - - Gets the name of the Property. - - since this is a Field - not a Property. - - - - Gets the for the Property. - - since this is a Field - not a Property. - - - Represents a "back-reference" to the index of a collection. - - - Constructs a new instance of IndexPropertyAccessor. - The collection role which this back ref references. - The owner entity name. - - - The Setter implementation for index backrefs. - - - The Getter implementation for index backrefs. - - - - Implementation of for fields that are - the PropertyName in all LowerCase characters. - - - - - Converts the Property's name into a Field name by making the all characters - of the propertyName lowercase. - - The name of the mapped property. - The name of the Field in lowercase. - - - - Implementation of for fields that are prefixed with - an underscore and the PropertyName is changed to lower case. - - - - - Converts the Property's name into a Field name by making the all characters - of the propertyName lowercase and prefixing it with an underscore. - - The name of the mapped property. - The name of the Field in lowercase prefixed with an underscore. - - - Used to declare properties not represented at the pojo level - - - A Getter which will always return null. It should not be called anyway. - - - A Setter which will just do nothing. - - - - Access the mapped property through a Property get to get the value - and go directly to the Field to set the value. - - - This is most useful because Classes can provider a get for the Property - that is the <id> but tell NHibernate there is no setter for the Property - so the value should be written directly to the field. - - - - - Initializes a new instance of . - - The to use. - - - - Creates an to get the value from the Property. - - The to find the Property in. - The name of the mapped Property to get. - - The to use to get the value of the Property from an - instance of the . - - Thrown when a Property specified by the propertyName could not - be found in the . - - - - - Create a to set the value of the mapped Property - through a Field. - - The to find the mapped Property in. - The name of the mapped Property to set. - - The to use to set the value of the Property on an - instance of the . - - - Thrown when a Field for the Property specified by the propertyName using the - could not be found in the . - - - - - Converts the Property's name into a Field name by making the first character - of the propertyName uppercase and prefixing it with the letter 'm'. - - The name of the mapped property. - The name of the Field in PascalCase format prefixed with an 'm'. - - - - Implementation of for fields that are prefixed with - an m_ and the first character in PropertyName capitalized. - - - - - Converts the Property's name into a Field name by making the first character - of the propertyName uppercase and prefixing it with the letter 'm' - and an underscore. - - The name of the mapped property. - The name of the Field in PascalCase format prefixed with an 'm' and an underscore. - - - - Implementation of for fields that are prefixed with - an _ and the first character in PropertyName capitalized. - - - - - Converts the Property's name into a Field name by making the first character - of the propertyName uppercase and prefixing it with an underscore. - - The name of the mapped property. - The name of the Field in PascalCase format prefixed with an underscore. - - - - Factory for creating the various PropertyAccessor strategies. - - - - - Initializes the static members in . - - - - - Gets or creates the specified by the type. - - - The specified by the type. - - - The built in ways of accessing the values of Properties in your domain class are: - - - - Access Method - How NHibernate accesses the Mapped Class. - - - property - - The name attribute is the name of the Property. This is the - default implementation. - - - - field - - The name attribute is the name of the field. If you have any Properties - in the Mapped Class those will be bypassed and NHibernate will go straight to the - field. This is a good option if your setters have business rules attached to them - or if you don't want to expose a field through a Getter & Setter. - - - - nosetter - - The name attribute is the name of the Property. NHibernate will use the - Property's get method to retrieve the value and will use the field - to set the value. This is a good option for <id> Properties because this access method - allows users of the Class to get the value of the Id but not set the value. - - - - readonly - - The name attribute is the name of the Property. NHibernate will use the - Property's get method to retrieve the value but will never set the value back in the domain. - This is used for read-only calculated properties with only a get method. - - - - Assembly Qualified Name - - If NHibernate's built in s are not what is needed for your - situation then you are free to build your own. Provide an Assembly Qualified Name so that - NHibernate can call Activator.CreateInstance(AssemblyQualifiedName) to create it. - - - - - In order for the nosetter to know the name of the field to access NHibernate needs to know - what the naming strategy is. The following naming strategies are built into NHibernate: - - - - Naming Strategy - How NHibernate converts the value of the name attribute to a field name. - - - camelcase - - The name attribute should be changed to CamelCase to find the field. - <property name="Foo" ... > finds a field foo. - - - - camelcase-underscore - - The name attribute should be changed to CamelCase and prefixed with - an underscore to find the field. - <property name="Foo" ... > finds a field _foo. - - - - pascalcase-underscore - - The name attribute should be prefixed with an underscore - to find the field. - <property name="Foo" ... > finds a field _Foo. - - - - pascalcase-m-underscore - - The name attribute should be prefixed with an 'm' and underscore - to find the field. - <property name="Foo" ... > finds a field m_Foo. - - - - pascalcase-m - - The name attribute should be prefixed with an 'm'. - <property name="Foo" ... > finds a field mFoo. - - - - lowercase - - The name attribute should be changed to lowercase to find the field. - <property name="FooBar" ... > finds a field foobar. - - - - lowercase-underscore - - The name attribute should be changed to lowercase and prefixed with - and underscore to find the field. - <property name="FooBar" ... > finds a field _foobar. - - - - - The naming strategy can also be appended at the end of the field access method. Where - this could be useful is a scenario where you do expose a get and set method in the Domain Class - but NHibernate should only use the fields. - - - With a naming strategy and a get/set for the Property available the user of the Domain Class - could write an Hql statement from Foo as foo where foo.SomeProperty = 'a'. If no naming - strategy was specified the Hql statement would have to be from Foo as foo where foo._someProperty - (assuming CamelCase with an underscore field naming strategy is used). - - - - - Retrieves a PropertyAccessor instance based on the given property definition and entity mode. - The property for which to retrieve an accessor. - The mode for the resulting entity. - An appropriate accessor. - - - - Access the mapped property through a Property get to get the value - and do nothing to set the value. - - - This is useful to allow calculated properties in the domain that will never - be recovered from the DB but can be used for querying. - - - - - Initializes a new instance of . - - - - - Creates an to get the value from the Property. - - The to find the Property in. - The name of the mapped Property to get. - - The to use to get the value of the Property from an - instance of the . - - Thrown when a Property specified by the propertyName could not - be found in the . - - - - - Create a to do nothing when trying to - se the value of the mapped Property - - The to find the mapped Property in. - The name of the mapped Property to set. - - An instance of . - - - - - Responsible for accessing property values represented as a XmlElement - or XmlAttribute. - - - - For nodes like "@bar" - - - Defines the strategy for getting property values out of a dom4j Node. - - - Get the declared type - - - Optional operation (return null) - - - Optional operation (return null) - - - For nodes like "@bar" - - - Optional operation (return null) - - - Optional operation (return null) - - - For nodes like "foo/@bar" - - - For nodes like "foo/@bar" - - - For nodes like "foo" - - - For nodes like "foo" - - - For nodes like "." - - - For nodes like "." - - - Lazy initializer for "dynamic-map" entity representations. - - - - Provides the base functionality to Handle Member calls into a dynamically - generated NHibernate Proxy. - - - This could be an extension point later if the .net framework ever gets a Proxy - class that is similar to the java.lang.reflect.Proxy or if a library similar - to cglib was made in .net. - - - - - Perform an ImmediateLoad of the actual object for the Proxy. - - - Thrown when the Proxy has no Session or the Session is closed or disconnected. - - - - - Return the Underlying Persistent Object, initializing if necessary. - - The Persistent Object this proxy is Proxying. - - - - Return the Underlying Persistent Object in a given , or null. - - The Session to get the object from. - The Persistent Object this proxy is Proxying, or . - - - - - - Get the entity name - - - - - - - - - - - - - If this is returned by Invoke then the subclass needs to Invoke the - method call against the object that is being proxied. - - - - - Create a LazyInitializer to handle all of the Methods/Properties that are called - on the Proxy. - - The entityName - The Id of the Object we are Proxying. - The ISession this Proxy is in. - - - - Perform an ImmediateLoad of the actual object for the Proxy. - - - Thrown when the Proxy has no Session or the Session is closed or disconnected. - - - - - Return the Underlying Persistent Object, initializing if necessary. - - The Persistent Object this proxy is Proxying. - - - - Return the Underlying Persistent Object in a given , or null. - - The Session to get the object from. - The Persistent Object this proxy is Proxying, or . - - - - - - - - - Proxy for "dynamic-map" entity representations. - - - - A marker interface so NHibernate can know if it is dealing with - an object that is a Proxy. - - - - This interface should not be implemented by anything other than - the Dynamically generated Proxy. If it is implemented by a class then - NHibernate will think that class is a Proxy and will not work. - - - It has to be public scope because - the Proxies are created in a separate DLL than NHibernate. - - - - - Get the underlying lazy initialization handler. - - - Contract for run-time, proxy-based lazy initialization proxies. - - - Called immediately after instantiation of this factory. - - The name of the entity for which this factory should generate proxies. - - - The entity class for which to generate proxies; not always the same as the entityName. - - - The interfaces to expose in the generated proxy; - is already included in this collection. - - - Reference to the identifier getter method; invocation on this method should not force initialization - - - Reference to the identifier setter method; invocation on this method should not force initialization - - - For composite identifier types, a reference to - the type of the identifier - property; again accessing the id should generally not cause - initialization - but need to bear in mind key-many-to-one - mappings. - - Indicates a problem completing post - - Essentially equivalent to constructor injection, but contracted - here via interface. - - - - - Create a new proxy - - The id value for the proxy to be generated. - The session to which the generated proxy will be associated. - The generated proxy. - Indicates problems generating requested proxy. - - - Lazy initializer for POCOs - - - - Adds all of the information into the SerializationInfo that is needed to - reconstruct the proxy during deserialization or to replace the proxy - with the instantiated target. - - - This will only be called if the Dynamic Proxy generator does not handle serialization - itself or delegates calls to the method GetObjectData to the LazyInitializer. - - - - - Invokes the method if this is something that the LazyInitializer can handle - without the underlying proxied object being instantiated. - - The name of the method/property to Invoke. - The arguments to pass the method/property. - The proxy object that the method is being invoked on. - - The result of the Invoke if the underlying proxied object is not needed. If the - underlying proxied object is needed then it returns the result - which indicates that the Proxy will need to forward to the real implementation. - - - - - Convenient common implementation for ProxyFactory - - - - - Proxeability validator. - - - - - Validates whether can be specified as the base class - (or an interface) for a dynamically-generated proxy. - - The type to validate. - - A collection of errors messages, if any, or if none were found. - - - When the configuration property "use_proxy_validator" is set to true(default), the result of this method - is used to throw a detailed exception about the proxeability of the given . - - - - - Validate if a single method can be intercepted by proxy. - - The given method to check. - if the method can be intercepted by proxy. - otherwise. - - - This method can be used internally by the and is used - by to log errors when - a property accessor can't be intercepted by proxy. - The validation of property accessors is fairly enough if you ecampsulate each property. - - - - - Validates whether can be specified as the base class - (or an interface) for a dynamically-generated proxy. - - The type to validate. - - A collection of errors messages, if any, or if none were found. - - - - - NHibernateProxyHelper provides convenience methods for working with - objects that might be instances of Classes or the Proxied version of - the Class. - - - - - Get the class of an instance or the underlying class of a proxy (without initializing the proxy!). - It is almost always better to use the entity name! - - The object to get the type of. - The Underlying Type for the object regardless of if it is a Proxy. - - - - Get the true, underlying class of a proxied persistent class. This operation - will NOT initialize the proxy and thus may return an incorrect result. - - a persistable object or proxy - guessed class of the instance - - This method is approximate match for Session.bestGuessEntityName in H3.2 - - - - - Aliases tables and fields for Sql Statements. - - - Several methods of this class take an additional - parameter, while their Java counterparts - do not. The dialect is used to correctly quote and unquote identifiers. - Java versions do the quoting and unquoting themselves and fail to - consider dialect-specific rules, such as escaping closing brackets in - identifiers on MS SQL 2000. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - An ANSI SQL CASE expression. - case when ... then ... end as ... - - This class looks StringHelper.SqlParameter safe... - - - Abstract SQL case fragment renderer - - - - An ANSI-style Join. - - - - - Represents a SQL JOIN - - - - - - - - Sets the op - - The op to set - - - - - - - - - - - - - - - - - - - - - - - - - - - - - An Oracle-style DECODE function. - - decode(pkvalue, key1, 1, key2, 2, ..., 0) - - - - - - - - Represents an SQL for update of ... nowait statement - - - - - An Informix-style (theta) Join - - - - - Represents an ... in (...) expression - - - - - Add a value to the value list. Value may be a string, - a , or one of special values - or . - - - - - - - - An Oracle-style (theta) Join - - - - - This method is a bit of a hack, and assumes - that the column on the "right" side of the - join appears on the "left" side of the - operator, which is extremely weird if this - was a normal join condition, but is natural - for a filter. - - - - - A placeholder for an ADO.NET parameter in an . - - - - - We need to know what the position of the parameter was in a query - before we rearranged the query. - This is the ADO parameter position that this SqlString parameter is - bound to. The SqlString can be safely rearranged once this is set. - - - - - Create a parameter with the specified position - - - - - Generates an array of parameters for the given SqlTypes. - - The number of parameters to generate. - An array of objects - - - - Determines whether this instance and the specified object - are of the same type and have the same values. - - An object to compare to this instance. - - if the object equals the current instance. - - - - - Gets a hash code for the parameter. - - - An value for the hash code. - - - - - Used as a placeholder when parsing HQL or SQL queries. - - - - - Summary description for QueryJoinFragment. - - - - - Summary description for QuerySelect. - - - - - Certain databases don't like spaces around these operators. - - - This needs to contain both a plain string and a - SqlString version of the operator because the portions in - the WHERE clause will come in as SqlStrings since there - might be parameters, other portions of the clause come in - as strings since there are no parameters. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Adds a string containing a valid "order by" sql statement - to this QuerySelect - - The "order by" sql statement. - - - - - - - - - - - - - - - - - Represents part of an SQL SELECT clause - - - - - Equivalent to ToSqlStringFragment. - - - - In H3, it is called ToFragmentString(). It appears to be - functionally equivalent as ToSqlStringFragment() here. - - - - - The base class for all of the SqlBuilders. - - - - - Converts the ColumnNames and ColumnValues to a WhereFragment - - The names of the Columns to Add to the WhereFragment - A SqlString that contains the WhereFragment - This just calls the overloaded ToWhereFragment() with the operator as " = " and the tableAlias null. - - - - Converts the ColumnNames and ColumnValues to a WhereFragment - - The Alias for the Table. - The names of the Columns to Add to the WhereFragment - A SqlString that contains the WhereFragment - This defaults the op to " = " - - - - Converts the ColumnNames and ColumnValues to a WhereFragment - - The names of the Columns to Add to the WhereFragment - The operator to use between the names & values. For example " = " or "!=" - A SqlString that contains the WhereFragment - - - - Converts the ColumnNames and ColumnValues to a WhereFragment - - The Alias for the Table. - The names of the Columns to Add to the WhereFragment - The operator to use between the names & values. For example " = " or "!=" - A SqlString that contains the WhereFragment - - - - A class that builds an DELETE sql statement. - - - - - Sets the IdentityColumn for the DELETE sql to use. - - An array of the column names for the Property - The IType of the Identity Property. - The SqlDeleteBuilder. - - - - Sets the VersionColumn for the DELETE sql to use. - - An array of the column names for the Property - The IVersionType of the Version Property. - The SqlDeleteBuilder. - - - - Adds the columns for the Type to the WhereFragment - - The names of the columns to add. - The IType of the property. - The operator to put between the column name and value. - The SqlDeleteBuilder - - - - Adds a string to the WhereFragement - - A well formed sql statement with no parameters. - The SqlDeleteBuilder - - - - Builds a SELECT SQL statement. - - - - - Sets the text that should appear after the FROM - - The fromClause to set - The SqlSelectBuilder - - - - Sets the text that should appear after the FROM - - The name of the Table to get the data from - The Alias to use for the table name. - The SqlSelectBuilder - - - - Sets the text that should appear after the FROM - - The fromClause in a SqlString - The SqlSelectBuilder - - - - Sets the text that should appear after the ORDER BY. - - The orderByClause to set - The SqlSelectBuilder - - - - Sets the text that should appear after the GROUP BY. - - The groupByClause to set - The SqlSelectBuilder - - - - Sets the SqlString for the OUTER JOINs. - - - All of the Sql needs to be included in the SELECT. No OUTER JOINS will automatically be - added. - - The outerJoinsAfterFrom to set - The outerJoinsAfterWhere to set - The SqlSelectBuilder - - - - Sets the text for the SELECT - - The selectClause to set - The SqlSelectBuilder - - - - Sets the text for the SELECT - - The selectClause to set - The SqlSelectBuilder - - - - Sets the criteria to use for the WHERE. It joins all of the columnNames together with an AND. - - - The names of the columns - The Hibernate Type - The SqlSelectBuilder - - - - Sets the prebuilt SqlString to the Where clause - - The SqlString that contains the sql and parameters to add to the WHERE - This SqlSelectBuilder - - - - Sets the criteria to use for the WHERE. It joins all of the columnNames together with an AND. - - - The names of the columns - The Hibernate Type - The SqlSelectBuilder - - - - Sets the prebuilt SqlString to the Having clause - - The SqlString that contains the sql and parameters to add to the HAVING - This SqlSelectBuilder - - - - ToSqlString() is named ToStatementString() in H3 - - - - - - - - - Summary description for SqlSimpleSelectBuilder. - - - - - - - - - - - - Adds a columnName to the SELECT fragment. - - The name of the column to add. - The SqlSimpleSelectBuilder - - - - Adds a columnName and its Alias to the SELECT fragment. - - The name of the column to add. - The alias to use for the column - The SqlSimpleSelectBuilder - - - - Adds an array of columnNames to the SELECT fragment. - - The names of the columns to add. - The SqlSimpleSelectBuilder - - - - Adds an array of columnNames with their Aliases to the SELECT fragment. - - The names of the columns to add. - The aliases to use for the columns - The SqlSimpleSelectBuilder - - - - Gets the Alias that should be used for the column - - The name of the column to get the Alias for. - The Alias if one exists, null otherwise - - - - Sets the IdentityColumn for the SELECT sql to use. - - An array of the column names for the Property - The IType of the Identity Property. - The SqlSimpleSelectBuilder. - - - - Sets the VersionColumn for the SELECT sql to use. - - An array of the column names for the Property - The IVersionType of the Version Property. - The SqlSimpleSelectBuilder. - - - - Set the Order By fragment of the Select Command - - The OrderBy fragment. It should include the SQL "ORDER BY" - The SqlSimpleSelectBuilder - - - - Adds the columns for the Type to the WhereFragment - - The names of the columns to add. - The IType of the property. - The operator to put between the column name and value. - The SqlSimpleSelectBuilder - - - - - - - This is a non-modifiable SQL statement that is ready to be prepared - and sent to the Database for execution. - - - - If you need to modify this object pass it to a and - get a new object back from it. - - - - - - Appends the SqlString parameter to the end of the current SqlString to create a - new SqlString object. - - The SqlString to append. - A new SqlString object. - - A SqlString object is immutable so this returns a new SqlString. If multiple Appends - are called it is better to use the SqlStringBuilder. - - - - - Appends the string parameter to the end of the current SqlString to create a - new SqlString object. - - The string to append. - A new SqlString object. - - A SqlString object is immutable so this returns a new SqlString. If multiple Appends - are called it is better to use the SqlStringBuilder. - - - - - Compacts the SqlString into the fewest parts possible. - - A new SqlString. - - Combines all SqlParts that are strings and next to each other into - one SqlPart. - - - - - Determines whether the end of this instance matches the specified String. - - A string to seek at the end. - if the end of this instance matches value; otherwise, - - - - Replaces all occurrences of a specified in this instance, - with another specified . - - A String to be replaced. - A String to replace all occurrences of oldValue. - - A new SqlString with oldValue replaced by the newValue. The new SqlString is - in the compacted form. - - - - - Determines whether the beginning of this SqlString matches the specified System.String, - using case-insensitive comparison. - - The System.String to seek - true if the SqlString starts with the value. - - - - Retrieves a substring from this instance. The substring starts at a specified character position. - - The starting character position of a substring in this instance. - - A new SqlString to the substring that begins at startIndex in this instance. - - - If the startIndex is greater than the length of the SqlString then is returned. - - - - - Returns the index of the first occurrence of , case-insensitive. - - Text to look for in the . Must be in lower - case. - - The text must be located entirely in a string part of the . - Searching for "a ? b" in an consisting of - "a ", Parameter, " b" will result in no matches. - - The index of the first occurrence of , or -1 - if not found. - - - - Removes all occurrences of white space characters from the beginning and end of this instance. - - - A new SqlString equivalent to this instance after white space characters - are removed from the beginning and end. - - - - - - - - - - - - - - - Returns the SqlString in a string where it looks like - SELECT col1, col2 FROM table WHERE col1 = ? - - - The question mark is used as the indicator of a parameter because at - this point we are not using the specific provider so we don't know - how that provider wants our parameters formatted. - - A provider-neutral version of the CommandText - - - - Make a copy of the SqlString, with new parameter references (Placeholders) - - - - - Returns substring of this SqlString starting with the specified - . If the text is not found, returns an - empty, not-null SqlString. - - - The method performs case-insensitive comparison, so the - passed should be in lower case. - - - - - Parse SQL in and create a SqlString representing it. - - - Parameter marks in single quotes will be correctly skipped, but otherwise the - lexer is very simple and will not parse double quotes or escape sequences - correctly, for example. - - - - - Gets the number of SqlParts contained in this SqlString. - - The number of SqlParts contained in this SqlString. - - - - The SqlStringBuilder is used to construct a SqlString. - - - - The SqlString is a nonmutable class so it can't have sql parts added - to it. Instead this class should be used to generate a new SqlString. - The SqlStringBuilder is to SqlString what the StringBuilder is to - a String. - - - This is different from the original version of SqlString because this does not - hold the sql string in the form of "column1=@column1" instead it uses an array to - build the sql statement such that - object[0] = "column1=" - object[1] = ref to column1 parameter - - - What this allows us to do is to delay the generating of the parameter for the sql - until the very end - making testing dialect indifferent. Right now all of our test - to make sure the correct sql is getting built are specific to MsSql2000Dialect. - - - - - - Create an empty StringBuilder with the default capacity. - - - - - Create a StringBuilder with a specific capacity. - - The number of parts expected. - - - - Create a StringBuilder to modify the SqlString - - The SqlString to modify. - - - - Adds the preformatted sql to the SqlString that is being built. - - The string to add. - This SqlStringBuilder - - - - Adds the Parameter to the SqlString that is being built. - The correct operator should be added before the Add(Parameter) is called - because there will be no operator ( such as "=" ) placed between the last Add call - and this Add call. - - The Parameter to add. - This SqlStringBuilder - - - - Attempts to discover what type of object this is and calls the appropriate - method. - - The part to add when it is not known if it is a Parameter, String, or SqlString. - This SqlStringBuilder. - Thrown when the part is not a Parameter, String, or SqlString. - - - - Adds an existing SqlString to this SqlStringBuilder. It does NOT add any - prefix, postfix, operator, or wrap around this. It is equivalent to just - adding a string. - - The SqlString to add to this SqlStringBuilder - This SqlStringBuilder - This calls the overloaded Add(sqlString, null, null, null, false) - - - - Adds an existing SqlString to this SqlStringBuilder - - The SqlString to add to this SqlStringBuilder - String to put at the beginning of the combined SqlString. - How these Statements should be junctioned "AND" or "OR" - String to put at the end of the combined SqlString. - This SqlStringBuilder - - This calls the overloaded Add method with an array of SqlStrings and wrapStatment=false - so it will not be wrapped with a "(" and ")" - - - - - Adds existing SqlStrings to this SqlStringBuilder - - The SqlStrings to combine. - String to put at the beginning of the combined SqlString. - How these SqlStrings should be junctioned "AND" or "OR" - String to put at the end of the combined SqlStrings. - This SqlStringBuilder - This calls the overloaded Add method with wrapStatement=true - - - - Adds existing SqlStrings to this SqlStringBuilder - - The SqlStrings to combine. - String to put at the beginning of the combined SqlStrings. - How these SqlStrings should be junctioned "AND" or "OR" - String to put at the end of the combined SqlStrings. - Wrap each SqlStrings with "(" and ")" - This SqlStringBuilder - - - - Insert a string containing sql into the SqlStringBuilder at the specified index. - - The zero-based index at which the sql should be inserted. - The string containing sql to insert. - This SqlStringBuilder - - - - Insert a Parameter into the SqlStringBuilder at the specified index. - - The zero-based index at which the Parameter should be inserted. - The Parameter to insert. - This SqlStringBuilder - - - - Removes the string or Parameter at the specified index. - - The zero-based index of the item to remove. - This SqlStringBuilder - - - - Converts the mutable SqlStringBuilder into the immutable SqlString. - - The SqlString that was built. - - - - Gets the number of SqlParts in this SqlStringBuilder. - - - The number of SqlParts in this SqlStringBuilder. - - - - - Gets or Sets the element at the index - - Returns a string or Parameter. - - - - - A class that builds an UPDATE sql statement. - - - - - Add a column with a specific value to the UPDATE sql - - The name of the Column to add. - The value to set for the column. - The NHibernateType to use to convert the value to a sql string. - The SqlUpdateBuilder. - - - - Add a column with a specific value to the UPDATE sql - - The name of the Column to add. - A valid sql string to set as the value of the column. - The SqlUpdateBuilder. - - - - Adds columns with a specific value to the UPDATE sql - - The names of the Columns to add. - A valid sql string to set as the value of the column. This value is assigned to each column. - The SqlUpdateBuilder. - - - - Adds the Property's columns to the UPDATE sql - - An array of the column names for the Property - The IType of the property. - The SqlUpdateBuilder. - - - - Adds the Property's updatable columns to the UPDATE sql - - An array of the column names for the Property - An array of updatable column flags. If this array is null, all supplied columns are considered updatable. - The IType of the property. - The SqlUpdateBuilder. - - - - Sets the IdentityColumn for the UPDATE sql to use. - - An array of the column names for the Property - The IType of the Identity Property. - The SqlUpdateBuilder. - - - - Sets the VersionColumn for the UPDATE sql to use. - - An array of the column names for the Property - The IVersionType of the Version Property. - The SqlUpdateBuilder. - - - - Adds the columns for the Type to the WhereFragment - - The names of the columns to add. - The IType of the property. - The operator to put between the column name and value. - The SqlUpdateBuilder - - - - Adds a string to the WhereFragment - - A well formed sql string with no parameters. - The SqlUpdateBuilder - - - - - - - Given an SQL SELECT statement, parse it to extract clauses starting with - FROM, up to and not including ORDER BY (known collectively - as a subselect clause). - - - - - Contains the subselect clause as it is being built. - - - - - Initializes a new instance of the class. - - The parts of an to extract the subselect clause from. - - - - Looks for a FROM clause in the - and adds the clause to the result if found. - - A or a . - if the part contained a FROM clause, - otherwise. - - - - Returns the subselect clause of the statement - being processed. - - An containing - the subselect clause of the original SELECT - statement. - - - - Allows us to construct SQL WHERE fragments - - - - - Describes the details of a with the - information required to to generate an . - - - This can store the length of the string that the can hold. - If no value is provided for the length then the Driver is responsible for - setting the properties on the correctly. - - - - - This is the base class that adds information to the - for the and - to use. - - -

- The uses the SqlType to get enough - information to create an . -

-

- The use the SqlType to convert the - to the appropriate sql type for SchemaExport. -

-
-
- - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The length of the string the should hold. - - - - Describes the details of a with the - information required to generate an . - - - This can store the length of the string that the can hold. - If no value is provided for the length then the Driver is responsible for - setting the properties on the correctly. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The length of the string the should hold. - - - - Describes the details of a that is stored in - a BLOB column with the information required to generate - an . - - -

- This can store the length of the binary data that the can hold. - If no value is provided for the length then the Driver is responsible for - setting the properties on the correctly. -

-

- This is only needed by DataProviders (SqlClient) that need to specify a Size for the - IDbDataParameter. Most DataProvider(Oralce) don't need to set the Size so a - BinarySqlType would work just fine. -

-
-
- - - Describes the details of a with the - information required to to generate an . - - - This can store the binary data that the can hold. - If no value is provided for the length then the Driver is responsible for - setting the properties on the correctly. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The length of the binary data the should hold - - - - SqlTypeFactory provides Singleton access to the SqlTypes. - - - - - Describes the details of a that is stored in - a CLOB column with the information required to generate - an . - - -

- This can store the length of the binary data that the can hold. - If no value is provided for the length then the Driver is responsible for - setting the properties on the correctly. -

-

- This is only needed by DataProviders (SqlClient) that need to specify a Size for the - IDbDataParameter. Most DataProvider(Oralce) don't need to set the Size so a - StringSqlType would work just fine. -

-
-
- - - Describes the details of a with the - information required to generate an . - - - This can store the length of the string that the can hold. - If no value is provided for the length then the Driver is responsible for - setting the properties on the correctly. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The length of the string the should hold. - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The length of the string the should hold. - - - - Describes the details of a with the - information required to to generate an . - - - This can store the length of the string that the can hold. - If no value is provided for the length then the Driver is responsible for - setting the properties on the correctly. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The length of the string the should hold. - - - - Statistics for a particular "category" (a named entity, - collection role, second level cache region or query). - - - - Collection related statistics - - - Entity related statistics - - - - Information about the first-level (session) cache for a particular session instance - - - - Get the number of entity instances associated with the session - - - Get the number of collection instances associated with the session - - - Get the set of all EntityKeys. - - - Get the set of all CollectionKeys. - - - - Statistics for a particular . - Beware of metrics, they are dependent of the precision: - - - - Reset all statistics - - - Find entity statistics per name - entity name - EntityStatistics object - - - Get collection statistics per role - collection role - CollectionStatistics - - - Second level cache statistics per region - region name - SecondLevelCacheStatistics - - - Query statistics from query string (HQL or SQL) - query string - QueryStatistics - - - log in info level the main statistics - - - Global number of entity deletes - - - Global number of entity inserts - - - Global number of entity loads - - - Global number of entity fetchs - - - Global number of entity updates - - - Global number of executed queries - - - The of the slowest query. - - - The query string for the slowest query. - - - The global number of cached queries successfully retrieved from cache - - - The global number of cached queries *not* found in cache - - - The global number of cacheable queries put in cache - - - Get the global number of flush executed by sessions (either implicit or explicit) - - - - Get the global number of connections asked by the sessions - (the actual number of connections used may be much smaller depending - whether you use a connection pool or not) - - - - Global number of cacheable entities/collections successfully retrieved from the cache - - - Global number of cacheable entities/collections not found in the cache and loaded from the database. - - - Global number of cacheable entities/collections put in the cache - - - Global number of sessions closed - - - Global number of sessions opened - - - Global number of collections loaded - - - Global number of collections fetched - - - Global number of collections updated - - - Global number of collections removed - - - Global number of collections recreated - - - Start time - - - Enable/Disable statistics logs (this is a dynamic parameter) - - - All executed query strings - - - The names of all entities - - - The names of all collection roles - - - Get all second-level cache region names - - - The number of transactions we know to have been successful - - - The number of transactions we know to have completed - - - The number of prepared statements that were acquired - - - The number of prepared statements that were released - - - The number of StaleObjectStateExceptions that occurred - - - - The OperationThreshold to a value greater than to enable logging of long running operations. - - Operations that exceed the level will be logged. - - - Statistics SPI for the NHibernate core - - - Query statistics (HQL and SQL) - Note that for a cached query, the cache miss is equals to the db count - - - Add statistics report of a DB query - rows count returned - time taken - - - Second level cache statistics of a specific region - - - - Not ported yet - - - - - Not ported yet - - - - - Not ported yet - - - - - Not ported yet - - - - - Contract for delegates responsible for managing connection used by the hbm2ddl tools. - - - - - Prepare the helper for use. - - - - - Release any resources held by this helper. - - - - - Get a reference to the connection we are using. - - - - - A implementation based on an internally - built and managed . - - - - - Generates ddl to export table schema for a configured Configuration to the database - - - This Class can be used directly or the command line wrapper NHibernate.Tool.hbm2ddl.exe can be - used when a dll can not be directly used. - - - - - Create a schema exported for a given Configuration - - The NHibernate Configuration to generate the schema from. - - - - Create a schema exporter for the given Configuration, with the given - database connection properties - - The NHibernate Configuration to generate the schema from. - The Properties to use when connecting to the Database. - - - - Set the output filename. The generated script will be written to this file - - The name of the file to output the ddl to. - The SchemaExport object. - - - - Set the end of statement delimiter - - The end of statement delimiter. - The SchemaExport object. - - - - Run the schema creation script - - if the ddl should be outputted in the Console. - if the ddl should be executed against the Database. - - This is a convenience method that calls and sets - the justDrop parameter to false. - - - - - Run the drop schema script - - if the ddl should be outputted in the Console. - if the ddl should be executed against the Database. - - This is a convenience method that calls and sets - the justDrop parameter to true. - - - - - Executes the Export of the Schema in the given connection - - if the ddl should be outputted in the Console. - if the ddl should be executed against the Database. - if only the ddl to drop the Database objects should be executed. - - The connection to use when executing the commands when export is . - Must be an opened connection. The method doesn't close the connection. - - The writer used to output the generated schema - - This method allows for both the drop and create ddl script to be executed. - This overload is provided mainly to enable use of in memory databases. - It does NOT close the given connection! - - - - - Executes the Export of the Schema. - - if the ddl should be outputted in the Console. - if the ddl should be executed against the Database. - if only the ddl to drop the Database objects should be executed. - - This method allows for both the drop and create ddl script to be executed. - - - - - Execute the schema updates - - - - - Execute the schema updates - - The action to write the each schema line. - Commit the script to DB - - - - Returns a List of all Exceptions which occured during the export. - - - - - Perform the validations. - - - - This acts as a template method. Specific Reader instances - override the component methods. - - - - - A implementation based on an explicitly supplied - connection. - - - - - A implementation based on a provided - . Essentially, ensures that the connection - gets cleaned up, but that the provider itself remains usable since it - was externally provided to us. - - - - - An abstract factory for instances. - Concrete implementations are specified by transaction.factory_class - configuration property. - - Implementors must be threadsafe and should declare a public default constructor. - - - - - - Configure from the given properties - - - - - - Create a new transaction and return it without starting it. - - - - - This is used as a marker interface for the different - transaction context required for each session - - - - - Wraps an ADO.NET to implement - the interface. - - - - - Allows the application to define units of work, while maintaining abstraction from the - underlying transaction implementation - - - A transaction is associated with a ISession and is usually instanciated by a call to - ISession.BeginTransaction(). A single session might span multiple transactions since - the notion of a session (a conversation between the application and the datastore) is of - coarser granularity than the notion of a transaction. However, it is intended that there be - at most one uncommitted ITransaction associated with a particular ISession - at a time. Implementors are not intended to be threadsafe. - - - - - Begin the transaction with the default isolation level. - - - - - Begin the transaction with the specified isolation level. - - Isolation level of the transaction - - - - Flush the associated ISession and end the unit of work. - - - This method will commit the underlying transaction if and only if the transaction - was initiated by this object. - - - - - Force the underlying transaction to roll back. - - - - - Enlist the in the current Transaction. - - The to enlist. - - It is okay for this to be a no op implementation. - - - - - Register a user synchronization callback for this transaction. - - The callback to register. - - - - Is the transaction in progress - - - - - Was the transaction rolled back or set to rollback only? - - - - - Was the transaction successfully committed? - - - This method could return even after successful invocation of Commit() - - - - - Initializes a new instance of the class. - - The the Transaction is for. - - - - Enlist the in the current . - - The to enlist in this Transaction. - - - This takes care of making sure the 's Transaction property - contains the correct or if there is no - Transaction for the ISession - ie BeginTransaction() not called. - - - This method may be called even when the transaction is disposed. - - - - - - Begins the on the - used by the . - - - Thrown if there is any problems encountered while trying to create - the . - - - - - Commits the by flushing the - and committing the . - - - Thrown if there is any exception while trying to call Commit() on - the underlying . - - - - - Rolls back the by calling the method Rollback - on the underlying . - - - Thrown if there is any exception while trying to call Rollback() on - the underlying . - - - - - A flag to indicate if Disose() has been called. - - - - - Finalizer that ensures the object is correctly disposed of. - - - - - Takes care of freeing the managed and unmanaged resources that - this class is responsible for. - - - - - Takes care of freeing the managed and unmanaged resources that - this class is responsible for. - - Indicates if this AdoTransaction is being Disposed of or Finalized. - - If this AdoTransaction is being Finalized (isDisposing==false) then make sure not - to call any methods that could potentially bring this AdoTransaction back to life. - - - - - Gets a indicating if the transaction was rolled back. - - - if the had Rollback called - without any exceptions. - - - - - Gets a indicating if the transaction was committed. - - - if the had Commit called - without any exceptions. - - - - - A mimic to the javax.transaction.Synchronization callback to enable - - - - - Result transformer that allows to transform a result to - a user specified class which will be populated via setter - methods or fields matching the alias names. - - - - IList resultWithAliasedBean = s.CreateCriteria(typeof(Enrollment)) - .CreateAlias("Student", "st") - .CreateAlias("Course", "co") - .SetProjection( Projections.ProjectionList() - .Add( Projections.Property("co.Description"), "CourseDescription" ) - ) - .SetResultTransformer( new AliasToBeanResultTransformer(typeof(StudentDTO)) ) - .List(); - - StudentDTO dto = (StudentDTO)resultWithAliasedBean[0]; - - - - - - Tranforms each result row from a tuple into a , such that what - you end up with is a of . - - - - - Each row of results is a map () from alias to values/entities - - - - Each row of results is a - - - - Creates a resulttransformer that will inject aliased values into instances - of via property methods or fields. - - - - Support for tuplizers relating to components. - - - - Defines further responsibilities regarding tuplization based on - a mapped components. - - - ComponentTuplizer implementations should have the following constructor signature: - (org.hibernate.mapping.Component) - - - - - A tuplizer defines the contract for things which know how to manage - a particular representation of a piece of data, given that - representation's (the entity-mode - essentially defining which representation). - - - If that given piece of data is thought of as a data structure, then a tuplizer - is the thing which knows how to: - - create such a data structure appropriately - extract values from and inject values into such a data structure - - - For example, a given piece of data might be represented as a POCO class. - Here, it's representation and entity-mode is POCO. Well a tuplizer for POCO - entity-modes would know how to: - - create the data structure by calling the POCO's constructor - extract and inject values through getters/setter, or by direct field access, etc - - - That same piece of data might also be represented as a DOM structure, using - the tuplizer associated with the XML entity-mode, which would generate instances - of as the data structure and know how to access the - values as either nested s or as s. - - - - - - - Extract the current values contained on the given entity. - - The entity from which to extract values. - The current property values. - HibernateException - - - Inject the given values into the given entity. - The entity. - The values to be injected. - - - Extract the value of a particular property from the given entity. - The entity from which to extract the property value. - The index of the property for which to extract the value. - The current value of the given property on the given entity. - - - Generate a new, empty entity. - The new, empty entity instance. - - - - Is the given object considered an instance of the the entity (acconting - for entity-mode) managed by this tuplizer. - - The object to be checked. - True if the object is considered as an instance of this entity within the given mode. - - - - Return the pojo class managed by this tuplizer. - - The persistent class. - - Need to determine how to best handle this for the Tuplizers for EntityModes - other than POCO. - - - - Retrieve the current value of the parent property. - - The component instance from which to extract the parent property value. - - The current value of the parent property. - - - Set the value of the parent property. - The component instance on which to set the parent. - The parent to be set on the component. - The current session factory. - - - Does the component managed by this tuuplizer contain a parent property? - True if the component does contain a parent property; false otherwise. - - - This method does not populate the component parent - - - - Handles mapping s to ComponentTuplizers. -

- Most of the handling is really in the super class; here we just create - the tuplizers and add them to the superclass -

-
- - Centralizes handling of to mappings. - - - Given a supposed instance of an entity/component, guess its entity mode. - The supposed instance of the entity/component. - The guessed entity mode. - - - - Locate the contained tuplizer responsible for the given entity-mode. If - no such tuplizer is defined on this mapping, then return null. - - The entity-mode for which the caller wants a tuplizer. - The tuplizer, or null if not found. - - - Locate the tuplizer contained within this mapping which is responsible - for the given entity-mode. If no such tuplizer is defined on this - mapping, then an exception is thrown. - - - The entity-mode for which the caller wants a tuplizer. - - The tuplizer. - - HibernateException Unable to locate the requested tuplizer. - - - Centralizes metamodel information about a component. - - - - A specific to the dynamic-map entity mode. - - - - - A specific to the POCO entity mode. - - - - Support for tuplizers relating to entities. - - - - Defines further responsibilities regarding tuplization based on a mapped entity. - - - EntityTuplizer implementations should have the following constructor signature: - (, ) - - - - Create an entity instance initialized with the given identifier. - The identifier value for the entity to be instantiated. - The instantiated entity. - - - Extract the identifier value from the given entity. - The entity from which to extract the identifier value. - The identifier value. - - - - Inject the identifier value into the given entity. - - The entity to inject with the identifier value. - The value to be injected as the identifier. - Has no effect if the entity does not define an identifier property - - - - Inject the given identifier and version into the entity, in order to - "roll back" to their original values. - - - The identifier value to inject into the entity. - The version value to inject into the entity. - - - Extract the value of the version property from the given entity. - The entity from which to extract the version value. - The value of the version property, or null if not versioned. - - - Inject the value of a particular property. - The entity into which to inject the value. - The property's index. - The property value to inject. - - - Inject the value of a particular property. - The entity into which to inject the value. - The name of the property. - The property value to inject. - - - Extract the values of the insertable properties of the entity (including backrefs) - The entity from which to extract. - a map of instances being merged to merged instances - The session in which the resuest is being made. - The insertable property values. - - - Extract the value of a particular property from the given entity. - The entity from which to extract the property value. - The name of the property for which to extract the value. - The current value of the given property on the given entity. - - - Called just after the entities properties have been initialized. - The entity being initialized. - Are defined lazy properties currently unfecthed - The session initializing this entity. - - - - Generates an appropriate proxy representation of this entity for this entity-mode. - - The id of the instance for which to generate a proxy. - The session to which the proxy should be bound. - The generate proxies. - - - Does the given entity instance have any currently uninitialized lazy properties? - The entity to be check for uninitialized lazy properties. - True if uninitialized lazy properties were found; false otherwise. - - - - Does the class managed by this tuplizer implement - the interface. - - True if the ILifecycle interface is implemented; false otherwise. - - - - Does the class managed by this tuplizer implement - the interface. - - True if the IValidatable interface is implemented; false otherwise. - - - Returns the java class to which generated proxies will be typed. - The .NET class to which generated proxies will be typed - - - Is it an instrumented POCO? - - - Does this entity, for this mode, present a possibility for proxying? - True if this tuplizer can generate proxies for this entity. - - - Constructs a new AbstractEntityTuplizer instance. - The "interpreted" information relating to the mapped entity. - The parsed "raw" mapping data relating to the given entity. - - - Build an appropriate Getter for the given property. - The property to be accessed via the built Getter. - The entity information regarding the mapped entity owning this property. - An appropriate Getter instance. - - - Build an appropriate Setter for the given property. - The property to be accessed via the built Setter. - The entity information regarding the mapped entity owning this property. - An appropriate Setter instance. - - - Build an appropriate Instantiator for the given mapped entity. - The mapping information regarding the mapped entity. - An appropriate Instantiator instance. - - - Build an appropriate ProxyFactory for the given mapped entity. - The mapping information regarding the mapped entity. - The constructed Getter relating to the entity's id property. - The constructed Setter relating to the entity's id property. - An appropriate ProxyFactory instance. - - - Extract a component property value. - The component property types. - The component instance itself. - The property path for the property to be extracted. - The property value extracted. - - - Return the entity-mode handled by this tuplizer instance. - - - Retrieves the defined entity-name for the tuplized entity. - - - - Retrieves the defined entity-names for any subclasses defined for this entity. - - - - - Handles mapping s to s. - - - Most of the handling is really in the super class; here we just create - the tuplizers and add them to the superclass - - - - - Instantiates a EntityEntityModeToTuplizerMapping based on the given - entity mapping and metamodel definitions. - - The entity mapping definition. - The entity metamodel definition. - - - An specific to the POCO entity mode. - - - Contract for implementors responsible for instantiating entity/component instances. - - - Perform the requested entity instantiation. - The id of the entity to be instantiated. - An appropriately instantiated entity. - This form is never called for component instantiation, only entity instantiation. - - - Perform the requested instantiation. - The instantiated data structure. - - - - Performs check to see if the given object is an instance of the entity - or component which this Instantiator instantiates. - - The object to be checked. - True is the object does represent an instance of the underlying entity/component. - - - - Represents a defined entity identifier property within the Hibernate - runtime-metamodel. - - - Author: Steve Ebersole - - - - - Defines the basic contract of a Property within the runtime metamodel. - - - - - Constructor for Property instances. - - The name by which the property can be referenced within its owner. - The node name to use for XML-based representation of this property. - The Hibernate Type of this property. - - - - Construct a non-virtual identifier property. - - The name of the property representing the identifier within - its owning entity. - The node name to use for XML-based representation of this - property. - The Hibernate Type for the identifier property. - Is this an embedded identifier. - The value which, if found as the value on the identifier - property, represents new (i.e., un-saved) instances of the owning entity. - The generator to use for id value generation. - - - - Construct a virtual IdentifierProperty. - - The Hibernate Type for the identifier property. - Is this an embedded identifier. - The value which, if found as the value on the identifier - property, represents new (i.e., un-saved) instances of the owning entity. - The generator to use for id value generation. - - - - Defines a POCO-based instantiator for use from the tuplizers. - - - - Responsible for generation of runtime metamodel representations. - Makes distinction between identifier, version, and other (standard) properties. - - - Author: Steve Ebersole - - - - - Generates an IdentifierProperty representation of the for a given entity mapping. - - The mapping definition of the entity. - The identifier value generator to use for this identifier. - The appropriate IdentifierProperty definition. - - - - Generates a VersionProperty representation for an entity mapping given its - version mapping Property. - - The version mapping Property. - Is property lazy loading currently available. - The appropriate VersionProperty definition. - - - - Generate a "standard" (i.e., non-identifier and non-version) based on the given - mapped property. - - The mapped property. - Is property lazy loading currently available. - The appropriate StandardProperty definition. - - - - Represents a basic property within the Hibernate runtime-metamodel. - - - Author: Steve Ebersole - - - - - Constructs StandardProperty instances. - - The name by which the property can be referenced within - its owner. - The node name to use for XML-based representation of this - property. - The Hibernate Type of this property. - Should this property be handled lazily? - Is this property an insertable value? - Is this property an updateable value? - Is this property generated in the database on insert? - Is this property generated in the database on update? - Is this property a nullable value? - Is this property a checkable value? - Is this property a versionable value? - The cascade style for this property's value. - Any fetch mode defined for this property - - - - Represents a version property within the Hibernate runtime-metamodel. - - - Author: Steve Ebersole - - - - - Constructs VersionProperty instances. - - The name by which the property can be referenced within - its owner. - The node name to use for XML-based representation of this - property. - The Hibernate Type of this property. - Should this property be handled lazily? - Is this property an insertable value? - Is this property an updateable value? - Is this property generated in the database on insert? - Is this property generated in the database on update? - Is this property a nullable value? - Is this property a checkable value? - Is this property a versionable value? - The cascade style for this property's value. - The value which, if found as the value of - this (i.e., the version) property, represents new (i.e., un-saved) - instances of the owning entity. - - - Logic to bind stream of byte into a VARBINARY - - - - Superclass for mutable nullable types. - - - - - Superclass of single-column nullable types. - - - Maps the Property to a single column that is capable of storing nulls in it. If a .net Struct is - used it will be created with its unitialized value and then on Update the uninitialized value of - the Struct will be written to the column - not . - - - - - The base implementation of the interface. - Mapping of the built in Type hierarchy. - - - - - Defines a mapping from a .NET to a SQL datatype. - This interface is intended to be implemented by applications that need custom types. - - Implementors should usually be immutable and MUST definately be threadsafe. - - - - - When implemented by a class, returns the SqlTypes for the columns mapped by this IType. - The that uses this IType.An array of s. - - - - When implemented by a class, returns how many columns are used to persist this type. - The that uses this IType.The number of columns this IType spans.MappingException - - - - When implemented by a class, should the parent be considered dirty, - given both the old and current field or element value? - The old valueThe current valueThe true if the field is dirty - - - - When implemented by a class, gets an instance of the object mapped by - this IType from the . - The that contains the values - The names of the columns in the that contain the - value to populate the IType with. - The object mapped by this IType. - Implementors should handle possibility of null values. - - - - - When implemented by a class, gets an instance of the object - mapped by this IType from the . - The that contains the valuesThe name of the column in the that contains the - value to populate the IType with.The object mapped by this IType. - Implementations should handle possibility of null values. - This method might be called if the IType is known to be a single-column type. - - - - - When implemented by a class, puts the value/values from the mapped - class into the . - The to put the values into.The object that contains the values.The index of the to start writing the values to.Indicates which columns are to be set. - Implementors should handle possibility of null values. - A multi-column type should be written to parameters starting from . - - - - - When implemented by a class, puts the value/values from the mapped - class into the . - - The to put the values into. - The object that contains the values. - The index of the to start writing the values to. - - Implementors should handle possibility of null values. - A multi-column type should be written to parameters starting from . - - - - - When implemented by a class, a representation of the value to be - embedded in an XML element - The object that contains the values.An Xml formatted string. - - - - When implemented by a class, returns a deep copy of the persistent - state, stopping at entities and at collections. - A Collection element or Entity fieldThe entityMode.The session factory.A deep copy of the object. - - - - When implemented by a class, retrieves an instance of the mapped class, - or the identifier of an entity or collection from a . - The that contains the values. - The names of the columns in the that contain the - value to populate the IType with. - the sessionThe parent EntityAn identifier or actual object mapped by this IType. - - This is useful for 2-phase property initialization - the second phase is a call to - ResolveIdentifier() - - - Most implementors of this method will just pass the call to NullSafeGet(). - - - - - - When implemented by a class, maps identifiers to Entities or Collections. - An identifier or value returned by Hydrate()The sessionThe parent EntityThe Entity or Collection referenced by this Identifier. - This is the second phase of 2-phase property initialization. - - - - - Given a hydrated, but unresolved value, return a value that may be used to - reconstruct property-ref associations. - - - - - - - - During merge, replace the existing (target) value in the entity we are merging to - with a new (original) value from the detached entity we are merging. For immutable - objects, or null values, it is safe to simply return the first parameter. For - mutable objects, it is safe to return a copy of the first parameter. For objects - with component values, it might make sense to recursively replace component values. - - the value from the detached entity being merged - the value in the managed entity - - - - - the value to be merged - - - - Compare two instances of the class mapped by this type for persistence - "equality" - equality of persistent state - taking a shortcut for - entity references. - - - - - boolean - - - - Compare two instances of the class mapped by this type for persistence - "equality" - equality of persistent state. - - - - - boolean - - - - Compare two instances of the class mapped by this type for persistence - "equality" - equality of persistent state. - - - - - - boolean - - - Get a hashcode, consistent with persistence "equality" - - - - - Get a hashcode, consistent with persistence "equality" - - - - - - compare two instances of the type - - - - - - Get the type of a semi-resolved value. - - - A representation of the value to be embedded in an XML element. - - - - - - Parse the XML representation of an instance. - - - an instance of the type - - - - Given an instance of the type, return an array of boolean, indicating - which mapped columns would be null. - - an instance of the type - - - - - When implemented by a class, gets the abbreviated name of the type. - The NHibernate type name. - - - - When implemented by a class, gets the returned - by the NullSafeGet() methods. - - The from the .NET framework. - - This is used to establish the class of an array of this Itype - - - - - When implemented by a class, gets the value indicating if the objects - of this IType are mutable. - true if the objects mapped by this IType are mutable. - With respect to the referencing object... - Entities and Collections are considered immutable because they manage their own internal state. - - - - - When implemented by a class, gets a value indicating if the implementor is castable to an an - true if this is an AssociationThis does not necessarily imply that the type actually represents an association. - - - - When implemented by a class, gets a value indicating if the implementor is a collection type - true if this is a . - - - - When implemented by a class, gets a value indicating if the implementor - is an . - true if this is an - If true, the implementation must be castable to . - A component type may own collections or associations and hence must provide certain extra functionality. - - - - - When implemented by a class, gets a value indicating if the implementor - extends - true if this is an - - - - - - - Disassembles the object into a cacheable representation. - - The value to disassemble. - The is not used by this method. - optional parent entity object (needed for collections) - The disassembled, deep cloned state of the object - - This method calls DeepCopy if the value is not null. - - - - - Reconstructs the object from its cached "disassembled" state. - - The disassembled state from the cache - The is not used by this method. - The parent Entity object is not used by this method - The assembled object. - - This method calls DeepCopy if the value is not null. - - - - - Should the parent be considered dirty, given both the old and current - field or element value? - - The old value - The current value - The is not used by this method. - true if the field is dirty - This method uses IType.Equals(object, object) to determine the value of IsDirty. - - - - Retrives an instance of the mapped class, or the identifier of an entity - or collection from a . - - The that contains the values. - - The names of the columns in the that contain the - value to populate the IType with. - - the session - The parent Entity - An identifier or actual object mapped by this IType. - - This method uses the IType.NullSafeGet(IDataReader, string[], ISessionImplementor, object) method - to Hydrate this . - - - - - Maps identifiers to Entities or Collections. - - An identifier or value returned by Hydrate() - The is not used by this method. - The parent Entity is not used by this method. - The value. - - There is nothing done in this method other than return the value parameter passed in. - - - - - Says whether the value has been modified - - - - - When implemented by a class, returns a deep copy of the persistent - state, stopping at entities and at collections. - A Collection element or Entity fieldThe entityMode.The session factory.A deep copy of the object. - - - - When implemented by a class, returns the SqlTypes for the columns mapped by this IType. - The that uses this IType.An array of s. - - - - When implemented by a class, returns how many columns are used to persist this type. - The that uses this IType.The number of columns this IType spans.MappingException - - - - - - - - - - When implemented by a class, puts the value/values from the mapped - class into the . - The to put the values into.The object that contains the values.The index of the to start writing the values to.Indicates which columns are to be set. - Implementors should handle possibility of null values. - A multi-column type should be written to parameters starting from . - - - - - When implemented by a class, puts the value/values from the mapped - class into the . - - The to put the values into. - The object that contains the values. - The index of the to start writing the values to. - - Implementors should handle possibility of null values. - A multi-column type should be written to parameters starting from . - - - - - When implemented by a class, a representation of the value to be - embedded in an XML element - The object that contains the values.An Xml formatted string. - - - - Gets a value indicating if the is an . - - false - by default an is not an . - - - - Gets a value indicating if the is a . - - false - by default an is not a . - - - - Gets a value indicating if the is an . - - false - by default an is not an . - - - - Gets a value indicating if the is a . - - false - by default an is not a . - - - - Gets a value indicating if the implementation is an "object" type - - false - by default an is not a "object" type. - - - - When implemented by a class, gets the value indicating if the objects - of this IType are mutable. - true if the objects mapped by this IType are mutable. - With respect to the referencing object... - Entities and Collections are considered immutable because they manage their own internal state. - - - - - When implemented by a class, gets the abbreviated name of the type. - The NHibernate type name. - - - - When implemented by a class, gets the returned - by the NullSafeGet() methods. - - The from the .NET framework. - - This is used to establish the class of an array of this Itype - - - - - Initialize a new instance of the NullableType class using a - . - - The underlying . - This is used when the Property is mapped to a single column. - - - - When implemented by a class, put the value from the mapped - Property into to the . - - The to put the value into. - The object that contains the value. - The index of the to start writing the values to. - - Implementors do not need to handle possibility of null values because this will - only be called from after - it has checked for nulls. - - - - - When implemented by a class, gets the object in the - for the Property. - - The that contains the value. - The index of the field to get the value from. - An object with the value from the database. - - - - When implemented by a class, gets the object in the - for the Property. - - The that contains the value. - The name of the field to get the value from. - An object with the value from the database. - - Most implementors just call the - overload of this method. - - - - - A representation of the value to be embedded in an XML element - - The object that contains the values. - - An Xml formatted string. - - - - When implemented by a class, a representation of the value to be - embedded in an XML element - The object that contains the values.An Xml formatted string. - - - This implementation forwards the call to if the parameter - value is not null. - - - It has been "sealed" because the Types inheriting from - do not need and should not override this method. All of their implementation - should be in . - - - - - - Parse the XML representation of an instance - - XML string to parse, guaranteed to be non-empty - - - - - When implemented by a class, puts the value/values from the mapped - class into the . - - The to put the values into. - The object that contains the values. - The index of the to start writing the values to. - - Implementors should handle possibility of null values. - A multi-column type should be written to parameters starting from . - - - - This implementation forwards the call to . - - - It has been "sealed" because the Types inheriting from - do not need to and should not override this method. All of their implementation - should be in . - - - - - - Puts the value from the mapped class into the . - - The to put the values into. - The object that contains the values. - The index of the to write the value to. - - - This method checks to see if value is null, if it is then the value of - is written to the . - - - If the value is not null, then the method - is called and that method is responsible for setting the value. - - - - - - When implemented by a class, gets an instance of the object mapped by - this IType from the . - The that contains the values - The names of the columns in the that contain the - value to populate the IType with. - The object mapped by this IType. - Implementors should handle possibility of null values. - - - This has been sealed because no other class should override it. This - method calls for a single value. - It only takes the first name from the string[] names parameter - that is a - safe thing to do because a Nullable Type only has one field. - - - - - Extracts the values of the fields from the DataReader - - The DataReader positioned on the correct record - An array of field names. - The value off the field from the DataReader - - In this class this just ends up passing the first name to the NullSafeGet method - that takes a string, not a string[]. - - I don't know why this method is in here - it doesn't look like anybody that inherits - from NullableType overrides this... - - TODO: determine if this is needed - - - - - Gets the value of the field from the . - - The positioned on the correct record. - The name of the field to get the value from. - The value of the field. - - - This method checks to see if value is null, if it is then the null is returned - from this method. - - - If the value is not null, then the method - is called and that method is responsible for retrieving the value. - - - - - - When implemented by a class, gets an instance of the object - mapped by this IType from the . - The that contains the valuesThe name of the column in the that contains the - value to populate the IType with.The object mapped by this IType. - Implementations should handle possibility of null values. - This method might be called if the IType is known to be a single-column type. - - - - This implementation forwards the call to . - - - It has been "sealed" because the Types inheriting from - do not need to and should not override this method. All of their implementation - should be in . - - - - - - When implemented by a class, returns the SqlTypes for the columns mapped by this IType. - The that uses this IType.An array of s. - - - This implementation forwards the call to . - - - It has been "sealed" because the Types inheriting from - do not need to and should not override this method because they map to a single - column. All of their implementation should be in . - - - - - - Returns the number of columns spanned by this - - A always returns 1. - - This has the hard coding of 1 in there because, by definition of this class, - a NullableType can only map to one column in a table. - - - - - Determines whether the specified is equal to this - . - - The to compare with this NullableType. - true if the SqlType and Name properties are the same. - - - - Serves as a hash function for the , - suitable for use in hashing algorithms and data structures like a hash table. - - - A hash code that is based on the 's - hash code and the 's hash code. - - - - Gets the underlying for - the column mapped by this . - - The underlying . - - This implementation should be suitable for all subclasses unless they need to - do some special things to get the value. There are no built in s - that override this Property. - - - - - Initialize a new instance of the MutableType class using a - . - - The underlying . - - - - Gets the value indicating if this IType is mutable. - - true - a is mutable. - - This has been "sealed" because any subclasses are expected to be mutable. If - the type is immutable then they should inherit from . - - - - - An that may be used to version data. - - - - - When implemented by a class, increments the version. - - The current version - The current session, if available. - an instance of the that has been incremented. - - - - When implemented by a class, gets an initial version. - - The current session, if available. - An instance of the type. - - - - Are the two version values considered equal? - - One value to check. - The other value to check. - true if the values are equal, false otherwise. - - - - Get a comparator for the version numbers - - - - Convert the byte[] into the expected object type - - - Convert the object into the internal byte[] representation - - - - Common base class for and . - - - - - Superclass of types. - - - - - Superclass of nullable immutable types. - - - - - Initialize a new instance of the ImmutableType class using a - . - - The underlying . - - - - Gets the value indicating if this IType is mutable. - - false - an is not mutable. - - This has been "sealed" because any subclasses are expected to be immutable. If - the type is mutable then they should inherit from . - - - - - An that may appear as an SQL literal - - - - - When implemented by a class, return a representation - of the value, suitable for embedding in an SQL statement - - The object to convert to a string for the SQL statement. - - A string that contains a well formed SQL Statement. - - - - Initialize a new instance of the PrimitiveType class using a . - - The underlying . - - - - When implemented by a class, return a representation - of the value, suitable for embedding in an SQL statement - - The object to convert to a string for the SQL statement. - - A string that containts a well formed SQL Statement. - - - - A representation of the value to be embedded in an XML element - - The object that contains the values. - - An Xml formatted string. - - This just calls so if there is - a possibility of this PrimitiveType having any characters - that need to be encoded then this method should be overridden. - - - - - An IType that may be used for a discriminator column. - - - This interface contains no new methods but does require that an - that will be used in a discriminator column must implement - both the and interfaces. - - - - - An that may be used as an identifier. - - - - - When implemented by a class, converts the xml string from the - mapping file to the .NET object. - - The value of discriminator-value or unsaved-value attribute. - The string converted to the object. - - This method needs to be able to handle any string. It should not just - call System.Type.Parse without verifying that it is a parsable value - for the System.Type. - - - - - Maps a Property to a column that - stores date & time down to the accuracy of a second. - - - This only stores down to a second, so if you are looking for the most accurate - date and time storage your provider can give you use the . - or the - - - - - - - - - - - Base class for enum types. - - - - - Maps a Property - to a DbType.AnsiStringFixedLength column. - - - - - Maps a Property - to a column. - - - - - - - - Handles "any" mappings and the old deprecated "object" type. - - - The identifierType is any NHibernate IType that can be serailized by default. - For example, you can specify the identifierType as an Int32 or a custom identifier - type that you built. The identifierType matches to one or many columns. - - The metaType maps to a single column. By default it stores the name of the Type - that the Identifier identifies. - - For example, we can store a link to any table. It will have the results - class_name id_col1 - ======================================== - Simple, AssemblyName 5 - DiffClass, AssemblyName 5 - Simple, AssemblyName 4 - - You can also provide you own type that might map the name of the class to a table - with a giant switch statemet or a good naming convention for your class->table. The - data stored might look like - class_name id_col1 - ======================================== - simple_table 5 - diff_table 5 - simple_table 4 - - - - - - Enables other Component-like types to hold collections and have cascades, etc. - - - - - Get the values of the component properties of - a component instance - - - - - Optional Operation - - - - - Optional operation - - - - Get the types of the component properties - - - Get the names of the component properties - - - - Optional operation - - nullability of component properties - - - - An that represents some kind of association between entities. - - - - - Get the "persister" for this association - a class or collection persister - - - - - - Get the entity name of the associated entity - - - - Get the "filtering" SQL fragment that is applied in the - SQL on clause, in addition to the usual join condition. - - - - - When implemented by a class, gets the type of foreign key directionality - of this association. - - The of this association. - - - - Is the primary key of the owning entity table - to be used in the join? - - - - - Get the name of the property in the owning entity - that provides the join key (null if the identifier) - - - - - The name of a unique property of the associated entity - that provides the join key (null if the identifier of - an entity, or key of a collection) - - - - - Do we dirty check this association, even when there are - no columns to be updated. - - - - - - - - - - - - - - - Not really relevant to AnyType, since it cannot be "joined" - - - - - An that maps an collection - to the database. - - - - - The base class for an that maps collections - to the database. - - - - - Initializes a new instance of a class for - a specific role. - - The role the persistent collection is in. - - The name of the property in the - owner object containing the collection ID, or if it is - the primary key. - - - - - - Instantiate an uninitialized collection wrapper or holder. Callers MUST add the holder to the - persistence context! - - The session from which the request is originating. - The underlying collection persister (metadata) - The owner key. - The instantiated collection. - - - - Wrap the naked collection instance in a wrapper, or instantiate a - holder. Callers MUST add the holder to the persistence context! - - The session from which the request is originating. - The bare collection to be wrapped. - - A subclass of that wraps the non NHibernate collection. - - - - - Get the key value from the owning entity instance, usually the identifier, but might be some - other unique key, in the case of property-ref - - - - - Get the id value from the owning entity key, usually the same as the key, but might be some - other property, in the case of property-ref - - The collection owner key - The session from which the request is originating. - - The collection owner's id, if it can be obtained from the key; - otherwise, null is returned - - - - - Instantiate an empty instance of the "underlying" collection (not a wrapper), - but with the given anticipated size (i.e. accounting for initial capacity - and perhaps load factor). - - - The anticipated size of the instantiated collection after we are done populating it. - - A newly instantiated collection to be wrapped. - - - - Get an iterator over the element set of the collection, which may not yet be wrapped - - The collection to be iterated - The session from which the request is originating. - The iterator. - - - - Get an iterator over the element set of the collection in POCO mode - - The collection to be iterated - The iterator. - - - - We always need to dirty check the collection because we sometimes - need to increment version number of owner and also because of - how assemble/disassemble is implemented for uks - - - - - Initializes a new instance of a class for - a specific role. - - The role the persistent collection is in. - The name of the property in the - owner object containing the collection ID, or if it is - the primary key. - The of the element contained in the array. - - - This creates a bag that is non-generic. - - - - - - - - - - - - - - Wraps a in a . - - The for the collection to be a part of. - The unwrapped array. - - An that wraps the non NHibernate . - - - - - The for the element. - - - - - - - - An that maps an collection - using bag semantics to the database. - - - - - Initializes a new instance of a class for - a specific role. - - The role the persistent collection is in. - The name of the property in the - owner object containing the collection ID, or if it is - the primary key. - - - - - Instantiates a new for the bag. - - The current for the bag. - - - A new . - - - - Wraps an in a NHibernate . - - The for the collection to be a part of. - The unwrapped . - - An that wraps the non NHibernate . - - - - - - - - Maps a System.Byte[] Property to an column that can store a BLOB. - - - This is only needed by DataProviders (SqlClient) that need to specify a Size for the - IDbDataParameter. Most DataProvider(Oralce) don't need to set the Size so a BinaryType - would work just fine. - - - - - BinaryType. - - - - - - - - Maps a Property - to a column. - - - - - Initialize a new instance of the BooleanType - - This is used when the Property is mapped to a native boolean type. - - - - Initialize a new instance of the BooleanType class using a - . - - The underlying . - - This is used when the Property is mapped to a string column - that stores true or false as a string. - - - - - Maps a property - to a column. - - - - - Maps a Property - to a column. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Maps a Property - to a DbType.StringFixedLength column. - - - - - ClassMetaType is a NH specific type to support "any" with meta-type="class" - - - It work like a MetaType where the key is the entity-name it self - - - - - - - - - - - - - - - - - - - - - This method does not populate the component parent - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Maps a Property - to a column. - - - CultureInfoType stores the culture name (not the Culture ID) of the - in the DB. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Maps a Property - to a column. - - - - - A custom type for mapping user-written classes that implement - . - - - - - - - Adapts IUserType to the generic IType interface. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Maps a Property to a - - - - - - - - Maps a Property to a - - - - - - - - Maps the Year, Month, and Day of a Property to a - column - - - - - Support for parameterizable types. A UserType or CustomUserType may be - made parameterizable by implementing this interface. Parameters for a - type may be set by using a nested type element for the property element - - - - - Gets called by Hibernate to pass the configured type parameters to - the implementation. - - - - - - - - - - An extension of which - maps to the database's current timestamp, rather than the vm's - current timestamp. - - - Note: May/may-not cause issues on dialects which do not properly support - a true notion of timestamp - - - - - This is almost the exact same type as the DateTime except it can be used - in the version column, stores it to the accuracy the database supports, - and will default to the value of DateTime.Now if the value is null. - - -

- The value stored in the database depends on what your data provider is capable - of storing. So there is a possibility that the DateTime you save will not be - the same DateTime you get back when you check DateTime.Equals(DateTime) because - they will have their milliseconds off. -

-

- For example - SQL Server 2000 is only accurate to 3.33 milliseconds. So if - NHibernate writes a value of 01/01/98 23:59:59.995 to the Prepared Command, MsSql - will store it as 1998-01-01 23:59:59.997. -

-

- Please review the documentation of your Database server. -

-
-
- - - Sets the value of this Type in the IDbCommand. - - The IDbCommand to add the Type's value to. - The value of the Type. - The index of the IDataParameter in the IDbCommand. - - No null values will be written to the IDbCommand for this Type. - - - - - Maps a Property - to a column. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - A reference to an entity class - - - - Constructs the requested entity type mapping. - The name of the associated entity. - - The property-ref name, or null if we - reference the PK of the associated entity. - - Is eager fetching enabled. - Should values of this mapping be embedded in XML modes? - - Is unwrapping of proxies allowed for this association; unwrapping - says to return the "implementation target" of lazy prooxies; typically only possible - with lazy="no-proxy". - - - - Two entities are considered the same when their instances are the same. - One entity instance - Another entity instance - The entity mode. - True if x == y; false otherwise. - - - - Get the identifier value of an instance or proxy. -

- Intended only for loggin purposes!!! -

- The object from which to extract the identifier. - The entity persister - The entity mode - The extracted identifier. -
- - - Converts the id contained in the to an object. - - The that contains the query results. - A string array of column names that contain the id. - The this is occurring in. - The object that this Entity will be a part of. - - An instance of the object or if the identifer was null. - - - - Retrieves the {@link Joinable} defining the associated entity. - The session factory. - The associated joinable - - - - Determine the type of either (1) the identifier if we reference the - associated entity's PK or (2) the unique key to which we refer (i.e. - the property-ref). - - The mappings... - The appropriate type. - - - - The name of the property on the associated entity to which our FK refers - - The mappings... - The appropriate property name. - - - Convenience method to locate the identifier type of the associated entity. - The mappings... - The identifier type - - - Convenience method to locate the identifier type of the associated entity. - The originating session - The identifier type - - - - Resolves the identifier to the actual object. - - - - - Resolve an identifier or unique key value - - - - - - - - The name of the associated entity. - The session factory, for resolution. - The associated entity name. - - - The name of the associated entity. - The associated entity name. - - - - Load an instance by a unique key that is not the primary key. - - The name of the entity to load - The name of the property defining the uniqie key. - The unique key property value. - The originating session. - The loaded entity - - - Explicitly, an entity type is an entity type - True. - - - - This returns the wrong class for an entity with a proxy, or for a named - entity. Theoretically it should return the proxy class, but it doesn't. -

- The problem here is that we do not necessarily have a ref to the associated - entity persister (nor to the session factory, to look it up) which is really - needed to "do the right thing" here... -

-
- - - - - - - - - When implemented by a class, gets the type of foreign key directionality - of this association. - - The of this association. - - - - Is the foreign key the primary key of the table? - - - - - Converts the given enum instance into a basic type. - - - - - - - Maps a to a - DbType.String. - - - If your database should store the - using the named values in the enum instead of the underlying values - then subclass this . - - - All that needs to be done is to provide a default constructor that - NHibernate can use to create the specific type. For example, if - you had an enum defined as. - - - - public enum MyEnum - { - On, - Off, - Dimmed - } - - - - all that needs to be written for your enum string type is: - - - - public class MyEnumStringType : NHibernate.Type.EnumStringType - { - public MyEnumStringType() - : base( typeof( MyEnum ) ) - { - } - } - - - - The mapping would look like: - - - - ... - <property name="Status" type="MyEnumStringType, AssemblyContaining" /> - ... - - - - The TestFixture that shows the working code can be seen - in NHibernate.Test.TypesTest.EnumStringTypeFixture.cs - , NHibernate.Test.TypesTest.EnumStringClass.cs - , and NHibernate.Test.TypesTest.EnumStringClass.hbm.xml - - - - - - Hardcoding of 255 for the maximum length - of the Enum name that will be saved to the db. - - - 255 because that matches the default length that hbm2ddl will - use to create the column. - - - - - Initializes a new instance of . - - The of the Enum. - - - - Initializes a new instance of . - - The of the Enum. - The length of the string that can be written to the column. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - This appends enumstring - to the beginning of the underlying - enums name so that could still be stored - using the underlying value through the - also. - - - - - Represents directionality of the foreign key constraint - - - - - A foreign key from parent to child - - - - - A foreign key from child to parent - - - - - Should we cascade at this cascade point? - - - - - An that maps an collection - to the database using bag semantics. - - - - - Initializes a new instance of a class for - a specific role. - - The role the persistent collection is in. - The name of the property in the - owner object containing the collection ID, or if it is - the primary key. - - - - Instantiates a new for the bag. - - The current for the bag. - The current for the bag. - - - - - Wraps an in a . - - The for the collection to be a part of. - The unwrapped . - - An that wraps the non NHibernate . - - - - - An that maps an collection - using bag semantics with an identifier to the database. - - - - - Initializes a new instance of a class for - a specific role. - - The role the persistent collection is in. - The name of the property in the - owner object containing the collection ID, or if it is - the primary key. - - - - - Instantiates a new for the identifier bag. - - The current for the identifier bag. - - - - - - - Wraps an in a . - - The for the collection to be a part of. - The unwrapped . - - An that wraps the non NHibernate . - - - - - - - - An that maps an collection - to the database using list semantics. - - - - - An that maps an collection - using list semantics to the database. - - - - - Initializes a new instance of a class for - a specific role. - - The role the persistent collection is in. - The name of the property in the - owner object containing the collection ID, or if it is - the primary key. - - - - - Instantiates a new for the bag. - - The current for the bag. - - - A new . - - - - Wraps an exist in a NHibernate . - - The for the collection to be a part of. - The unwrapped . - - An that wraps the non NHibernate . - - - - - - - - Initializes a new instance of a class for - a specific role. - - The role the persistent collection is in. - The name of the property in the - owner object containing the collection ID, or if it is - the primary key. - - - - Instantiates a new for the list. - - The current for the list. - The current for the list. - - - - - Wraps an in a . - - The for the collection to be a part of. - The unwrapped . - - An that wraps the non NHibernate . - - - - - An that maps an collection - to the database. - - - - - An that maps an collection - to the database. - - - - - Initializes a new instance of a class for - a specific role. - - The role the persistent collection is in. - The name of the property in the - owner object containing the collection ID, or if it is - the primary key. - - - - - Instantiates a new for the map. - - The current for the map. - - - - - - - Wraps an in a . - - The for the collection to be a part of. - The unwrapped . - - An that wraps the non NHibernate . - - - - - - - - Initializes a new instance of a class for - a specific role. - - The role the persistent collection is in. - The name of the property in the - owner object containing the collection ID, or if it is - the primary key. - - - - Instantiates a new for the map. - - The current for the map. - - Not used. - - - - - Wraps an in a . - - The for the collection to be a part of. - The unwrapped . - - An that wraps the - non NHibernate . - - - - - An that maps a sorted collection - to the database. - - - - - An that maps an collection - to the database. - - - - - An that maps an collection - to the database. - - - - - Initializes a new instance of a class for - a specific role. - - The role the persistent collection is in. - The name of the property in the - owner object containing the collection ID, or if it is - the primary key. - - - - - Instantiates a new for the set. - - The current for the set. - - - - - - - Wraps an in a . - - The for the collection to be a part of. - The unwrapped . - - An that wraps the non NHibernate . - - - - - - - - - - Initializes a new instance of a class for - a specific role. - - The role the persistent collection is in. - The name of the property in the - owner object containing the collection ID, or if it is - the primary key. - - - - Instantiates a new for the set. - - The current for the set. - The current for the set. - - - - - Wraps an in a . - - The for the collection to be a part of. - The unwrapped . - - An that wraps the non NHibernate . - - - - - Initializes a new instance of a class for - a specific role. - - The role the persistent collection is in. - The name of the property in the - owner object containing the collection ID, or if it is - the primary key. - - - - An that maps a sorted collection - to the database. - - - - - Initializes a new instance of a class for - a specific role. - - The role the persistent collection is in. - The name of the property in the - owner object containing the collection ID, or if it is - the primary key. - The to use to compare - set elements. - - - - Maps a Property - to a column. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Maps a Property - to a column. - - - - - - - - - - - Maps a Property - to a column. - - - - - - - - - - - Maps a Property - to a column. - - - - - - - - - - - A many-to-one association to an entity - - - - - Hydrates the Identifier from . - - The that contains the query results. - A string array of column names to read from. - The this is occurring in. - The object that this Entity will be a part of. - - An instantiated object that used as the identifier of the type. - - - - - A one-to-one association to an entity - - - - - We don't need to dirty check one-to-one because of how - assemble/disassemble is implemented and because a one-to-one - association is never dirty - - - - - A implemented using a collection that maintains - the order in which elements are inserted into it. - - - - - Initializes a new instance of a class. - - The role the persistent collection is in. - - - - - - A implemented using a collection that maintains - the order in which elements are inserted into it. - - - - - Initializes a new instance of a class - - The role the persistent collection is in. - - - - - - PersistentEnumType - - - - - Gets an instance of the Enum - - The underlying value of an item in the Enum. - - An instance of the Enum set to the code value. - - - - - Gets the correct value for the Enum. - - The value to convert (an enum instance). - A boxed version of the code, converted to the correct type. - - This handles situations where the DataProvider returns the value of the Enum - from the db in the wrong underlying type. It uses to - convert it to the correct type. - - - - - Maps a Property - to a column. - - - - - - - - - - - Maps an instance of a that has the - to a column. - - - - The SerializableType should be used when you know that Bytes are - not going to be greater than 8,000. - - - The base class is because the data is stored in - a byte[]. The System.Array does not have a nice "equals" method so we must - do a custom implementation. - - - - - - - - - - - - - - - - - - - - - - - Thrown when a property cannot be serialized/deserialized - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The message that describes the error. - - - - Initializes a new instance of the class. - - The message that describes the error. - - The exception that is the cause of the current exception. If the innerException parameter - is not a null reference, the current exception is raised in a catch block that handles - the inner exception. - - - - - Initializes a new instance of the class - with serialized data. - - - The that holds the serialized object - data about the exception being thrown. - - - The that contains contextual information about the source or destination. - - - - - Maps a Property to an - column. - - - Verify through your database's documentation if there is a column type that - matches up with the capabilities of - - - - - - - - - - - Extends the to provide sorting. - - - - - Initializes a new instance of a class for - a specific role using the to do the sorting. - - The role the persistent collection is in. - The name of the property in the - owner object containing the collection ID, or if it is - the primary key. - The to use for the sorting. - - - - - Extends the to provide sorting. - - - - - Initializes a new instance of a class for - a specific role using the to do the sorting. - - The role the persistent collection is in. - The name of the property in the - owner object containing the collection ID, or if it is - the primary key. - The to use for the sorting. - - - - - A one-to-one association that maps to specific formula(s) - instead of the primary key column of the owning entity. - - - - - Maps a Property to an - column that can store a CLOB. - - - This is only needed by DataProviders (SqlClient) that need to specify a Size for the - IDbDataParameter. Most DataProvider(Oralce) don't need to set the Size so a StringType - would work just fine. - - - - - Maps a to a column. - - - - - - - - - - - - - - - - - Maps a Property to an column - that stores the DateTime using the Ticks property. - - - This is the recommended way to "timestamp" a column. - The System.DateTime.Ticks is accurate to 100-nanosecond intervals. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Maps a Property to an column - This is an extra way to map a . You already have - but mapping against a . - - - - - Maps a Property to an column - - - - - - - - - - - - - - - - - - - - - - - - - Maps a Property to an DateTime column that only stores the - Hours, Minutes, and Seconds of the DateTime as significant. - Also you have for handling, the NHibernate Type , - the which maps to a . - - - - This defaults the Date to "1753-01-01" - that should not matter because - using this Type indicates that you don't care about the Date portion of the DateTime. - - - A more appropriate choice to store the duration/time is the . - The underlying tends to be handled differently by different - DataProviders. - - - - - - Maps a to a 1 char column - that stores a 'T'/'F' to indicate true/false. - - - If you are using schema-export to generate your tables then you need - to set the column attributes: length=1 or sql-type="char(1)". - - This needs to be done because in Java's JDBC there is a type for CHAR and - in ADO.NET there is not one specifically for char, so you need to tell schema - export to create a char(1) column. - - - - - - - - - - - - - - - - - Used internally to obtain instances of IType. - - - Applications should use static methods and constants on NHibernate.NHibernateUtil if the default - IType is good enough. For example, the TypeFactory should only be used when the String needs - to have a length of 300 instead of 255. At this point NHibernate.String does not get you the - correct IType. Instead use TypeFactory.GetString(300) and keep a local variable that holds - a reference to the IType. - - - - - - - - Register other Default .NET type - - - These type will be used, as default, even when the "type" attribute was NOT specified in the mapping - - - - - Register other NO Default .NET type - - - These type will be used only when the "type" attribute was is specified in the mapping. - These are in here because needed to NO override default CLR types and be available in mappings - - - - - Gets the classification of the Type based on the string. - - The name of the Type to get the classification for. - The Type of Classification - - This parses through the string and makes the assumption that no class - name and no assembly name will contain the "(". - - If it finds - the "(" and then finds a "," afterwards then it is a - TypeClassification.PrecisionScale. - - - If it finds the "(" - and doesn't find a "," afterwards, then it is a - TypeClassification.Length. - - - If it doesn't find the "(" then it assumes that it is a - TypeClassification.Plain. - - - - - - Given the name of a Hibernate type such as Decimal, Decimal(19,0) - , Int32, or even NHibernate.Type.DecimalType, NHibernate.Type.DecimalType(19,0), - NHibernate.Type.Int32Type, then return an instance of NHibernate.Type.IType - - The name of the type. - The instance of the IType that the string represents. - - This method will return null if the name is not found in the basicNameMap. - - - - - Uses heuristics to deduce a NHibernate type given a string naming the - type. - - - An instance of NHibernate.Type.IType - - When looking for the NHibernate type it will look in the cache of the Basic types first. - If it doesn't find it in the cache then it uses the typeName to get a reference to the - Class (Type in .NET). Once we get the reference to the .NET class we check to see if it - implements IType, ICompositeUserType, IUserType, ILifecycle (Association), or - IPersistentEnum. If none of those are implemented then we will serialize the Type to the - database using NHibernate.Type.SerializableType(typeName) - - - - - Uses heuristics to deduce a NHibernate type given a string naming the - type. - - the type name - parameters for the type - An instance of NHibernate.Type.IType - - - - Gets the BinaryType with the specified length. - - The length of the data to store in the database. - A BinaryType - - In addition to returning the BinaryType it will also ensure that it has - been added to the basicNameMap with the keys Byte[](length) and - NHibernate.Type.BinaryType(length). - - - - - Gets the SerializableType for the specified Type - - The Type that will be Serialized to the database. - A SerializableType - - - In addition to returning the SerializableType it will also ensure that it has - been added to the basicNameMap with the keys Type.FullName (the result - of IType.Name and Type.AssemblyQualifiedName. This is different - from the other items put in the basicNameMap because it is uses the AQN and the - FQN as opposed to the short name used in the maps and the FQN. - - - Since this method calls the method - GetSerializableType(System.Type, Int32) - with the default length, those keys will also be added. - - - - - - A one-to-one association type for the given class and cascade style. - - - - - A many-to-one association type for the given class and cascade style. - - - - - - - A many-to-one association type for the given class and cascade style. - - - - - A many-to-one association type for the given class and cascade style. - - - - - Collection of convenience methods relating to operations across arrays of types... - - - - Deep copy a series of values from one array to another - The values to copy (the source) - The value types - An array indicating which values to include in the copy - The array into which to copy the values - The originating session - - - Apply the operation across a series of values. - The values - The value types - The originating session - - - - Apply the operation across a series of values. - - The values - The value types - The originating session - The entity "owning" the values - - - - Apply the operation across a series of values. - The values - The value types - An array indicating which values to include in the disassembled state - The originating session - The entity "owning" the values - The disassembled state - - - - Apply the operation across a series of values. - - The source of the state - The target into which to replace the source values. - The value types - The originating session - The entity "owning" the values - Represent a cache of already replaced state - The replaced state - - - - Apply the - operation across a series of values. - - The source of the state - The target into which to replace the source values. - The value types - The originating session - The entity "owning" the values - A map representing a cache of already replaced state - FK directionality to be applied to the replacement - The replaced state - - - - Apply the - operation across a series of values, as long as the corresponding is an association. - - The source of the state - The target into which to replace the source values. - The value types - The originating session - The entity "owning" the values - A map representing a cache of already replaced state - FK directionality to be applied to the replacement - The replaced state - - If the corresponding type is a component type, then apply - across the component subtypes but do not replace the component value itself. - - - - - Determine if any of the given field values are dirty, returning an array containing - indices of the dirty fields. - If it is determined that no fields are dirty, null is returned. - - The property definitions - The current state of the entity - The baseline state of the entity - Columns to be included in the dirty checking, per property - Does the entity currently hold any uninitialized property values? - The session from which the dirty check request originated. - Array containing indices of the dirty properties, or null if no properties considered dirty. - - - - Determine if any of the given field values are modified, returning an array containing - indices of the modified fields. - If it is determined that no fields are dirty, null is returned. - - The property definitions - The current state of the entity - The baseline state of the entity - Columns to be included in the mod checking, per property - Does the entity currently hold any uninitialized property values? - The session from which the dirty check request originated. - Array containing indices of the modified properties, or null if no properties considered modified. - - - - Maps the Assembly Qualified Name of a to a - column. - - - - - - - - Initialize a new instance of the TypeType class using a - . - - The underlying . - - - - Gets the in the for the Property. - - The that contains the value. - The index of the field to get the value from. - The from the database. - - Thrown when the value in the database can not be loaded as a - - - - - Gets the in the for the Property. - - The that contains the value. - The name of the field to get the value from. - The from the database. - - This just calls gets the index of the name in the IDataReader - and calls the overloaded version - (IDataReader, Int32). - - - Thrown when the value in the database can not be loaded as a - - - - - Puts the Assembly Qualified Name of the - Property into to the . - - The to put the value into. - The that contains the value. - The index of the to start writing the value to. - - This uses the method of the - object to do the work. - - - - - A representation of the value to be embedded in an XML element - - The that contains the values. - - An Xml formatted string that contains the Assembly Qualified Name. - - - - Gets the that will be returned - by the NullSafeGet() methods. - - - A from the .NET framework. - - - - - - - - Maps a Property - to a column. - - - - - - - - - - - Maps a Property - to a column. - - - - - - - - - - - Maps a Property - to a column. - - - - - - - - Maps a to a 1 char column - that stores a 'Y'/'N' to indicate true/false. - - - If you are using schema-export to generate your tables then you need - to set the column attributes: length=1 or sql-type="char(1)". - - This needs to be done because in Java's JDBC there is a type for CHAR and - in ADO.NET there is not one specifically for char, so you need to tell schema - export to create a char(1) column. - - - - - - - - - - - - - - - - - A UserType that may be dereferenced in a query. - This interface allows a custom type to define "properties". - These need not necessarily correspond to physical .NET style properties. - - A ICompositeUserType may be used in almost every way - that a component may be used. It may even contain many-to-one - associations. - - Implementors must be immutable and must declare a public - default constructor. - - Unlike UserType, cacheability does not depend upon - serializability. Instead, Assemble() and - Disassemble() provide conversion to/from a cacheable - representation. - - - - - Get the value of a property - - an instance of class mapped by this "type" - - the property value - - - - Set the value of a property - - an instance of class mapped by this "type" - - the value to set - - - - Compare two instances of the class mapped by this type for persistence - "equality", ie. equality of persistent state. - - - - - - - - Get a hashcode for the instance, consistent with persistence "equality" - - - - - Retrieve an instance of the mapped class from a IDataReader. Implementors - should handle possibility of null values. - - IDataReader - the column names - - the containing entity - - - - - Write an instance of the mapped class to a prepared statement. - Implementors should handle possibility of null values. - A multi-column type should be written to parameters starting from index. - If a property is not settable, skip it and don't increment the index. - - - - - - - - - - Return a deep copy of the persistent state, stopping at entities and at collections. - - generally a collection element or entity field - - - - - Transform the object into its cacheable representation. - At the very least this method should perform a deep copy. - That may not be enough for some implementations, method should perform a deep copy. That may not be enough for some implementations, however; for example, associations must be cached as identifier values. (optional operation) - - the object to be cached - - - - - - Reconstruct an object from the cacheable representation. - At the very least this method should perform a deep copy. (optional operation) - - the object to be cached - - - - - - - During merge, replace the existing (target) value in the entity we are merging to - with a new (original) value from the detached entity we are merging. For immutable - objects, or null values, it is safe to simply return the first parameter. For - mutable objects, it is safe to return a copy of the first parameter. However, since - composite user types often define component values, it might make sense to recursively - replace component values in the target object. - - - - - Get the "property names" that may be used in a query. - - - - - Get the corresponding "property types" - - - - - The class returned by NullSafeGet(). - - - - - Are objects of this type mutable? - - - - - A custom type that may function as an identifier or discriminator - type, or may be marshalled to and from an XML document. - - - - - The interface to be implemented by user-defined types. - - - - The interface abstracts user code from future changes to the interface, - simplifies the implementation of custom types and hides certain "internal interfaces from - user code. - - - Implementers must be immutable and must declare a public default constructor. - - - The actual class mapped by a IUserType may be just about anything. However, if it is to - be cacheble by a persistent cache, it must be serializable. - - - Alternatively, custom types could implement directly or extend one of the - abstract classes in NHibernate.Type. This approach risks future incompatible changes - to classes or interfaces in the package. - - - - - - Compare two instances of the class mapped by this type for persistent "equality" - ie. equality of persistent state - - - - - - - - Get a hashcode for the instance, consistent with persistence "equality" - - - - - Retrieve an instance of the mapped class from a JDBC resultset. - Implementors should handle possibility of null values. - - a IDataReader - column names - the containing entity - - HibernateException - - - - Write an instance of the mapped class to a prepared statement. - Implementors should handle possibility of null values. - A multi-column type should be written to parameters starting from index. - - a IDbCommand - the object to write - command parameter index - HibernateException - - - - Return a deep copy of the persistent state, stopping at entities and at collections. - - generally a collection element or entity field - a copy - - - - During merge, replace the existing () value in the entity - we are merging to with a new () value from the detached - entity we are merging. For immutable objects, or null values, it is safe to simply - return the first parameter. For mutable objects, it is safe to return a copy of the - first parameter. For objects with component values, it might make sense to - recursively replace component values. - - the value from the detached entity being merged - the value in the managed entity - the managed entity - the value to be merged - - - - Reconstruct an object from the cacheable representation. At the very least this - method should perform a deep copy if the type is mutable. (optional operation) - - the object to be cached - the owner of the cached object - a reconstructed object from the cachable representation - - - - Transform the object into its cacheable representation. At the very least this - method should perform a deep copy if the type is mutable. That may not be enough - for some implementations, however; for example, associations must be cached as - identifier values. (optional operation) - - the object to be cached - a cacheable representation of the object - - - - The SQL types for the columns mapped by this type. - - - - - The type returned by NullSafeGet() - - - - - Are objects of this type mutable? - - - - - Parse a string representation of this value, as it appears - in an XML document. - - - - - Return an SQL literal representation of the value - - - - - Return a string representation of this value, as it - should appear in an XML document - - - - - Marker interface for user types which want to perform custom - logging of their corresponding values - - - - Generate a loggable string representation of the collection (value). - The collection to be logged; guaranteed to be non-null and initialized. - The factory. - The loggable string representation. - - - - Instantiate an uninitialized instance of the collection wrapper - - - - - Wrap an instance of a collection - - - - - Return an over the elements of this collection - the passed collection - instance may or may not be a wrapper - - - - - Optional operation. Does the collection contain the entity instance? - - - - - Optional operation. Return the index of the entity in the collection. - - - - - Replace the elements of a collection with the elements of another collection - - - - - Instantiate an empty instance of the "underlying" collection (not a wrapper), - but with the given anticipated size (i.e. accounting for initial size - and perhaps load factor). - - - The anticipated size of the instantiated collection - after we are done populating it. Note, may be negative to indicate that - we not yet know anything about the anticipated size (i.e., when initializing - from a result set row by row). - - - - - A user type that may be used for a version property. - - - - - Generate an initial version. - - The session from which this request originates. May be - null; currently this only happens during startup when trying to determine - the "unsaved value" of entities. - an instance of the type - - - - Increment the version. - - The session from which this request originates. - the current version - an instance of the type - - - - Helper class that contains common array functions and - data structures used through out NHibernate. - - - - - Sets item at position to . - Expands the list by adding values, if needed. - - - - - Computes a hash code for . - - The hash code is computed as the sum of hash codes of - individual elements, so that the value is independent of the - collection iteration order. - - - - - Creates a that uses case-insensitive string comparison - associated with invariant culture. - - - This is different from the method in - in that the latter uses the current culture and is thus vulnerable to the "Turkish I" problem. - - - - - Creates a that uses case-insensitive string comparison - associated with invariant culture. - - - This is different from the method in - in that the latter uses the current culture and is thus vulnerable to the "Turkish I" problem. - - - - - Computes a hash code for . - - The hash code is computed as the sum of hash codes of - individual elements, so that the value is independent of the - collection iteration order. - - - - - A read-only dictionary that is always empty and permits lookup by key. - - - - - A read-only dictionary that is always empty and permits lookup by key. - - - - - Utility class implementing ToString for collections. All ToString - overloads call element.ToString(). - - - To print collections of entities or typed values, use - . - - - - - - - - Get only filters enabled for many-to-one association. - - All enabled filters - A new for filters enabled for many to one. - - - - An where keys are compared by object identity, rather than equals. - - All external users of this class need to have no knowledge of the IdentityKey - it is all - hidden by this class. - - - - Do NOT use a System.Value type as the key for this Hashtable - only classes. See - the google thread - about why using System.Value is a bad thing. - - - If I understand it correctly, the first call to get an object defined by a DateTime("2003-01-01") - would box the DateTime and return the identity key for the box. If you were to get that Key and - unbox it into a DateTime struct, then the next time you passed it in as the Key the IdentityMap - would box it again (into a different box) and it would have a different IdentityKey - so you would - not get the same value for the same DateTime value. - - - - - - Create a new instance of the IdentityMap that has no - iteration order. - - A new IdentityMap based on a Hashtable. - - - - Create a new instance of the IdentityMap that has an - iteration order of the order the objects were added - to the Map. - - A new IdentityMap based on ListDictionary. - - - - Return the Dictionary Entries (as instances of DictionaryEntry in a collection - that is safe from concurrent modification). Ie - we may safely add new instances - to the underlying IDictionary during enumeration of the Values. - - The IDictionary to get the enumeration safe list. - A Collection of DictionaryEntries - - - - Create the IdentityMap class with the correct class for the IDictionary. - Unsorted = Hashtable - Sorted = ListDictionary - - A class that implements the IDictionary for storing the objects. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Verifies that we are not using a System.ValueType as the Key in the Dictionary - - The object that will be the key. - An object that is safe to be a key. - Thrown when the obj is a System.ValueType - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Returns the Keys used in this IdentityMap - - - - - - - - - - - - - - - - Provides a snapshot VIEW in the form of a List of the contents of the IdentityMap. - You can safely iterate over this VIEW and modify the actual IdentityMap because the - VIEW is a copy of the contents, not a reference to the existing Map. - - Contains a copy (not that actual instance stored) of the DictionaryEntries in a List. - - - - - Set implementation that use == instead of equals() as its comparison mechanism - that base its implementation of IdentityMap - - - - - Combines multiple objects implementing into one. - - - - - Creates an IEnumerable object from multiple IEnumerables. - - The IEnumerables to join together. - - - - - - - - - - - - - A flag to indicate if Dispose() has been called. - - - - - Finalizer that ensures the object is correctly disposed of. - - - - - Takes care of freeing the managed and unmanaged resources that - this class is responsible for. - - - - - Takes care of freeing the managed and unmanaged resources that - this class is responsible for. - - Indicates if this JoinedEnumerable is being Disposed of or Finalized. - - The command is closed and the reader is disposed. This allows other ADO.NET - related actions to occur without needing to move all the way through the - EnumerableImpl. - - - - - - - - A map of objects whose mapping entries are sequenced based on the order in which they were - added. This data structure has fast O(1) search time, deletion time, and insertion time - - - This class is not thread safe. - This class is not a really replication of JDK LinkedHashMap{K, V}, - this class is an adaptation of SequencedHashMap with generics. - - - - - Initializes a new instance of the class that is empty, - has the default initial capacity, and uses the default equality comparer for the key type. - - - - - Initializes a new instance of the class that is empty, - has the specified initial capacity, and uses the default equality comparer for the key type. - - The initial number of elements that the can contain. - - - - Initializes a new instance of the class that is empty, has the default initial capacity, and uses the specified . - - The implementation to use when comparing keys, or null to use the default EqualityComparer for the type of the key. - - - - Initializes a new instance of the class that is empty, has the specified initial capacity, and uses the specified . - - The initial number of elements that the can contain. - The implementation to use when comparing keys, or null to use the default EqualityComparer for the type of the key. - - - - An implementation of a Map which has a maximum size and uses a Least Recently Used - algorithm to remove items from the Map when the maximum size is reached and new items are added. - - - - - A map of objects whose mapping entries are sequenced based on the order in which they were - added. This data structure has fast O(1) search time, deletion time, and insertion time - - - This class is not thread safe. - - - - - Construct an empty sentinel used to hold the head (sentinel.next) and the tail (sentinal.prev) - of the list. The sentinal has a key and value - - - - - - Sentinel used to hold the head and tail of the list of entries - - - - - Map of keys to entries - - - - - Holds the number of modifications that have occurred to the map, excluding modifications - made through a collection view's iterator. - - - - - Construct a new sequenced hash map with default initial size and load factor - - - - - Construct a new sequenced hash map with the specified initial size and default load factor - - the initial size for the hash table - - - - Construct a new sequenced hash map with the specified initial size and load factor - - the initial size for the hashtable - the load factor for the hash table - - - - Construct a new sequenced hash map with the specified initial size, hash code provider - and comparer - - the initial size for the hashtable - - - - - Creates an empty Hashtable with the default initial capacity and using the default load factor, - the specified hash code provider and the specified comparer - - - - - - Creates an empty Hashtable with the default initial capacity and using the default load factor, - the specified hash code provider and the specified comparer - - the initial size for the hashtable - the load factor for the hash table - - - - - Removes an internal entry from the linked list. THis does not remove it from the underlying - map. - - - - - - Inserts a new internal entry to the tail of the linked list. This does not add the - entry to the underlying map. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Remove the Entry identified by the Key if it exists. - - The Key to remove. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Return only the Key of the DictionaryEntry - - - - - Return only the Value of the DictionaryEntry - - - - - Return the full DictionaryEntry - - - - - Summary description for ObjectUtils. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Helper class for Reflection related code. - - - - - Determine if the specified overrides the - implementation of Equals from - - The to reflect. - if any type in the hierarchy overrides Equals(object). - - - - Determine if the specified overrides the - implementation of GetHashCode from - - The to reflect. - if any type in the hierarchy overrides GetHashCode(). - - - - Finds the for the property in the . - - The to find the property in. - The name of the Property to find. - The name of the property access strategy. - The to get the value of the Property. - - This one takes a propertyAccessor name as we might know the correct strategy by now so we avoid Exceptions which are costly - - - - - Get the NHibernate for the named property of the . - - The to find the Property in. - The name of the property/field to find in the class. - The name of the property accessor for the property. - - The NHibernate for the named property. - - - - - Get the for the named property of a type. - - The to find the property in. - The name of the property/field to find in the class. - The name of the property accessor for the property. - The for the named property. - - - - Get the for the named property of a type. - - The FullName to find the property in. - The name of the property/field to find in the class. - The name of the property accessor for the property. - The for the named property. - - - - Returns a reference to the Type. - - The name of the class or a fully qualified name. - The Type for the Class. - - - - Load a System.Type given is't name. - - The class FullName or AssemblyQualifiedName - The System.Type - - If the don't represent an - the method try to find the System.Type scanning all Assemblies of the . - - If no System.Type was found for . - - - - Returns a from an already loaded Assembly or an - Assembly that is loaded with a partial name. - - An . - if an exception should be thrown - in case of an error, otherwise. - - A object that represents the specified type, - or if the type cannot be loaded. - - - Attempts to get a reference to the type from an already loaded assembly. If the - type cannot be found then the assembly is loaded using - . - - - - - Returns the value of the static field of . - - The . - The name of the field in the . - The value contained in the field, or if the type or the field does not exist. - - - - Gets the default no arg constructor for the . - - The to find the constructor for. - - The for the no argument constructor, or if the - type is an abstract class. - - - Thrown when there is a problem calling the method GetConstructor on . - - - - - Finds the constructor that takes the parameters. - - The to find the constructor in. - The objects to use to find the appropriate constructor. - - An that can be used to create the type with - the specified parameters. - - - Thrown when no constructor with the correct signature can be found. - - - - - Determines if the is a non creatable class. - - The to check. - if the is an Abstract Class or an Interface. - - - - Unwraps the supplied - and returns the inner exception preserving the stack trace. - - - The to unwrap. - - The unwrapped exception. - - - - Try to find a method in a given type. - - The given type. - The method info. - The found method or null. - - The , in general, become from another . - - - - - Used to ensure a collection filtering a given IEnumerable by a certain type. - - The type used like filter. - - - - Cache following a "Most Recently Used" (MRU) algorithm for maintaining a - bounded in-memory size; the "Least Recently Used" (LRU) entry is the first - available for removal from the cache. - - - This implementation uses a bounded MRU Map to limit the in-memory size of - the cache. Thus the size of this cache never grows beyond the stated size. - - - - - Cache following a "Most Recently Used" (MRY) algorithm for maintaining a - bounded in-memory size; the "Least Recently Used" (LRU) entry is the first - available for removal from the cache. - - - This implementation uses a "soft limit" to the in-memory size of the cache, - meaning that all cache entries are kept within a completely - {@link java.lang.ref.SoftReference}-based map with the most recently utilized - entries additionally kept in a hard-reference manner to prevent those cache - entries soft references from becoming enqueued by the garbage collector. - Thus the actual size of this cache impl can actually grow beyond the stated - max size bound as long as GC is not actively seeking soft references for - enqueuement. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Just a façade for calling string.Split() - We don't use our StringTokenizer because string.Split() is - more efficient (but it only works when we don't want to retrieve the delimiters) - - separators for the tokens of the list - the string that will be broken into tokens - - - - - Splits the String using the StringTokenizer. - - separators for the tokens of the list - the string that will be broken into tokens - true to include the separators in the tokens. - - - This is more powerful than Split because you have the option of including or - not including the separators in the tokens. - - - - - - - - - - - - - - - - - - - - Takes a fully qualified type name and returns the full name of the - Class - includes namespaces. - - - - - - - Takes a fully qualified type name (can include the assembly) and just returns - the name of the Class. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Converts a in the format of "true", "t", "false", or "f" to - a . - - The string to convert. - - The value converted to a . - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Counts the unquoted instances of the character. - - - - - - - - - - - - - - - - Generate a nice alias for the given class name or collection role - name and unique integer. Subclasses do not have to use - aliases of this form. - - an alias of the form foo1_ - - - - Returns the interned string equal to if there is one, or - otherwise. - - A - A - - - - A StringTokenizer java like object - - - - - - - - - - - - - - - - - - - - - - - - - - Returns an unmodifiable view of the specified IDictionary. - This method allows modules to provide users with "read-only" access to internal dictionary. - Query operations on the returned dictionary "read through" to the specified dictionary, - and attempts to modify the returned dictionary, - whether direct or via its collection views, result in an . - - The type of keys in the dictionary. - The type of values in the dictionary. - - - - Initializes a new instance of the UnmodifiableDictionary class that contains elements wrapped - from the specified IDictionary. - - The whose elements are wrapped. - - - - Count of elements in the collection. Unreliable! - - - - - Indicates failure of an assertion: a possible bug in NHibernate - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The message that describes the error. - - - - Initializes a new instance of the class. - - The message that describes the error. - - The exception that is the cause of the current exception. If the innerException parameter - is not a null reference, the current exception is raised in a catch block that handles - the inner exception. - - - - - Initializes a new instance of the class. - - - The that holds the serialized object - data about the exception being thrown. - - - The that contains contextual information about the source or destination. - - - - - Controls how the session interacts with the second-level - cache and query cache. - - - - - The session will never interact with the cache, except to invalidate - cache items when updates occur - - - - - The session will never read items from the cache, but will add items - to the cache as it reads them from the database. - - - - - The session may read items from the cache, but will not add items, - except to invalidate items when updates occur - - - - The session may read items from the cache, and add items to the cache - - - - The session will never read items from the cache, but will add items - to the cache as it reads them from the database. In this mode, the - effect of hibernate.cache.use_minimal_puts is bypassed, in - order to force a cache refresh - - - - - - - - Initializes a new instance of the class. - - - The exception that is the cause of the current exception. If the innerException parameter - is not a null reference, the current exception is raised in a catch block that handles - the inner exception. - - - - - Initializes a new instance of the class. - - The message that describes the error. - - - - Initializes a new instance of the class. - - The message that describes the error. - - The exception that is the cause of the current exception. If the innerException parameter - is not a null reference, the current exception is raised in a catch block that handles - the inner exception. - - - - - Initializes a new instance of the class - with serialized data. - - - The that holds the serialized object - data about the exception being thrown. - - - The that contains contextual information about the source or destination. - - - - - Transforms Criteria queries - - - - - Returns a clone of the original criteria, which will return the count - of rows that are returned by the original criteria query. - - - - - Returns a clone of the original criteria, which will return the count - of rows that are returned by the original criteria query. - - - - - Creates an exact clone of the criteria - - - - - - Creates an exact clone of the criteria - - - - - - Initializes a new instance of the class. - - The message that describes the error. - The name of the duplicate object - The type of the duplicate object - - - - Initializes a new instance of the class. - - The name of the duplicate object - The type of the duplicate object - - - - Initializes a new instance of the class - with serialized data. - - - The that holds the serialized object - data about the exception being thrown. - - - The that contains contextual information about the source or destination. - - - - - The type of the duplicated object - - - - - The name of the duplicated object - - - - - Allows user code to inspect and/or change property values before they are written and after they - are read from the database - - - - There might be a single instance of IInterceptor for a SessionFactory, or a new - instance might be specified for each ISession. Whichever approach is used, the interceptor - must be serializable if the ISession is to be serializable. This means that SessionFactory - -scoped interceptors should implement ReadResolve(). - - - The ISession may not be invoked from a callback (nor may a callback cause a collection or - proxy to be lazily initialized). - - - - - - Called just before an object is initialized - - - - - - - - The interceptor may change the state, which will be propagated to the persistent - object. Note that when this method is called, entity will be an empty - uninitialized instance of the class. - if the user modified the state in any way - - - - Called when an object is detected to be dirty, during a flush. - - - - - - - - - The interceptor may modify the detected currentState, which will be propagated to - both the database and the persistent object. Note that all flushes end in an actual - synchronization with the database, in which as the new currentState will be propagated - to the object, but not necessarily (immediately) to the database. It is strongly recommended - that the interceptor not modify the previousState. - - if the user modified the currentState in any way - - - - Called before an object is saved - - - - - - - - The interceptor may modify the state, which will be used for the SQL INSERT - and propagated to the persistent object - - if the user modified the state in any way - - - - Called before an object is deleted - - - - - - - - It is not recommended that the interceptor modify the state. - - - - Called before a collection is (re)created. - - - Called before a collection is deleted. - - - Called before a collection is updated. - - - - Called before a flush - - The entities - - - - Called after a flush that actually ends in execution of the SQL statements required to - synchronize in-memory state with the database. - - The entitites - - - - Called when a transient entity is passed to SaveOrUpdate. - - - The return value determines if the object is saved - - - the entity is passed to Save(), resulting in an INSERT - - the entity is passed to Update(), resulting in an UPDATE - - Hibernate uses the unsaved-value mapping to determine if the object is unsaved - - - A transient entity - Boolean or to choose default behaviour - - - - Called from Flush(). The return value determines whether the entity is updated - - - - an array of property indicies - the entity is dirty - an empty array - the entity is not dirty - - use Hibernate's default dirty-checking algorithm - - - A persistent entity - - - - - - An array of dirty property indicies or to choose default behavior - - - - Instantiate the entity class. Return to indicate that Hibernate should use the default - constructor of the class - - the name of the entity - The type of entity instance to be returned. - the identifier of the new instance - An instance of the class, or to choose default behaviour - - The identifier property of the returned instance - should be initialized with the given identifier. - - - - Get the entity name for a persistent or transient instance - an entity instance - the name of the entity - - - Get a fully loaded entity instance that is cached externally - the name of the entity - the instance identifier - a fully initialized entity - - - - Called when a NHibernate transaction is begun via the NHibernate - API. Will not be called if transactions are being controlled via some other mechanism. - - - - - Called before a transaction is committed (but not before rollback). - - - - - Called after a transaction is committed or rolled back. - - - - Called when sql string is being prepared. - sql to be prepared - original or modified sql - - - - Called when a session-scoped (and only session scoped) interceptor is attached - to a session - - - session-scoped-interceptor is an instance of the interceptor used only for one session. - The use of singleton-interceptor may cause problems in multi-thread scenario. - - - - - - Defines the representation modes available for entities. - - - - Represents a fetching strategy. - - - This is used together with the API to specify - runtime fetching strategies. - - For Hql queries, use the FETCH keyword instead. - - - - - - Default to the setting configured in the mapping file. - - - - - Fetch eagerly, using a separate select. Equivalent to - fetch="select" (and outer-join="false") - - - - - Fetch using an outer join. Equivalent to - fetch="join" (and outer-join="true") - - - - - Indicates that an expected getter or setter method could not be found on a class - - - - - Initializes a new instance of the class. - - The message that describes the error. - - - - Initializes a new instance of the class. - - The message that describes the error. - - The exception that is the cause of the current exception. If the innerException parameter - is not a null reference, the current exception is raised in a catch block that handles - the inner exception. - - - - - Initializes a new instance of the class - with serialized data. - - - The that holds the serialized object - data about the exception being thrown. - - - The that contains contextual information about the source or destination. - - - - - Represents a flushing strategy. - - - The flush process synchronizes database state with session state by detecting state - changes and executing SQL statements - - - - - Special value for unspecified flush mode (like in Java). - - - - - The ISession is never flushed unless Flush() is explicitly - called by the application. This mode is very efficient for read only - transactions - - - - - The ISession is flushed when Transaction.Commit() is called - - - - - The ISession is sometimes flushed before query execution in order to - ensure that queries never return stale state. This is the default flush mode. - - - - - The is flushed before every query. This is - almost always unnecessary and inefficient. - - - - - Provides XML marshalling for classes registered with a SessionFactory - - - - Hibernate defines a generic XML format that may be used to represent any class - (hibernate-generic.dtd). The user configures an XSLT stylesheet for marshalling - data from this generic format to an application and/or user readable format. By default, - Hibernate will use hibernate-default.xslt which maps data to a useful human- - readable format. - - - The property xml.output_stylesheet specifies a user-written stylesheet. - Hibernate will attempt to load the stylesheet from the classpath first and if not found, - will attempt to load it as a file - - - It is not intended that implementors be threadsafe - - - - - - Add an object to the output document. - - A transient or persistent instance - Databinder - - - - Add a collection of objects to the output document - - A collection of transient or persistent instance - Databinder - - - - Output the generic XML representation of the bound objects - - Generic Xml representation - - - - Output the generic XML Representation of the bound objects - to a XmlDocument - - A generic Xml tree - - - - Output the custom XML representation of the bound objects - - Custom Xml representation - - - - Output the custom XML representation of the bound objects as - an XmlDocument - - A custom Xml Tree - - - - Controls whether bound objects (and their associated objects) that are lazily instanciated - are explicityl initialized or left as they are - - True to explicitly initilize lazy objects, false to leave them in the state they are in - - - - Performs a null safe comparison using "==" instead of Object.Equals() - - First object to compare. - Second object to compare. - - true if x is the same instance as y or if both are null references; otherwise, false. - - - This is Lazy collection safe since it uses , - unlike Object.Equals() which currently causes NHibernate to load up the collection. - This behaivior of Collections is likely to change because Java's collections override Equals() and - .net's collections don't. So in .net there is no need to override Equals() and - GetHashCode() on the NHibernate Collection implementations. - - - - - Thrown if Hibernate can't instantiate an entity or component class at runtime. - - - - - Initializes a new instance of the class. - - The message that describes the error. - - The exception that is the cause of the current exception. If the innerException parameter - is not a null reference, the current exception is raised in a catch block that handles - the inner exception. - - The that NHibernate was trying to instantiate. - - - - Initializes a new instance of the class - with serialized data. - - - The that holds the serialized object - data about the exception being thrown. - - - The that contains contextual information about the source or destination. - - - - - Sets the serialization info for after - getting the info from the base Exception. - - - The that holds the serialized object - data about the exception being thrown. - - - The that contains contextual information about the source or destination. - - - - - Gets the that NHibernate was trying to instantiate. - - - - - Gets a message that describes the current . - - - The error message that explains the reason for this exception and the Type that - was trying to be instantiated. - - - - - Thrown when an invalid type is specified as a proxy for a class. - The exception is also thrown when a class is specified as lazy, - but cannot be used as a proxy for itself. - - - - - A problem occurred trying to lazily initialize a collection or proxy (for example the session - was closed) or iterate query results. - - - - - Initializes a new instance of the class. - - The name of the entity where the exception was thrown - The id of the entity where the exception was thrown - The message that describes the error. - - - - Initializes a new instance of the class. - - The message that describes the error. - - - - Initializes a new instance of the class. - - - The exception that is the cause of the current exception. If the innerException parameter - is not a null reference, the current exception is raised in a catch block that handles - the inner exception. - - - - - Initializes a new instance of the class. - - The message that describes the error. - - The exception that is the cause of the current exception. If the innerException parameter - is not a null reference, the current exception is raised in a catch block that handles - the inner exception. - - - - - Initializes a new instance of the class - with serialized data. - - - The that holds the serialized object - data about the exception being thrown. - - - The that contains contextual information about the source or destination. - - - - - Instances represent a lock mode for a row of a relational database table. - - - It is not intended that users spend much time worrying about locking since Hibernate - usually obtains exactly the right lock level automatically. Some "advanced" users may - wish to explicitly specify lock levels. - - - - - - - - - - - - - - - Is this lock mode more restrictive than the given lock mode? - - - - - - Is this lock mode less restrictive than the given lock mode? - - - - - - No lock required. - - - If an object is requested with this lock mode, a Read lock - might be obtained if necessary. - - - - - A shared lock. - - - Objects are loaded in Read mode by default - - - - - An upgrade lock. - - - Objects loaded in this lock mode are materialized using an - SQL SELECT ... FOR UPDATE - - - - - Attempt to obtain an upgrade lock, using an Oracle-style - SELECT ... FOR UPGRADE NOWAIT. - - - The semantics of this lock mode, once obtained, are the same as Upgrade - - - - - A Write lock is obtained when an object is updated or inserted. - - - This is not a valid mode for Load() or Lock(). - - - - - Similar to except that, for versioned entities, - it results in a forced version increment. - - - - - Provides access to the full range of NHibernate built-in types. - IType instances may be used to bind values to query parameters. - Also a factory for new Blobs and Clobs. - - - - - Guesses the IType of this object - - The obj. - - - - - Guesses the IType by the type - - The type. - - - - - NHibernate Ansi String type - - - - - NHibernate binary type - - - - - NHibernate binary blob type - - - - - NHibernate boolean type - - - - - NHibernate byte type - - - - - NHibernate character type - - - - - NHibernate Culture Info type - - - - - NHibernate date type - - - - - NHibernate date type - - - - - NHibernate local date type - - - - - NHibernate utc date type - - - - - NHibernate date type - - - - - NHibernate date type - - - - - NHibernate decimal type - - - - - NHibernate double type - - - - - NHibernate Currency type (System.Decimal - DbType.Currency) - - - - - NHibernate Guid type. - - - - - NHibernate System.Int16 (short in C#) type - - - - - NHibernate System.Int32 (int in C#) type - - - - - NHibernate System.Int64 (long in C#) type - - - - - NHibernate System.SByte type - - - - - NHibernate System.UInt16 (ushort in C#) type - - - - - NHibernate System.UInt32 (uint in C#) type - - - - - NHibernate System.UInt64 (ulong in C#) type - - - - - NHibernate System.Single (float in C#) Type - - - - - NHibernate String type - - - - - NHibernate string clob type - - - - - NHibernate Time type - - - - - NHibernate Ticks type - - - - - NHibernate Ticks type - - - - - NHibernate Ticks type - - - - - NHibernate Timestamp type - - - - - NHibernate TrueFalse type - - - - - NHibernate YesNo type - - - - - NHibernate class type - - - - - NHibernate class meta type for association of kind any. - - - - - - NHibernate serializable type - - - - - NHibernate System.Object type - - - - - A NHibernate persistent enum type - - - - - - - A NHibernate serializable type - - - - - - - A NHibernate serializable type - - a type mapping to a single column - the entity identifier type - - - - - A NHibernate persistent object (entity) type - - a mapped entity class - - - - A Hibernate persistent object (entity) type. - a mapped entity class - - - - A NHibernate custom type - - a class that implements UserType - - - - - Force initialization of a proxy or persistent collection. - - a persistable object, proxy, persistent collection or null - if we can't initialize the proxy at this time, eg. the Session was closed - - - - Is the proxy or persistent collection initialized? - - a persistable object, proxy, persistent collection or null - true if the argument is already initialized, or is not a proxy or collection - - - - Get the true, underlying class of a proxied persistent class. This operation - will initialize a proxy by side-effect. - - a persistable object or proxy - the true class of the instance - - - - Close an obtained from an - returned by NHibernate immediately, instead of waiting until the session is - closed or disconnected. - - - - - Close an returned by NHibernate immediately, - instead of waiting until the session is closed or disconnected. - - - - - Check if the property is initialized. If the named property does not exist - or is not persistent, this method always returns true. - - The potential proxy - the name of a persistent attribute of the object - - true if the named property of the object is not listed as uninitialized; - false if the object is an uninitialized proxy, or the named property is uninitialized - - - - - This exception is thrown when an operation would - break session-scoped identity. This occurs if the - user tries to associate two different instances of - the same class with a particular identifier, - in the scope of a single . - - - - - Initializes a new instance of the class. - - The message that describes the error. - The identifier of the object that caused the exception. - The EntityName of the object attempted to be loaded. - - - - Initializes a new instance of the class. - - The identifier of the object that caused the exception. - The EntityName of the object attempted to be loaded. - - - - Initializes a new instance of the class. - - - - - Sets the serialization info for after - getting the info from the base Exception. - - - The that holds the serialized object - data about the exception being thrown. - - - The that contains contextual information about the source or destination. - - - - - Thrown when the application calls IQuery.UniqueResult() - and the query returned more than one result. Unlike all other NHibernate - exceptions, this one is recoverable! - - - - - Initializes a new instance of the class. - - The number of items in the result. - - - - Initializes a new instance of the class - with serialized data. - - - The that holds the serialized object - data about the exception being thrown. - - - The that contains contextual information about the source or destination. - - - - - Thrown when the user tries to pass a deleted object to the ISession. - - - - - Thrown when Hibernate could not resolve an object by id, especially when - loading an association. - - - - - Initializes a new instance of the class. - - The identifier of the object that caused the exception. - The of the object attempted to be loaded. - - - - Initializes a new instance of the class. - - The message that describes the error. - The identifier of the object that caused the exception. - The of the object attempted to be loaded. - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class - with serialized data. - - - The that holds the serialized object - data about the exception being thrown. - - - The that contains contextual information about the source or destination. - - - - - Thrown when ISession.Load() fails to select a row with - the given primary key (identifier value). This exception might not - be thrown when Load() is called, even if there was no - row on the database, because Load() returns a proxy if - possible. Applications should use ISession.Get() to test if - a row exists in the database. - - - - - Initializes a new instance of the class. - - The identifier of the object that was attempting to be loaded. - The that NHibernate was trying to find a row for in the database. - - - - Initializes a new instance of the class - with serialized data. - - - The that holds the serialized object - data about the exception being thrown. - - - The that contains contextual information about the source or destination. - - - - - Thrown when the user passes a persistent instance to a ISession method that expects a - transient instance - - - - - Initializes a new instance of the class. - - The message that describes the error. - - - - Initializes a new instance of the class - with serialized data. - - - The that holds the serialized object - data about the exception being thrown. - - - The that contains contextual information about the source or destination. - - - - - A problem occurred accessing a property of an instance of a persistent class by reflection - - - - - Initializes a new instance of the class. - - The message that describes the error. - - The exception that is the cause of the current exception. If the innerException parameter - is not a null reference, the current exception is raised in a catch block that handles - the inner exception. - - A indicating if this was a "setter" operation. - The that NHibernate was trying find the Property or Field in. - The mapped property name that was trying to be accessed. - - - - Initializes a new instance of the class - with serialized data. - - - The that holds the serialized object - data about the exception being thrown. - - - The that contains contextual information about the source or destination. - - - - - Sets the serialization info for after - getting the info from the base Exception. - - - The that holds the serialized object - data about the exception being thrown. - - - The that contains contextual information about the source or destination. - - - - - Gets the that NHibernate was trying find the Property or Field in. - - - - - Gets a message that describes the current . - - - The error message that explains the reason for this exception and - information about the mapped property and its usage. - - - - - Indicates that an expected getter or setter method could not be found on a class - - - - - Initializes a new instance of the class, - used when a property get/set accessor is missing. - - The that is missing the property - The name of the missing property - The type of the missing accessor - ("getter" or "setter") - - - - Initializes a new instance of the class, - used when a field is missing. - - The that is missing the field - The name of the missing property - - - - Initializes a new instance of the class - with serialized data. - - - The that holds the serialized object - data about the exception being thrown. - - - The that contains contextual information about the source or destination. - - - - - Initializes a new instance of the class. - - The message that describes the error. - The that NHibernate was trying to access. - The name of the Property that was being get/set. - - - - Initializes a new instance of the class - with serialized data. - - - The that holds the serialized object - data about the exception being thrown. - - - The that contains contextual information about the source or destination. - - - - - Sets the serialization info for after - getting the info from the base Exception. - - - The that holds the serialized object - data about the exception being thrown. - - - The that contains contextual information about the source or destination. - - - - - Represents a replication strategy. - - - - - - Throw an exception when a row already exists - - - - - Ignore replicated entities when a row already exists - - - - - When a row already exists, choose the latest version - - - - - Overwrite existing rows when a row already exists - - - - - Thrown when a version number check failed, indicating that the - contained stale data (when using long transactions with - versioning). - - - - - Initializes a new instance of the class. - - The EntityName that NHibernate was trying to update in the database. - The identifier of the object that is stale. - - - - Initializes a new instance of the class - with serialized data. - - - The that holds the serialized object - data about the exception being thrown. - - - The that contains contextual information about the source or destination. - - - - - Sets the serialization info for after - getting the info from the base Exception. - - - The that holds the serialized object - data about the exception being thrown. - - - The that contains contextual information about the source or destination. - - - - - Gets the EntityName that NHibernate was trying to update in the database. - - - - - Gets the identifier of the object that is stale. - - - - - Gets a message that describes the current . - - The error message that explains the reason for this exception. - - - - Indicated that a transaction could not be begun, committed, or rolled back - - - - - Initializes a new instance of the class. - - The message that describes the error. - - - - Initializes a new instance of the class. - - The message that describes the error. - - The exception that is the cause of the current exception. If the innerException parameter - is not a null reference, the current exception is raised in a catch block that handles - the inner exception. - - - - - Initializes a new instance of the class - with serialized data. - - - The that holds the serialized object - data about the exception being thrown. - - - The that contains contextual information about the source or destination. - - - - - Throw when the user passes a transient instance to a ISession method that expects - a persistent instance - - - - - Initializes a new instance of the class. - - The message that describes the error. - - - - Initializes a new instance of the class - with serialized data. - - - The that holds the serialized object - data about the exception being thrown. - - - The that contains contextual information about the source or destination. - - - - - Used when a user provided type does not match the expected one - - - - - Thrown when ISession.Load() selects a row with the given primary key (identifier value) - but the row's discriminator value specifies a different subclass from the one requested - - - - - Initializes a new instance of the class. - - The message that describes the error. - The identifier of the object that was being loaded. - The name of entity that NHibernate was told to load. - - - - Initializes a new instance of the class - with serialized data. - - - The that holds the serialized object - data about the exception being thrown. - - - The that contains contextual information about the source or destination. - - - - - Sets the serialization info for after - getting the info from the base Exception. - - - The that holds the serialized object - data about the exception being thrown. - - - The that contains contextual information about the source or destination. - - - - - Gets the identifier of the object that was being loaded. - - - - - Gets the name of entity that NHibernate was told to load. - - - - - Gets a message that describes the current . - - The error message that explains the reason for this exception. - -
-
diff --git a/Lib/Portoa.Log4Net.dll b/Lib/Portoa.Log4Net.dll index 9864575a4d3cfa0e217d322ca8fc9787d0b60a57..b6102c25f4ef47cc9eebde2b7377157e453bb704 100644 GIT binary patch delta 703 zcmY+CO=uHA6vzKFlcZ*M32CGKh!ygoBx&m^)wZc8Z6a1{wPuMT7Bte3gOwFq@er&* zd(e6?aX=3R$)PCp79v6~3gV$+ksdrL6i*)2Lr&tsx0@By2k*`M{b%0pyqPJ*OMA-? zBJWeTCgIpO@UY5u01647ruZXKSv~KoCV&Y`I0}?RB^=PM02*;GP4vnzACMPWOlf#Y z3Xv;viS;v0zGgAzms>2-vq=jr8z<**VMbx6!U`)M?RRv(D^lh3;19X@#H#7&A`Em-dv^_+#2L4d) zxAGI&lW7{YHXuzKjE>EkSBWj-)XIgfs$3RB^0QcxLaK;R`9(;G)_&v{Ni1$WnNOl-%c8s@FWXh2PUS5P5gJ^Vs7;qwqH1{UDRd zxLi~=IET!rgZuwIA8H?Y@+4hzQUx+b+Q<$UBHHxxv-iHnUrvs`THvy#4h>}Tv-#Xy zetOEhIdA6l(`MoDnf$zdW5zzob?2GTr?8cfJ}t;M6S7ZB*L}XUcKiwPQO8;jdo#2z$SiujR|Mv7Ez zR1m2i8lQM+#3JI?p_hQ*!H?YuLYr*BcCY6AT_Yjk`xG)zx>{$R|b7I zY2F|?2$DtnSA+CXUM6Nx>1Is4m8<=)5yuTgSR7v5BYz{FkqsL*h8gmA8gT_(8Slyu?aB@oyF{8BbgevBgbT#0fW>uH-m&AMaR6XvW Itemj@23Mhs82|tP diff --git a/Lib/Portoa.Lucene.dll b/Lib/Portoa.Lucene.dll index da4f5ad917314d0c87d0efcffc0719199a60f56b..065a7568e6afdd9e26b064903ee2e98e027b5545 100644 GIT binary patch delta 1852 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 delta 6124 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 S(O(O`aBNp({6E>jMBu;s%}kE~ diff --git a/Lib/Portoa.Web.dll b/Lib/Portoa.Web.dll index 17aaae754bfe4d8decca1b66cf0e68ca3f89d8ce..24dd87ab9221f1d6b8af75194d792379d985b3f5 100644 GIT binary patch literal 49664 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 G68JA!F_5nS diff --git a/Lib/Portoa.Web.xml b/Lib/Portoa.Web.xml index 89721d7..cb8c533 100644 --- a/Lib/Portoa.Web.xml +++ b/Lib/Portoa.Web.xml @@ -23,27 +23,6 @@ Overridden to add the new filters to the default filters - - - Signifies that this controller can handle errors that aren't handled by - application code - - - - - Executed when an unknown error occurs - - - - - Executed when a page is not found - - - - - Executed when the user is forbidden from seeing the requested page - - whose lifetime lasts as long as the HTTP request. @@ -194,7 +173,7 @@ The system's logger The current HttpContext - + Handles global application errors by invoking the specified error controller @@ -213,7 +192,7 @@ Represents an object that can create error results - + @@ -284,7 +263,7 @@ - Logs all interceptable method calls via the + Logs all interceptable method calls via the @@ -306,7 +285,7 @@ - Uses the XmlConfigurator to configure log4net + Uses the > to configure log4net Optional filename to watch, otherwise it uses the default @@ -323,8 +302,10 @@ - The LifetimeManager to decorate - Action to call when the value is removed to dispose of the object + The to decorate. This should be a + that actually has a backing store, e.g. will not be properly + disposed because there is no backing store for the objects it manages. + Action to call when the value needs to be disposed @@ -463,14 +444,6 @@ Event that fires after a controller is instantiated - - - Controller for handling and displaying errors that aren't handled by application code - - - - The factory to use to create the action results - Uses an IUnityContainer to create controllers @@ -483,16 +456,6 @@ - - - Performs automatic logging of method calls and returns while respecting - - - - - Truncates a string to 150 characters in a pretty way, if necessary - - Generic model for displaying errors where the currently logged in user is needed @@ -526,48 +489,6 @@ if the user cannot be identified - - - Gets all model state errors as a line feed-delimited string - - - - - Creates a JSON response if an error occurred, appending all errors - to the response object - - The error message to display to the user, this value cannot be null - - - - - Creates a JSON response from an Exception - - - - - - - Creates a JSON response object - - The error message to display to the user (null if no error occurred) - Any extra data that needs to be passed to the client - - - - - Sets up the temporary data provider so that it won't barf with Session errors - - - - - - Serializes to a JSON string and returns it as - application/json - - - The data to serialize to a JSON string - Base for an MVC application using Unity/NHibernate @@ -582,7 +503,7 @@ Handles uncaught application exceptions; default implementation uses - and to + and to display errors The uncaught exception @@ -689,11 +610,23 @@ in a CallHandler's method invocation - + LINQifies an annoying IParameterCollection + + + Exposes an interface to apply configuration to an extension that configures + Unity using information contained in a config file + + + + + Sets the name of the Unity configuration section in the config file + + The section name + Reads the app config and applies the Unity configuration, if applicable @@ -918,5 +851,103 @@ + + + Signifies that this controller can handle errors that aren't handled by + application code + + + + + Executed when an unknown error occurs + + + + + Executed when a page is not found + + + + + Executed when the user is forbidden from seeing the requested page + + + + + Gets all model state errors as a line feed-delimited string + + + + + Creates a JSON response if an error occurred, appending all errors + to the response object + + The error message to display to the user, this value cannot be null + + + + + Creates a JSON response from an Exception + + + + + + + Creates a JSON response object + + The error message to display to the user (null if no error occurred) + Any extra data that needs to be passed to the client + + + + + Sets up the temporary data provider so that it won't barf with Session errors + + + + + + Serializes to a JSON string and returns it as + application/json + + + The data to serialize to a JSON string + + + + Controller for handling and displaying errors that aren't handled by application code + + + + The factory to use to create the action results + + + + Base class for authenticating users using the built-in + mechanism + + + + + Performs any extra logout tasks; default implementation does nothing + + + + + Performs any extra login tasks; default implementation does nothing + + The name of the user to login + + + + Performs automatic logging of method calls and returns while respecting + + + + + Truncates a string to 150 characters in a pretty way, if necessary + + diff --git a/Lib/Portoa.dll b/Lib/Portoa.dll index f3cdac70d80e3d0bdf136cca9264a6ae6b4fcc22..73ddd89ca7d7f4f182bb7d13f9907dc3c001da77 100644 GIT binary patch literal 38400 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 Fe*$#1`IrCz diff --git a/Lib/Portoa.xml b/Lib/Portoa.xml index a971ae3..d8d7d39 100644 --- a/Lib/Portoa.xml +++ b/Lib/Portoa.xml @@ -89,13 +89,37 @@ The unique identifier of this object - + Represents a domain object that can be persisted by a repository - The entity type The entity's identifier type + + + Object-to-JSON serializer backed by JSON.NET + + + + + Object-to-JSON serializer + + + + + Serializes an object to a JSON string + + The object to serialize + A JSON string representing + + + + Deserializes a JSON string into an object + + The type of object to deserialize the JSON to + The JSON string to deserialize + An object of type representing the given + Represents a search result @@ -724,16 +748,6 @@ Adds an index builder to the collection - - - Represents a service object that can start a transaction - - - - - Begins a transaction and returns the resultant - - Validates that a string is a valid email address. Set AllowEmpty to true @@ -777,5 +791,13 @@ Signifies that this object should not be logged + + + Convenience method for deserializing json when the type cannot be known + at compile-time + + The JSON string to deserialize into an object + The type of object that should be deserialized + diff --git a/Src/VideoGameQuotes.Api/Category.cs b/Src/VideoGameQuotes.Api/Category.cs index 4e4ed16..33dba70 100644 --- a/Src/VideoGameQuotes.Api/Category.cs +++ b/Src/VideoGameQuotes.Api/Category.cs @@ -3,7 +3,7 @@ using System.ComponentModel.DataAnnotations; using Portoa.Persistence; namespace VideoGameQuotes.Api { - public class Category : Entity, IDtoMappable { + public class Category : Entity, IDtoMappable { public Category() { Created = DateTime.UtcNow; } diff --git a/Src/VideoGameQuotes.Api/CriterionHandler.cs b/Src/VideoGameQuotes.Api/CriterionHandler.cs index 28728a4..3212ecf 100644 --- a/Src/VideoGameQuotes.Api/CriterionHandler.cs +++ b/Src/VideoGameQuotes.Api/CriterionHandler.cs @@ -3,7 +3,7 @@ using System.Collections.Generic; using Portoa.Persistence; namespace VideoGameQuotes.Api { - public abstract class CriterionHandler where T : Entity { + public abstract class CriterionHandler where T : Entity { public IEnumerable> HandleCriterion(IEnumerable values) { foreach (var value in values) { if (value is int) { diff --git a/Src/VideoGameQuotes.Api/Game.cs b/Src/VideoGameQuotes.Api/Game.cs index 4628633..a9d01c1 100644 --- a/Src/VideoGameQuotes.Api/Game.cs +++ b/Src/VideoGameQuotes.Api/Game.cs @@ -7,7 +7,7 @@ using JetBrains.Annotations; using Portoa.Persistence; namespace VideoGameQuotes.Api { - public class Game : Entity, IDtoMappable { + public class Game : Entity, IDtoMappable { private readonly Iesi.Collections.Generic.ISet systems = new HashedSet(); private readonly Iesi.Collections.Generic.ISet publishers = new HashedSet(); diff --git a/Src/VideoGameQuotes.Api/GamingSystem.cs b/Src/VideoGameQuotes.Api/GamingSystem.cs index a1e37fb..769aef6 100644 --- a/Src/VideoGameQuotes.Api/GamingSystem.cs +++ b/Src/VideoGameQuotes.Api/GamingSystem.cs @@ -3,7 +3,7 @@ using JetBrains.Annotations; using Portoa.Persistence; namespace VideoGameQuotes.Api { - public class GamingSystem : Entity, IDtoMappable { + public class GamingSystem : Entity, IDtoMappable { public GamingSystem() { Created = DateTime.UtcNow; } diff --git a/Src/VideoGameQuotes.Api/Publisher.cs b/Src/VideoGameQuotes.Api/Publisher.cs index 942bbd6..b47c0b2 100644 --- a/Src/VideoGameQuotes.Api/Publisher.cs +++ b/Src/VideoGameQuotes.Api/Publisher.cs @@ -3,7 +3,7 @@ using System.ComponentModel.DataAnnotations; using Portoa.Persistence; namespace VideoGameQuotes.Api { - public class Publisher : Entity, IDtoMappable { + public class Publisher : Entity, IDtoMappable { public Publisher() { Created = DateTime.UtcNow; } diff --git a/Src/VideoGameQuotes.Api/Quote.cs b/Src/VideoGameQuotes.Api/Quote.cs index 8bf62ee..eb2e6d4 100644 --- a/Src/VideoGameQuotes.Api/Quote.cs +++ b/Src/VideoGameQuotes.Api/Quote.cs @@ -8,7 +8,7 @@ using Portoa.Persistence; using Portoa.Search; namespace VideoGameQuotes.Api { - public class Quote : Entity, IDtoMappable, ISearchable { + public class Quote : Entity, IDtoMappable, ISearchable { private string text; private readonly Iesi.Collections.Generic.ISet votes = new HashedSet(); private readonly Iesi.Collections.Generic.ISet flags = new HashedSet(); diff --git a/Src/VideoGameQuotes.Api/QuoteFlag.cs b/Src/VideoGameQuotes.Api/QuoteFlag.cs index 39cb721..fa47062 100644 --- a/Src/VideoGameQuotes.Api/QuoteFlag.cs +++ b/Src/VideoGameQuotes.Api/QuoteFlag.cs @@ -2,7 +2,7 @@ using Portoa.Persistence; namespace VideoGameQuotes.Api { - public class QuoteFlag : Entity { + public class QuoteFlag : Entity { public QuoteFlag() { Created = DateTime.UtcNow; Type = QuoteFlagType.Other; diff --git a/Src/VideoGameQuotes.Api/Region.cs b/Src/VideoGameQuotes.Api/Region.cs index 19adb0b..dada1ce 100644 --- a/Src/VideoGameQuotes.Api/Region.cs +++ b/Src/VideoGameQuotes.Api/Region.cs @@ -11,6 +11,7 @@ namespace VideoGameQuotes.Api { Japan = 2, Europe = 4, PAL = 8, - Australia = 16 + Australia = 16, + Korea = 32 } } \ No newline at end of file diff --git a/Src/VideoGameQuotes.Api/User.cs b/Src/VideoGameQuotes.Api/User.cs index dc1858b..528bab8 100644 --- a/Src/VideoGameQuotes.Api/User.cs +++ b/Src/VideoGameQuotes.Api/User.cs @@ -4,7 +4,7 @@ using Portoa.Persistence; using Portoa.Security; namespace VideoGameQuotes.Api { - public class User : Entity, IPasswordProtected { + public class User : Entity, IPasswordProtected { private readonly IPasswordProtected passwordProtector = new NullAllowingPasswordProtector(); public User() { diff --git a/Src/VideoGameQuotes.Api/Vote.cs b/Src/VideoGameQuotes.Api/Vote.cs index 6c13b85..652d161 100644 --- a/Src/VideoGameQuotes.Api/Vote.cs +++ b/Src/VideoGameQuotes.Api/Vote.cs @@ -2,7 +2,7 @@ using Portoa.Persistence; namespace VideoGameQuotes.Api { - public class Vote : Entity, IDtoMappable { + public class Vote : Entity, IDtoMappable { public Vote() { Created = DateTime.UtcNow; } diff --git a/Src/VideoGameQuotes.Web/Controllers/ApiController.cs b/Src/VideoGameQuotes.Web/Controllers/ApiController.cs index 990e505..c995039 100644 --- a/Src/VideoGameQuotes.Web/Controllers/ApiController.cs +++ b/Src/VideoGameQuotes.Web/Controllers/ApiController.cs @@ -6,6 +6,7 @@ using System.Web.Mvc; using Portoa.Persistence; using Portoa.Web.Controllers; using Portoa.Web.Results; +using Portoa.Web.Util; using VideoGameQuotes.Api; using VideoGameQuotes.Web.Models; @@ -52,7 +53,7 @@ namespace VideoGameQuotes.Web.Controllers { this.quoteRepository = quoteRepository; } - private static IEnumerable SetSortMethod(IEnumerable records, SortMethod sortMethod, SortOrder sortOrder, Func propertySelector) where T : Entity { + private static IEnumerable SetSortMethod(IEnumerable records, SortMethod sortMethod, SortOrder sortOrder, Func propertySelector) where T : Entity { switch (sortMethod) { case SortMethod.Alphabetical: return sortOrder == SortOrder.Descending ? records.OrderByDescending(propertySelector) : records.OrderBy(propertySelector); @@ -70,7 +71,7 @@ namespace VideoGameQuotes.Web.Controllers { IDictionary> criterionHandlers ) - where T : Entity + where T : Entity where TDto : new() { IEnumerable records; if (model.FetchAll) { diff --git a/Src/VideoGameQuotes.Web/Controllers/CategoryController.cs b/Src/VideoGameQuotes.Web/Controllers/CategoryController.cs index 0f936c6..cab1b02 100644 --- a/Src/VideoGameQuotes.Web/Controllers/CategoryController.cs +++ b/Src/VideoGameQuotes.Web/Controllers/CategoryController.cs @@ -1,6 +1,7 @@ using System.Web.Mvc; using Portoa.Persistence; using Portoa.Web.Controllers; +using Portoa.Web.Util; using VideoGameQuotes.Api; using VideoGameQuotes.Web.Models; using VideoGameQuotes.Web.Security; diff --git a/Src/VideoGameQuotes.Web/Controllers/GameController.cs b/Src/VideoGameQuotes.Web/Controllers/GameController.cs index 8af9c45..8f3761f 100644 --- a/Src/VideoGameQuotes.Web/Controllers/GameController.cs +++ b/Src/VideoGameQuotes.Web/Controllers/GameController.cs @@ -5,6 +5,7 @@ using Portoa.Persistence; using Portoa.Util; using Portoa.Web.Controllers; using Portoa.Web.Security; +using Portoa.Web.Util; using VideoGameQuotes.Api; using VideoGameQuotes.Web.Models; using VideoGameQuotes.Web.Security; diff --git a/Src/VideoGameQuotes.Web/Controllers/HomeController.cs b/Src/VideoGameQuotes.Web/Controllers/HomeController.cs index cfc978c..d449fbd 100644 --- a/Src/VideoGameQuotes.Web/Controllers/HomeController.cs +++ b/Src/VideoGameQuotes.Web/Controllers/HomeController.cs @@ -7,6 +7,7 @@ using System.Web.Mvc; using Portoa.Web.Controllers; using Portoa.Web.Filters; using Portoa.Web.Security; +using Portoa.Web.Util; using VideoGameQuotes.Api; using VideoGameQuotes.Web.Models; diff --git a/Src/VideoGameQuotes.Web/Controllers/PublisherController.cs b/Src/VideoGameQuotes.Web/Controllers/PublisherController.cs index d4c25b4..deb4f85 100644 --- a/Src/VideoGameQuotes.Web/Controllers/PublisherController.cs +++ b/Src/VideoGameQuotes.Web/Controllers/PublisherController.cs @@ -3,6 +3,7 @@ using System.Web.Mvc; using Portoa.Persistence; using Portoa.Util; using Portoa.Web.Controllers; +using Portoa.Web.Util; using VideoGameQuotes.Api; using VideoGameQuotes.Web.Models; using VideoGameQuotes.Web.Security; diff --git a/Src/VideoGameQuotes.Web/Controllers/QuoteController.cs b/Src/VideoGameQuotes.Web/Controllers/QuoteController.cs index d623c59..6dfcd7a 100644 --- a/Src/VideoGameQuotes.Web/Controllers/QuoteController.cs +++ b/Src/VideoGameQuotes.Web/Controllers/QuoteController.cs @@ -5,11 +5,11 @@ using System.Web.Mvc; using Portoa.Persistence; using Portoa.Search; using Portoa.Validation.DataAnnotations; -using Portoa.Web.Controllers; using Portoa.Web.Filters; using Portoa.Web.Models; using Portoa.Web.Results; using Portoa.Web.Security; +using Portoa.Web.Util; using VideoGameQuotes.Api; using VideoGameQuotes.Web.Models; using VideoGameQuotes.Web.Security; diff --git a/Src/VideoGameQuotes.Web/Controllers/SystemController.cs b/Src/VideoGameQuotes.Web/Controllers/SystemController.cs index e145cf2..40c97f4 100644 --- a/Src/VideoGameQuotes.Web/Controllers/SystemController.cs +++ b/Src/VideoGameQuotes.Web/Controllers/SystemController.cs @@ -3,7 +3,7 @@ using System.Linq; using System.Web.Mvc; using Portoa.Persistence; using Portoa.Util; -using Portoa.Web.Controllers; +using Portoa.Web.Util; using VideoGameQuotes.Api; using VideoGameQuotes.Web.Models; using VideoGameQuotes.Web.Security; diff --git a/Src/VideoGameQuotes.Web/Controllers/UserController.cs b/Src/VideoGameQuotes.Web/Controllers/UserController.cs index 88e8814..45050a4 100644 --- a/Src/VideoGameQuotes.Web/Controllers/UserController.cs +++ b/Src/VideoGameQuotes.Web/Controllers/UserController.cs @@ -2,15 +2,14 @@ using System.Net; using System.Web.Mvc; using Portoa.Persistence; -using Portoa.Web.Controllers; using Portoa.Web.Results; +using Portoa.Web.Util; using VideoGameQuotes.Api; using VideoGameQuotes.Api.Persistence; using VideoGameQuotes.Web.Models; using VideoGameQuotes.Web.Security; namespace VideoGameQuotes.Web.Controllers { - public class UserController : Controller { private readonly IUserService userService; diff --git a/Src/VideoGameQuotes.Web/media/css/vgquotes.css b/Src/VideoGameQuotes.Web/media/css/vgquotes.css index 5bf0c76..e1b8b12 100644 --- a/Src/VideoGameQuotes.Web/media/css/vgquotes.css +++ b/Src/VideoGameQuotes.Web/media/css/vgquotes.css @@ -511,6 +511,7 @@ a.external { .quote-categories li { float: left; margin-right: 2px; + margin-bottom: 2px; } .quote-details-created {